src/document.h

changeset 200
ca23936b455b
parent 198
eb9d900dc79a
child 203
1909a0123c72
equal deleted inserted replaced
199:6988973515d2 200:ca23936b455b
21 #include <QWidget> 21 #include <QWidget>
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 #include "edithistory.h"
27 26
28 class Document : public QWidget 27 class EditorTabWidget : public QWidget
29 { 28 {
30 Q_OBJECT 29 Q_OBJECT
31 public: 30 public:
32 explicit Document( 31 explicit EditorTabWidget(
33 Model* model, 32 Model* model,
34 DocumentManager* documents, 33 DocumentManager* documents,
35 const ldraw::ColorTable& colorTable, 34 const ldraw::ColorTable& colorTable,
36 QWidget *parent = nullptr); 35 QWidget *parent = nullptr);
37 ~Document() override; 36 ~EditorTabWidget() override;
38 QByteArray saveSplitterState() const; 37 QByteArray saveSplitterState() const;
39 void restoreSplitterState(const QByteArray& state); 38 void restoreSplitterState(const QByteArray& state);
40 std::unique_ptr<ModelEditor> editModel();
41 void applyToVertices(VertexMap::ApplyFunction fn) const; 39 void applyToVertices(VertexMap::ApplyFunction fn) const;
42 const Model& getModel() const; 40 const QSet<ModelId> selectedObjects() const;
43 const QSet<ldraw::id_t> selectedObjects() const;
44 const ldraw::ColorTable& colorTable; 41 const ldraw::ColorTable& colorTable;
45 Canvas* const canvas; 42 Canvas* const canvas;
43 Model* const model;
46 Q_SLOT void editingModeTriggered(); 44 Q_SLOT void editingModeTriggered();
47 Q_SLOT void canvasMouseClick(QMouseEvent* event); 45 Q_SLOT void canvasMouseClick(QMouseEvent* event);
48 Q_SLOT void canvasMouseMove(QMouseEvent* event); 46 Q_SLOT void canvasMouseMove(QMouseEvent* event);
49 void select(const QSet<ldraw::id_t> &selected); 47 void select(const QSet<ModelId> &selected);
50 DrawState drawState;
51 Q_SIGNALS: 48 Q_SIGNALS:
52 void newStatusText(const QString& newStatusText); 49 void newStatusText(const QString& newStatusText);
53 void splitterChanged(); 50 void splitterChanged();
54 private: 51 private:
55 void initializeTools(); 52 void initializeTools();
56 void closeShape(); 53 void closeShape();
57 Model* model; 54 DrawState drawState;
58 DocumentManager* const documents; 55 DocumentManager* const documents;
59 VertexMap vertexMap; 56 VertexMap vertexMap;
60 class Ui_Document& ui; 57 class Ui_Document& ui;
61 QToolBar* toolsBar; 58 QToolBar* toolsBar;
62 std::vector<QAction*> toolActions; 59 std::vector<QAction*> toolActions;
63 class ObjectEditor* objectEditor;
64 /**
65 * @brief History information of edits to this model
66 */
67 // EditHistory editHistory;
68 }; 60 };

mercurial