refactor: Introduce SketchTool base class and derived tool skeletons

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-17 10:18:36 -07:00
parent e64755ea0c
commit 3e2f464de9
7 changed files with 209 additions and 4 deletions

50
src/RectangleTool.cpp Normal file
View File

@@ -0,0 +1,50 @@
#include "RectangleTool.h"
#include "ViewportWidget.h"
#include <QMouseEvent>
#include <QKeyEvent>
#include <QPainter>
RectangleTool::RectangleTool(ViewportWidget* viewport)
: SketchTool(viewport)
{
}
void RectangleTool::activate()
{
m_isDefiningRectangle = false;
m_viewport->setProperty("widthInput", "");
m_viewport->setProperty("heightInput", "");
m_viewport->setProperty("dimensionEditMode", "height");
}
void RectangleTool::deactivate()
{
m_isDefiningRectangle = false;
m_viewport->setProperty("widthInput", "");
m_viewport->setProperty("heightInput", "");
}
void RectangleTool::mousePressEvent(QMouseEvent *event)
{
// To be implemented
}
void RectangleTool::mouseMoveEvent(QMouseEvent *event)
{
// To be implemented
}
void RectangleTool::keyPressEvent(QKeyEvent *event)
{
// To be implemented
}
void RectangleTool::paintGL()
{
// To be implemented
}
void RectangleTool::paint2D(QPainter& painter, const QMatrix4x4& modelView, const QMatrix4x4& projection)
{
// To be implemented
}