StateMimeData.h
Go to the documentation of this file.
1/*
2* This file is part of ArmarX.
3*
4* ArmarX is free software; you can redistribute it and/or modify
5* it under the terms of the GNU General Public License version 2 as
6* published by the Free Software Foundation.
7*
8* ArmarX is distributed in the hope that it will be useful, but
9* WITHOUT ANY WARRANTY; without even the implied warranty of
10* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11* GNU General Public License for more details.
12*
13* You should have received a copy of the GNU General Public License
14* along with this program. If not, see <http://www.gnu.org/licenses/>.
15*
16* @package ArmarX::
17* @author Mirko Waechter ( mirko.waechter at kit dot edu)
18* @date 2014
19* @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20* GNU General Public License
21*/
22
23#pragma once
24
25#include <QMimeData>
26
27#include "State.h"
28
29namespace armarx
30{
31 /**
32 * @brief The AbstractStateMimeData class is used to transport state data from
33 * the treeview to the stateview and is implemented in the editor plugin.
34 * isInSameGroup is abstract because it can only be implemented in the editor plugin,
35 * because the states do not know anything about statechart groups.
36 */
37 class AbstractStateMimeData : public QMimeData
38 {
39 Q_OBJECT
40 public:
42
43 // QMimeData interface
44
45 bool hasFormat(const QString& mimetype) const override;
46 QStringList formats() const override;
47
49 void setState(const statechartmodel::StatePtr& value);
50
51 const QString& getProxyName() const;
52 void setProxyName(const QString& value);
54 virtual bool isPublic() const = 0;
55
56 protected:
57 QVariant retrieveData(const QString& mimetype, QVariant::Type preferredType) const override;
59 QString proxyName;
60 };
61
62} // namespace armarx
virtual bool isPublic() const =0
bool hasFormat(const QString &mimetype) const override
QStringList formats() const override
statechartmodel::StatePtr getState() const
virtual bool isInSameGroup(statechartmodel::StatePtr state) const =0
void setProxyName(const QString &value)
AbstractStateMimeData(statechartmodel::StatePtr state)
const QString & getProxyName() const
QVariant retrieveData(const QString &mimetype, QVariant::Type preferredType) const override
void setState(const statechartmodel::StatePtr &value)
statechartmodel::StatePtr state
std::shared_ptr< State > StatePtr
Definition State.h:48
This file offers overloads of toIce() and fromIce() functions for STL container types.