diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.cpp b/src/Mod/Fem/Gui/TaskPostBoxes.cpp index d28272e542..96a5deb369 100644 --- a/src/Mod/Fem/Gui/TaskPostBoxes.cpp +++ b/src/Mod/Fem/Gui/TaskPostBoxes.cpp @@ -332,10 +332,10 @@ void TaskPostBox::updateEnumerationList(App::PropertyEnumeration& prop, QComboBo // post pipeline results TaskPostDisplay::TaskPostDisplay(Gui::ViewProviderDocumentObject* view, QWidget* parent) : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_ResultShow"), tr("Result display options"), parent) + , ui(new Ui_TaskPostDisplay) { //we need a separate container widget to add all controls to proxy = new QWidget(this); - ui = new Ui_TaskPostDisplay(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); @@ -355,7 +355,6 @@ TaskPostDisplay::TaskPostDisplay(Gui::ViewProviderDocumentObject* view, QWidget* TaskPostDisplay::~TaskPostDisplay() { - delete ui; } void TaskPostDisplay::on_Representation_activated(int i) { @@ -388,7 +387,9 @@ void TaskPostDisplay::applyPythonCode() { // *************************************************************************** // ? // the icon fem-post-geo-plane might be wrong but I do not know any better since the plane is one of the implicit functions -TaskPostFunction::TaskPostFunction(ViewProviderDocumentObject* view, QWidget* parent) : TaskPostBox(view, Gui::BitmapFactory().pixmap("fem-post-geo-plane"), tr("Implicit function"), parent) { +TaskPostFunction::TaskPostFunction(ViewProviderDocumentObject* view, QWidget* parent) + : TaskPostBox(view, Gui::BitmapFactory().pixmap("fem-post-geo-plane"), tr("Implicit function"), parent) +{ assert(view->isDerivedFrom(ViewProviderFemPostFunction::getClassTypeId())); @@ -412,7 +413,9 @@ void TaskPostFunction::applyPythonCode() { // *************************************************************************** // region clip filter TaskPostClip::TaskPostClip(ViewProviderDocumentObject* view, App::PropertyLink* function, QWidget* parent) - : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterClipRegion"), tr("Clip region, choose implicit function"), parent) { + : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterClipRegion"), tr("Clip region, choose implicit function"), parent) + , ui(new Ui_TaskPostClip) +{ assert(view->isDerivedFrom(ViewProviderFemPostClip::getClassTypeId())); assert(function); @@ -422,7 +425,6 @@ TaskPostClip::TaskPostClip(ViewProviderDocumentObject* view, App::PropertyLink* //we load the views widget proxy = new QWidget(this); - ui = new Ui_TaskPostClip(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); this->groupLayout()->addWidget(proxy); @@ -552,13 +554,14 @@ void TaskPostClip::on_InsideOut_toggled(bool val) { // *************************************************************************** // data along a line TaskPostDataAlongLine::TaskPostDataAlongLine(ViewProviderDocumentObject* view, QWidget* parent) - : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterDataAlongLine"), tr("Data along a line options"), parent) { + : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterDataAlongLine"), tr("Data along a line options"), parent) + , ui(new Ui_TaskPostDataAlongLine) +{ assert(view->isDerivedFrom(ViewProviderFemPostDataAlongLine::getClassTypeId())); //we load the views widget proxy = new QWidget(this); - ui = new Ui_TaskPostDataAlongLine(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); @@ -836,13 +839,14 @@ plt.show()\n"; // *************************************************************************** // data at point TaskPostDataAtPoint::TaskPostDataAtPoint(ViewProviderDocumentObject* view, QWidget* parent) - : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterDataAtPoint"), tr("Data at point options"), parent) { + : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterDataAtPoint"), tr("Data at point options"), parent) + , ui(new Ui_TaskPostDataAtPoint) +{ assert(view->isDerivedFrom(ViewProviderFemPostDataAtPoint::getClassTypeId())); //we load the views widget proxy = new QWidget(this); - ui = new Ui_TaskPostDataAtPoint(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); @@ -1071,13 +1075,14 @@ void TaskPostDataAtPoint::on_Field_activated(int i) { // *************************************************************************** // scalar clip filter TaskPostScalarClip::TaskPostScalarClip(ViewProviderDocumentObject* view, QWidget* parent) : - TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterClipScalar"), tr("Scalar clip options"), parent) { + TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterClipScalar"), tr("Scalar clip options"), parent) + , ui(new Ui_TaskPostScalarClip) +{ assert(view->isDerivedFrom(ViewProviderFemPostScalarClip::getClassTypeId())); //we load the views widget proxy = new QWidget(this); - ui = new Ui_TaskPostScalarClip(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); this->groupLayout()->addWidget(proxy); @@ -1180,13 +1185,14 @@ void TaskPostScalarClip::on_InsideOut_toggled(bool val) { // spinbox min, slider, spinbox max // spinbox warp factor TaskPostWarpVector::TaskPostWarpVector(ViewProviderDocumentObject* view, QWidget* parent) : - TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterWarp"), tr("Warp options"), parent) { + TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterWarp"), tr("Warp options"), parent) + , ui(new Ui_TaskPostWarpVector) +{ assert(view->isDerivedFrom(ViewProviderFemPostWarpVector::getClassTypeId())); // we load the views widget proxy = new QWidget(this); - ui = new Ui_TaskPostWarpVector(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); this->groupLayout()->addWidget(proxy); @@ -1322,7 +1328,9 @@ void TaskPostWarpVector::on_Min_valueChanged(double) { // *************************************************************************** // function clip filter TaskPostCut::TaskPostCut(ViewProviderDocumentObject* view, App::PropertyLink* function, QWidget* parent) - : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterCutFunction"), tr("Function cut, choose implicit function"), parent) { + : TaskPostBox(view, Gui::BitmapFactory().pixmap("FEM_PostFilterCutFunction"), tr("Function cut, choose implicit function"), parent) + , ui(new Ui_TaskPostCut) +{ assert(view->isDerivedFrom(ViewProviderFemPostCut::getClassTypeId())); assert(function); @@ -1332,7 +1340,6 @@ TaskPostCut::TaskPostCut(ViewProviderDocumentObject* view, App::PropertyLink* fu //we load the views widget proxy = new QWidget(this); - ui = new Ui_TaskPostCut(); ui->setupUi(proxy); QMetaObject::connectSlotsByName(this); this->groupLayout()->addWidget(proxy); diff --git a/src/Mod/Fem/Gui/TaskPostBoxes.h b/src/Mod/Fem/Gui/TaskPostBoxes.h index df0b0d3758..768b9b8b29 100644 --- a/src/Mod/Fem/Gui/TaskPostBoxes.h +++ b/src/Mod/Fem/Gui/TaskPostBoxes.h @@ -76,6 +76,7 @@ private: std::string ObjectInvisible(); }; + class FemGuiExport ViewProviderPointMarker : public Gui::ViewProviderDocumentObject { PROPERTY_HEADER(FemGui::ViewProviderPointMarker); @@ -89,6 +90,7 @@ protected: friend class PointMarker; }; + class ViewProviderDataMarker; class DataMarker : public QObject { @@ -114,6 +116,7 @@ private: std::string ObjectInvisible(); }; + class FemGuiExport ViewProviderDataMarker : public Gui::ViewProviderDocumentObject { PROPERTY_HEADER(FemGui::ViewProviderDataMarker); @@ -157,6 +160,7 @@ private: Gui::ViewProviderDocumentObject* m_view; }; + /// simulation dialog for the TaskView class TaskDlgPost : public Gui::TaskView::TaskDialog { @@ -192,6 +196,7 @@ protected: std::vector m_boxes; }; + class TaskPostDisplay : public TaskPostBox { Q_OBJECT @@ -211,9 +216,10 @@ private Q_SLOTS: private: QWidget* proxy; - Ui_TaskPostDisplay* ui; + std::unique_ptr ui; }; + class TaskPostFunction : public TaskPostBox { Q_OBJECT @@ -225,6 +231,7 @@ public: virtual void applyPythonCode(); }; + class TaskPostClip : public TaskPostBox { Q_OBJECT @@ -246,10 +253,11 @@ private: //App::PropertyLink* m_functionProperty; QWidget* proxy; - Ui_TaskPostClip* ui; + std::unique_ptr ui; FunctionWidget* fwidget; }; + class TaskPostDataAlongLine: public TaskPostBox { Q_OBJECT @@ -277,9 +285,10 @@ private: std::string Plot(); std::string ObjectVisible(); QWidget* proxy; - Ui_TaskPostDataAlongLine* ui; + std::unique_ptr ui; }; + class TaskPostDataAtPoint: public TaskPostBox { Q_OBJECT @@ -301,9 +310,10 @@ private Q_SLOTS: private: std::string ObjectVisible(); QWidget* proxy; - Ui_TaskPostDataAtPoint* ui; + std::unique_ptr ui; }; + class TaskPostScalarClip : public TaskPostBox { Q_OBJECT @@ -322,9 +332,10 @@ private Q_SLOTS: private: QWidget* proxy; - Ui_TaskPostScalarClip* ui; + std::unique_ptr ui; }; + class TaskPostWarpVector : public TaskPostBox { Q_OBJECT @@ -344,11 +355,10 @@ private Q_SLOTS: private: QWidget* proxy; - Ui_TaskPostWarpVector* ui; + std::unique_ptr ui; }; - class TaskPostCut : public TaskPostBox { Q_OBJECT @@ -368,7 +378,7 @@ private: //App::PropertyLink* m_functionProperty; QWidget* proxy; - Ui_TaskPostCut* ui; + std::unique_ptr ui; FunctionWidget* fwidget; };