src/document.h

changeset 204
52e10e8d88cc
parent 203
1909a0123c72
child 205
1a4342d80de7
equal deleted inserted replaced
203:1909a0123c72 204:52e10e8d88cc
22 #include <QToolBar> 22 #include <QToolBar>
23 #include "ui/canvas.h" 23 #include "ui/canvas.h"
24 #include "model.h" 24 #include "model.h"
25 #include "vertexmap.h" 25 #include "vertexmap.h"
26 26
27 struct AppendToModel
28 {
29 ModelElement newElement;
30 };
31
32 struct DeleteFromModel
33 {
34 int position;
35 };
36
37 using ModelAction = std::variant<AppendToModel, DeleteFromModel>;
38
39 Q_DECLARE_METATYPE(ModelAction)
40
27 class EditorTabWidget : public QWidget 41 class EditorTabWidget : public QWidget
28 { 42 {
29 Q_OBJECT 43 Q_OBJECT
30 public: 44 public:
31 explicit EditorTabWidget( 45 explicit EditorTabWidget(
44 Q_SLOT void canvasMouseClick(QMouseEvent* event); 58 Q_SLOT void canvasMouseClick(QMouseEvent* event);
45 Q_SLOT void canvasMouseMove(QMouseEvent* event); 59 Q_SLOT void canvasMouseMove(QMouseEvent* event);
46 Q_SIGNALS: 60 Q_SIGNALS:
47 void newStatusText(const QString& newStatusText); 61 void newStatusText(const QString& newStatusText);
48 void splitterChanged(); 62 void splitterChanged();
63 void modelAction(const ModelAction& action);
49 private: 64 private:
50 void closeShape(); 65 void closeShape();
51 DrawState drawState; 66 DrawState drawState;
52 DocumentManager* const documents;
53 VertexMap vertexMap; 67 VertexMap vertexMap;
54 }; 68 };

mercurial