diff -r f9f308c8e0c5 -r f127982d3412 src/document.h --- a/src/document.h Sun Aug 29 20:05:24 2021 +0300 +++ b/src/document.h Sun Aug 29 20:39:55 2021 +0300 @@ -19,6 +19,7 @@ #pragma once #include #include +#include #include "ui/canvas.h" #include "ui/objecteditor.h" #include "model.h" @@ -45,6 +46,7 @@ void setCanvasOverpaintCallback(Canvas::OverpaintCallback fn); Model::EditContext editModel(); void applyToVertices(VertexMap::ApplyFunction fn) const; + void handleKeyPress(QKeyEvent* event); Q_SIGNALS: void newStatusText(const QString& newStatusText); void splitterChanged(); @@ -52,6 +54,9 @@ void mouseMove(Document* document, Canvas* canvas, QMouseEvent* event); private: void selectionChanged(const QSet& newSelection); + void initializeTools(); + Q_SLOT void toolActionTriggered(); + void selectTool(class BaseTool* tool); Model* model; DocumentManager* const documents; const ldraw::ColorTable& colorTable; @@ -59,4 +64,8 @@ Canvas* renderer; Ui::Document& ui; ObjectEditor objectEditor; + QToolBar* toolsBar; + QVector tools; + BaseTool* selectedTool = nullptr; + QMap toolActions; };