Refactor: Abstract dimension input and finalize creation logic to SketchTool

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-17 14:58:02 -07:00
parent d66f7aaf56
commit e1327b2caa
6 changed files with 243 additions and 269 deletions

View File

@@ -2,6 +2,8 @@
#define SKETCHTOOL_H
#include <QObject>
#include <QStringList>
#include <QMap>
class QMouseEvent;
class QKeyEvent;
@@ -19,7 +21,7 @@ public:
virtual void mousePressEvent(QMouseEvent *event) = 0;
virtual void mouseMoveEvent(QMouseEvent *event) = 0;
virtual void keyPressEvent(QKeyEvent *event) = 0;
virtual void keyPressEvent(QKeyEvent *event);
virtual void paintGL() = 0;
virtual void paint2D(QPainter& painter, const QMatrix4x4& modelView, const QMatrix4x4& projection) = 0;
@@ -28,7 +30,11 @@ public:
virtual void deactivate();
protected:
virtual void finalizeCreation() = 0;
ViewportWidget* m_viewport;
bool m_isDefining = false;
QStringList m_dimensionModes;
QMap<QString, QString> m_dimensionPropertyNames;
};
#endif // SKETCHTOOL_H