aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2011-06-27 17:53:36 +0200
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2011-06-27 17:54:13 +0200
commitdde8ef0c711f6784107a97ae6e8b34f7530c6d24 (patch)
tree13dd23ac07511fdd5a8e966b6204187ec8af748c /src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
parent51d5e232cf5b79782dac6b88c1ce938e2a11e6df (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.h90
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