Measure: Fix quick measure

* Create QuickMeasure in C++ instead of Python to avoid that it will be garbage collected
* Handle exceptions in case of invalid selections
* Refactor QuickMeasure class
* Fix linter warnings
This commit is contained in:
wmayer
2024-05-10 21:38:41 +02:00
committed by Chris Hennes
parent c05111cb59
commit c16a4e034d
4 changed files with 54 additions and 27 deletions

View File

@@ -20,7 +20,9 @@
**************************************************************************/
#include "PreCompiled.h"
#ifndef _PreComp_
#include <QApplication>
#endif
#include <Base/Console.h>
#include <Base/Interpreter.h>
#include <Base/PyObjectBase.h>
@@ -71,7 +73,7 @@ PyMOD_INIT_FUNC(MeasureGui)
PyErr_SetString(PyExc_ImportError, "Cannot load Gui module in console application.");
PyMOD_Return(nullptr);
}
// load dependent module
try {
Base::Interpreter().loadModule("Measure");
@@ -97,7 +99,11 @@ PyMOD_INIT_FUNC(MeasureGui)
// Q_INIT_RESOURCE(Measure);
Base::Interpreter().addType(&MeasureGui::QuickMeasurePy::Type, mod, "QuickMeasure");
Base::Interpreter().addType(&MeasureGui::QuickMeasurePy::Type, mod, "QuickMeasure");
// Create a QuickMeasure instance
auto measure = new MeasureGui::QuickMeasure(QApplication::instance());
Q_UNUSED(measure)
PyMOD_Return(mod);
}