diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-06-27 17:53:36 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-06-27 17:54:13 +0200 |
commit | dde8ef0c711f6784107a97ae6e8b34f7530c6d24 (patch) | |
tree | 13dd23ac07511fdd5a8e966b6204187ec8af748c /src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h | |
parent | 51d5e232cf5b79782dac6b88c1ce938e2a11e6df (diff) |
QmlDesigner.model: adding generic context menu in QmlModelView
Change-Id: I210199ecb26db65416ff147da2f12aa5e775d3fd
Reviewed-on: http://codereview.qt.nokia.com/789
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Diffstat (limited to 'src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h')
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h b/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h new file mode 100644 index 0000000000..f333745f87 --- /dev/null +++ b/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h @@ -0,0 +1,90 @@ +#ifndef MODELNODECONTEXTMENU_H +#define MODELNODECONTEXTMENU_H + +#include <QObject> +#include <QPoint> +#include <QAction> +#include <QMenu> +#include <qmlmodelview.h> + +namespace QmlDesigner { + +class ModelNodeAction : public QAction +{ + Q_OBJECT +public: + enum ModelNodeActionType { + SelectModelNode, + DeSelectModelNode, + CutSelection, + CopySelection, + DeleteSelection, + ToFront, + ToBack, + Raise, + Lower, + Paste, + Undo, + Redo, + ModelNodeVisibility, + ResetSize, + ResetPosition, + EnterComponent, + SetId, + ResetZ + }; + + + ModelNodeAction( const QString & text, QObject *parent, QmlModelView *view, const QList<ModelNode> &modelNodeList, ModelNodeActionType type); + +public slots: + void actionTriggered(bool); + +private: + void select(); + void deSelect(); + void cut(); + void copy(); + void deleteSelection(); + void toFront(); + void toBack(); + void raise(); + void lower(); + void paste(); + void undo(); + void redo(); + void setVisible(bool); + void resetSize(); + void resetPosition(); + void enterComponent(); + void setId(); + void resetZ(); + + QmlModelView *m_view; + QList<ModelNode> m_modelNodeList; + ModelNodeActionType m_type; +}; + +class ModelNodeContextMenu +{ +public: + ModelNodeContextMenu(QmlModelView *view); + void execute(const QPoint &pos, bool selecetionMenu); + void setScenePos(const QPoint &pos); + +signals: + +public slots: + +private: + ModelNodeAction* createModelNodeAction(const QString &description, QMenu *menu, const QList<ModelNode> &modelNodeList, ModelNodeAction::ModelNodeActionType type, bool enabled = true); + + QmlModelView *m_view; + QPoint m_scenePos; + +}; + + +}; + +#endif // MODELNODECONTEXTMENU_H |