src/document.h

changeset 125
f127982d3412
parent 121
000781318c36
child 126
a7c720aff97c
equal deleted inserted replaced
124:f9f308c8e0c5 125:f127982d3412
17 */ 17 */
18 18
19 #pragma once 19 #pragma once
20 #include <memory> 20 #include <memory>
21 #include <QWidget> 21 #include <QWidget>
22 #include <QToolBar>
22 #include "ui/canvas.h" 23 #include "ui/canvas.h"
23 #include "ui/objecteditor.h" 24 #include "ui/objecteditor.h"
24 #include "model.h" 25 #include "model.h"
25 #include "vertexmap.h" 26 #include "vertexmap.h"
26 27
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 };

mercurial