From dbc91b393c2c96c6ed9302841f73919b4c5986ae Mon Sep 17 00:00:00 2001 From: mwganson Date: Sun, 20 Oct 2024 03:16:45 +0000 Subject: [PATCH] [PartDesign Groove/Revolution] minor dialog improvements, addresses issue #13298 --- src/Mod/PartDesign/App/FeatureGroove.cpp | 4 +-- src/Mod/PartDesign/App/FeatureRevolution.cpp | 7 ++-- .../Gui/TaskRevolutionParameters.cpp | 18 +++++++--- .../PartDesign/Gui/TaskRevolutionParameters.h | 14 ++++++-- .../Gui/TaskRevolutionParameters.ui | 34 +++++++++---------- src/Mod/PartDesign/Gui/ViewProviderGroove.cpp | 2 +- 6 files changed, 49 insertions(+), 30 deletions(-) diff --git a/src/Mod/PartDesign/App/FeatureGroove.cpp b/src/Mod/PartDesign/App/FeatureGroove.cpp index 5eef93221d..6d0a8677da 100644 --- a/src/Mod/PartDesign/App/FeatureGroove.cpp +++ b/src/Mod/PartDesign/App/FeatureGroove.cpp @@ -57,8 +57,8 @@ Groove::Groove() ADD_PROPERTY_TYPE(Type, (0L), "Groove", App::Prop_None, "Groove type"); Type.setEnums(TypeEnums); - ADD_PROPERTY_TYPE(Base, (Base::Vector3d(0.0f,0.0f,0.0f)), "Groove", App::Prop_ReadOnly, "Base"); - ADD_PROPERTY_TYPE(Axis, (Base::Vector3d(0.0f,1.0f,0.0f)), "Groove", App::Prop_ReadOnly, "Axis"); + ADD_PROPERTY_TYPE(Base, (Base::Vector3d(0.0f,0.0f,0.0f)), "Groove", App::PropertyType(App::Prop_ReadOnly | App::Prop_Hidden), "Base"); + ADD_PROPERTY_TYPE(Axis, (Base::Vector3d(0.0f,1.0f,0.0f)), "Groove", App::PropertyType(App::Prop_ReadOnly | App::Prop_Hidden), "Axis"); ADD_PROPERTY_TYPE(Angle, (360.0),"Groove", App::Prop_None, "Angle"); ADD_PROPERTY_TYPE(Angle2, (60.0), "Groove", App::Prop_None, "Groove length in 2nd direction"); ADD_PROPERTY_TYPE(UpToFace, (nullptr), "Groove", App::Prop_None, "Face where groove will end"); diff --git a/src/Mod/PartDesign/App/FeatureRevolution.cpp b/src/Mod/PartDesign/App/FeatureRevolution.cpp index 3d9c15eb9a..1b518a5c2a 100644 --- a/src/Mod/PartDesign/App/FeatureRevolution.cpp +++ b/src/Mod/PartDesign/App/FeatureRevolution.cpp @@ -56,12 +56,11 @@ Revolution::Revolution() ADD_PROPERTY_TYPE(Type, (0L), "Revolution", App::Prop_None, "Revolution type"); Type.setEnums(TypeEnums); - ADD_PROPERTY_TYPE(Base,(Base::Vector3d(0.0,0.0,0.0)),"Revolution", App::Prop_ReadOnly, "Base"); - ADD_PROPERTY_TYPE(Axis,(Base::Vector3d(0.0,1.0,0.0)),"Revolution", App::Prop_ReadOnly, "Axis"); + ADD_PROPERTY_TYPE(Base,(Base::Vector3d(0.0,0.0,0.0)),"Revolution", App::PropertyType(App::Prop_ReadOnly | App::Prop_Hidden), "Base"); + ADD_PROPERTY_TYPE(Axis,(Base::Vector3d(0.0,1.0,0.0)),"Revolution", App::PropertyType(App::Prop_ReadOnly | App::Prop_Hidden), "Axis"); ADD_PROPERTY_TYPE(Angle,(360.0),"Revolution", App::Prop_None, "Angle"); - ADD_PROPERTY_TYPE(UpToFace, (nullptr), "Revolution", App::Prop_None, "Face where revolution will end"); ADD_PROPERTY_TYPE(Angle2, (60.0), "Revolution", App::Prop_None, "Revolution length in 2nd direction"); - + ADD_PROPERTY_TYPE(UpToFace, (nullptr), "Revolution", App::Prop_None, "Face where revolution will end"); Angle.setConstraints(&floatAngle); ADD_PROPERTY_TYPE(ReferenceAxis,(nullptr),"Revolution",(App::Prop_None),"Reference axis of revolution"); } diff --git a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp index 89f8458ada..8e2a1bc588 100644 --- a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp +++ b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.cpp @@ -39,6 +39,7 @@ #include "ui_TaskRevolutionParameters.h" #include "TaskRevolutionParameters.h" +#include "ViewProviderGroove.h" #include "ReferenceSelection.h" using namespace PartDesignGui; @@ -46,8 +47,8 @@ using namespace Gui; /* TRANSLATOR PartDesignGui::TaskRevolutionParameters */ -TaskRevolutionParameters::TaskRevolutionParameters(PartDesignGui::ViewProvider* RevolutionView, QWidget *parent) - : TaskSketchBasedParameters(RevolutionView, parent, "PartDesign_Revolution", tr("Revolution parameters")), +TaskRevolutionParameters::TaskRevolutionParameters(PartDesignGui::ViewProvider* RevolutionView, const char* pixname, QString title, QWidget *parent) + : TaskSketchBasedParameters(RevolutionView, parent, pixname, title), ui(new Ui_TaskRevolutionParameters), proxy(new QWidget(this)), selectionFace(false), @@ -318,7 +319,9 @@ void TaskRevolutionParameters::setCheckboxes(PartDesign::Revolution::RevolMethod ui->checkBoxReversed->setEnabled(isReversedEnabled); + ui->buttonFace->setVisible(isFaceEditEnabled); ui->buttonFace->setEnabled(isFaceEditEnabled); + ui->lineFaceName->setVisible(isFaceEditEnabled); ui->lineFaceName->setEnabled(isFaceEditEnabled); if (!isFaceEditEnabled) { ui->buttonFace->setChecked(false); @@ -691,11 +694,18 @@ void TaskRevolutionParameters::apply() //************************************************************************** // TaskDialog //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -TaskDlgRevolutionParameters::TaskDlgRevolutionParameters(PartDesignGui::ViewProvider *RevolutionView) +TaskDlgRevolutionParameters::TaskDlgRevolutionParameters(ViewProviderRevolution *RevolutionView) : TaskDlgSketchBasedParameters(RevolutionView) { assert(RevolutionView); - Content.push_back(new TaskRevolutionParameters(RevolutionView)); + Content.push_back(new TaskRevolutionParameters(RevolutionView, "PartDesign_Revolution", tr("Revolution parameters"))); +} + +TaskDlgGrooveParameters::TaskDlgGrooveParameters(ViewProviderGroove *GrooveView) + : TaskDlgSketchBasedParameters(GrooveView) +{ + assert(GrooveView); + Content.push_back(new TaskRevolutionParameters(GrooveView, "PartDesign_Groove", tr("Groove parameters"))); } diff --git a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.h b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.h index 48cf3ef190..3bc9066796 100644 --- a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.h +++ b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.h @@ -27,6 +27,7 @@ #include #include "TaskSketchBasedParameters.h" #include "ViewProviderRevolution.h" +#include "ViewProviderGroove.h" class Ui_TaskRevolutionParameters; @@ -46,7 +47,10 @@ class TaskRevolutionParameters : public TaskSketchBasedParameters Q_OBJECT public: - explicit TaskRevolutionParameters(ViewProvider* RevolutionView, QWidget* parent = nullptr); + explicit TaskRevolutionParameters(ViewProvider* RevolutionView, + const char *pixname, + QString title = tr("Revolution parameters"), + QWidget* parent = nullptr); ~TaskRevolutionParameters() override; void apply() override; @@ -121,9 +125,15 @@ class TaskDlgRevolutionParameters : public TaskDlgSketchBasedParameters Q_OBJECT public: - explicit TaskDlgRevolutionParameters(PartDesignGui::ViewProvider *RevolutionView); + explicit TaskDlgRevolutionParameters(PartDesignGui::ViewProviderRevolution *RevolutionView); }; +class TaskDlgGrooveParameters : public TaskDlgSketchBasedParameters +{ + Q_OBJECT +public: + explicit TaskDlgGrooveParameters(PartDesignGui::ViewProviderGroove *GrooveView); +}; } //namespace PartDesignGui #endif // GUI_TASKVIEW_TASKAPPERANCE_H diff --git a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui index d9c57167aa..9d71865136 100644 --- a/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui +++ b/src/Mod/PartDesign/Gui/TaskRevolutionParameters.ui @@ -112,23 +112,6 @@ - - - - true - - - Symmetric to plane - - - - - - - Reversed - - - @@ -162,6 +145,23 @@ + + + + true + + + Symmetric to plane + + + + + + + Reversed + + + diff --git a/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp b/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp index c075bfe882..f61857fa28 100644 --- a/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp +++ b/src/Mod/PartDesign/Gui/ViewProviderGroove.cpp @@ -49,5 +49,5 @@ void ViewProviderGroove::setupContextMenu(QMenu* menu, QObject* receiver, const TaskDlgFeatureParameters *ViewProviderGroove::getEditDialog() { - return new TaskDlgRevolutionParameters( this ); + return new TaskDlgGrooveParameters( this ); }