refactor: Manage active sketch state in ApplicationController

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-13 17:30:36 -07:00
parent fa5852b8db
commit 1ded863b10
2 changed files with 12 additions and 0 deletions

View File

@@ -35,8 +35,14 @@ Document* ApplicationController::document() const
return m_document;
}
SketchFeature* ApplicationController::activeSketch() const
{
return m_activeSketch;
}
void ApplicationController::newDocument()
{
m_activeSketch = nullptr;
m_document->clear();
setCurrentFile(QString());
}
@@ -51,6 +57,7 @@ bool ApplicationController::openDocument()
return false;
}
setCurrentFile(fileName);
m_activeSketch = nullptr;
return true;
}
return false;
@@ -93,6 +100,7 @@ void ApplicationController::beginSketchCreation()
"Plane:", items, 0, false, &ok);
if (ok && !item.isEmpty()) {
auto feature = new SketchFeature("Sketch");
m_activeSketch = feature;
ViewportWidget::SketchPlane plane;
if (item == "XY-Plane") {
plane = ViewportWidget::SketchPlane::XY;
@@ -111,6 +119,7 @@ void ApplicationController::beginSketchCreation()
void ApplicationController::endSketch()
{
m_activeSketch = nullptr;
emit sketchModeEnded();
}