43 void restoreSplitterState(const QByteArray& state); |
44 void restoreSplitterState(const QByteArray& state); |
44 void setRenderPreferences(const gl::RenderPreferences& newPreferences); |
45 void setRenderPreferences(const gl::RenderPreferences& newPreferences); |
45 void setCanvasOverpaintCallback(Canvas::OverpaintCallback fn); |
46 void setCanvasOverpaintCallback(Canvas::OverpaintCallback fn); |
46 Model::EditContext editModel(); |
47 Model::EditContext editModel(); |
47 void applyToVertices(VertexMap::ApplyFunction fn) const; |
48 void applyToVertices(VertexMap::ApplyFunction fn) const; |
|
49 void handleKeyPress(QKeyEvent* event); |
48 Q_SIGNALS: |
50 Q_SIGNALS: |
49 void newStatusText(const QString& newStatusText); |
51 void newStatusText(const QString& newStatusText); |
50 void splitterChanged(); |
52 void splitterChanged(); |
51 void mouseClick(Document* document, Canvas* canvas, QMouseEvent* event); |
53 void mouseClick(Document* document, Canvas* canvas, QMouseEvent* event); |
52 void mouseMove(Document* document, Canvas* canvas, QMouseEvent* event); |
54 void mouseMove(Document* document, Canvas* canvas, QMouseEvent* event); |
53 private: |
55 private: |
54 void selectionChanged(const QSet<ldraw::id_t>& newSelection); |
56 void selectionChanged(const QSet<ldraw::id_t>& newSelection); |
|
57 void initializeTools(); |
|
58 Q_SLOT void toolActionTriggered(); |
|
59 void selectTool(class BaseTool* tool); |
55 Model* model; |
60 Model* model; |
56 DocumentManager* const documents; |
61 DocumentManager* const documents; |
57 const ldraw::ColorTable& colorTable; |
62 const ldraw::ColorTable& colorTable; |
58 VertexMap vertexMap; |
63 VertexMap vertexMap; |
59 Canvas* renderer; |
64 Canvas* renderer; |
60 Ui::Document& ui; |
65 Ui::Document& ui; |
61 ObjectEditor objectEditor; |
66 ObjectEditor objectEditor; |
|
67 QToolBar* toolsBar; |
|
68 QVector<class BaseTool*> tools; |
|
69 BaseTool* selectedTool = nullptr; |
|
70 QMap<BaseTool*, QAction*> toolActions; |
62 }; |
71 }; |