Refactor: replace enum with enum class

This commit is contained in:
André Althaus
2024-02-17 12:09:24 +01:00
parent 0b3eb1ae08
commit 2076dff79d
5 changed files with 22 additions and 17 deletions

View File

@@ -197,11 +197,11 @@ void TaskLinearPatternParameters::kickUpdateViewTimer() const
void TaskLinearPatternParameters::onSelectionChanged(const Gui::SelectionChanges& msg)
{
if (selectionMode != none && msg.Type == Gui::SelectionChanges::AddSelection) {
if (selectionMode != SelectionMode::None && msg.Type == Gui::SelectionChanges::AddSelection) {
if (originalSelected(msg)) {
exitSelectionMode();
}
else if (selectionMode == reference) {
else if (selectionMode == SelectionMode::Reference) {
// TODO check if this works correctly (2015-09-01, Fat-Zer)
exitSelectionMode();
std::vector<std::string> directions;
@@ -211,7 +211,7 @@ void TaskLinearPatternParameters::onSelectionChanged(const Gui::SelectionChanges
getReferencedSelection(pcLinearPattern, msg, selObj, directions);
// Note: ReferenceSelection has already checked the selection for validity
if (selObj && (selectionMode == reference ||
if (selObj && (selectionMode == SelectionMode::Reference ||
selObj->isDerivedFrom(App::Line::getClassTypeId()) ||
selObj->isDerivedFrom(Part::Feature::getClassTypeId()) ||
selObj->isDerivedFrom(PartDesign::Line::getClassTypeId()) ||
@@ -288,7 +288,7 @@ void TaskLinearPatternParameters::onDirectionChanged(int /*num*/)
// enter reference selection mode
hideObject();
showBase();
selectionMode = reference;
selectionMode = SelectionMode::Reference;
Gui::Selection().clearSelection();
addReferenceSelectionGate(AllowSelection::EDGE | AllowSelection::FACE | AllowSelection::PLANAR);
} else {

View File

@@ -120,7 +120,7 @@ void TaskMirroredParameters::updateUI()
void TaskMirroredParameters::onSelectionChanged(const Gui::SelectionChanges& msg)
{
if (selectionMode!=none && msg.Type == Gui::SelectionChanges::AddSelection) {
if (selectionMode != SelectionMode::None && msg.Type == Gui::SelectionChanges::AddSelection) {
if (originalSelected(msg)) {
exitSelectionMode();
@@ -132,7 +132,7 @@ void TaskMirroredParameters::onSelectionChanged(const Gui::SelectionChanges& msg
if (!selObj)
return;
if ( selectionMode == reference || selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) ) {
if ( selectionMode == SelectionMode::Reference || selObj->isDerivedFrom ( App::Plane::getClassTypeId () ) ) {
setupTransaction();
pcMirrored->MirrorPlane.setValue(selObj, mirrorPlanes);
recomputeFeature();
@@ -154,7 +154,7 @@ void TaskMirroredParameters::onPlaneChanged(int /*num*/)
// enter reference selection mode
hideObject();
showBase();
selectionMode = reference;
selectionMode = SelectionMode::Reference;
Gui::Selection().clearSelection();
addReferenceSelectionGate(AllowSelection::FACE | AllowSelection::PLANAR);
} else {

View File

@@ -196,7 +196,7 @@ void TaskPolarPatternParameters::adaptVisibilityToMode()
void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges& msg)
{
if (selectionMode!=none && msg.Type == Gui::SelectionChanges::AddSelection) {
if (selectionMode != SelectionMode::None && msg.Type == Gui::SelectionChanges::AddSelection) {
if (originalSelected(msg)) {
exitSelectionMode();
@@ -209,7 +209,7 @@ void TaskPolarPatternParameters::onSelectionChanged(const Gui::SelectionChanges&
if(!selObj)
return;
if (selectionMode == reference || selObj->isDerivedFrom ( App::Line::getClassTypeId () ) ) {
if (selectionMode == SelectionMode::Reference || selObj->isDerivedFrom ( App::Line::getClassTypeId () ) ) {
setupTransaction();
pcPolarPattern->Axis.setValue(selObj, axes);
recomputeFeature();
@@ -283,7 +283,7 @@ void TaskPolarPatternParameters::onAxisChanged(int /*num*/)
// enter reference selection mode
hideObject();
showBase();
selectionMode = reference;
selectionMode = SelectionMode::Reference;
Gui::Selection().clearSelection();
addReferenceSelectionGate(AllowSelection::EDGE | AllowSelection::CIRCLE);
} else {

View File

@@ -196,7 +196,7 @@ void TaskTransformedParameters::removeObject(App::DocumentObject* obj)
bool TaskTransformedParameters::originalSelected(const Gui::SelectionChanges& msg)
{
if (msg.Type == Gui::SelectionChanges::AddSelection && (
(selectionMode == addFeature) || (selectionMode == removeFeature))) {
(selectionMode == SelectionMode::AddFeature) || (selectionMode == SelectionMode::RemoveFeature))) {
if (strcmp(msg.pDocName, getObject()->getDocument()->getName()) != 0)
return false;
@@ -208,7 +208,7 @@ bool TaskTransformedParameters::originalSelected(const Gui::SelectionChanges& ms
// Do the same like in TaskDlgTransformedParameters::accept() but without doCommand
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
std::vector<App::DocumentObject*>::iterator o = std::find(originals.begin(), originals.end(), selectedObject);
if (selectionMode == addFeature) {
if (selectionMode == SelectionMode::AddFeature) {
if (o == originals.end()) {
originals.push_back(selectedObject);
addObject(selectedObject);
@@ -271,7 +271,7 @@ void TaskTransformedParameters::onButtonAddFeature(bool checked)
if (checked) {
hideObject();
showBase();
selectionMode = addFeature;
selectionMode = SelectionMode::AddFeature;
Gui::Selection().clearSelection();
} else {
exitSelectionMode();
@@ -303,7 +303,7 @@ void TaskTransformedParameters::onButtonRemoveFeature(bool checked)
{
if (checked) {
checkVisibility();
selectionMode = removeFeature;
selectionMode = SelectionMode::RemoveFeature;
Gui::Selection().clearSelection();
} else {
exitSelectionMode();
@@ -510,7 +510,7 @@ void TaskTransformedParameters::exitSelectionMode()
{
try {
clearButtons();
selectionMode = none;
selectionMode = SelectionMode::None;
Gui::Selection().rmvSelectionGate();
showObject();
} catch(Base::Exception &e) {

View File

@@ -232,8 +232,13 @@ protected:
int transactionID = 0;
bool enableTransaction = true;
enum selectionModes { none, addFeature, removeFeature, reference };
selectionModes selectionMode = none;
enum class SelectionMode {
None,
AddFeature,
RemoveFeature,
Reference
};
SelectionMode selectionMode = SelectionMode::None;
/// The MultiTransform parent task of this task
TaskMultiTransformParameters* parentTask;