Gui: Use bitmask instead of three booleans in setTemporaryVisibility to improve readability
This commit is contained in:
@@ -110,14 +110,8 @@ TaskFeaturePick::TaskFeaturePick(std::vector<App::DocumentObject*>& objects,
|
||||
ui->listWidget->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||
}
|
||||
|
||||
enum
|
||||
{
|
||||
axisBit = 0,
|
||||
planeBit = 1
|
||||
};
|
||||
|
||||
// NOTE: generally there shouldn't be more then one origin
|
||||
std::map<App::Origin*, std::bitset<2>> originVisStatus;
|
||||
std::map<App::Origin*, Gui::DatumElements> originVisStatus;
|
||||
|
||||
auto statusIt = status.cbegin();
|
||||
auto objIt = objects.begin();
|
||||
@@ -144,10 +138,10 @@ TaskFeaturePick::TaskFeaturePick(std::vector<App::DocumentObject*>& objects,
|
||||
App::Origin* origin = dynamic_cast<App::Origin*>(datum->getLCS());
|
||||
if (origin) {
|
||||
if ((*objIt)->isDerivedFrom(App::Plane::getClassTypeId())) {
|
||||
originVisStatus[origin].set(planeBit, true);
|
||||
originVisStatus[origin].setFlag(Gui::DatumElement::Planes, true);
|
||||
}
|
||||
else if ((*objIt)->isDerivedFrom(App::Line::getClassTypeId())) {
|
||||
originVisStatus[origin].set(axisBit, true);
|
||||
originVisStatus[origin].setFlag(Gui::DatumElement::Axes, true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -160,8 +154,7 @@ TaskFeaturePick::TaskFeaturePick(std::vector<App::DocumentObject*>& objects,
|
||||
Gui::ViewProviderCoordinateSystem* vpo = static_cast<Gui::ViewProviderCoordinateSystem*>(
|
||||
Gui::Application::Instance->getViewProvider(origin));
|
||||
if (vpo) {
|
||||
vpo->setTemporaryVisibility(originVisStatus[origin][axisBit],
|
||||
originVisStatus[origin][planeBit]);
|
||||
vpo->setTemporaryVisibility(originVisStatus[origin]);
|
||||
vpo->setTemporaryScale(4.0); // NOLINT
|
||||
vpo->setPlaneLabelVisibility(true);
|
||||
origins.push_back(vpo);
|
||||
|
||||
@@ -174,7 +174,7 @@ void TaskHelixParameters::showCoordinateAxes()
|
||||
ViewProviderCoordinateSystem* vpOrigin;
|
||||
vpOrigin = static_cast<ViewProviderCoordinateSystem*>(
|
||||
Gui::Application::Instance->getViewProvider(origin));
|
||||
vpOrigin->setTemporaryVisibility(true, false);
|
||||
vpOrigin->setTemporaryVisibility(Gui::DatumElement::Axes);
|
||||
}
|
||||
catch (const Base::Exception& ex) {
|
||||
ex.ReportException();
|
||||
|
||||
@@ -111,7 +111,7 @@ void TaskLinearPatternParameters::setupParameterUI(QWidget* widget)
|
||||
App::Origin* origin = body->getOrigin();
|
||||
auto vpOrigin = static_cast<ViewProviderCoordinateSystem*>(
|
||||
Gui::Application::Instance->getViewProvider(origin));
|
||||
vpOrigin->setTemporaryVisibility(true, false);
|
||||
vpOrigin->setTemporaryVisibility(Gui::DatumElement::Axes);
|
||||
}
|
||||
catch (const Base::Exception& ex) {
|
||||
Base::Console().Error("%s\n", ex.what());
|
||||
|
||||
@@ -92,7 +92,7 @@ void TaskMirroredParameters::setupParameterUI(QWidget* widget)
|
||||
App::Origin* origin = body->getOrigin();
|
||||
auto vpOrigin = static_cast<ViewProviderCoordinateSystem*>(
|
||||
Gui::Application::Instance->getViewProvider(origin));
|
||||
vpOrigin->setTemporaryVisibility(false, true);
|
||||
vpOrigin->setTemporaryVisibility(Gui::DatumElement::Planes);
|
||||
}
|
||||
catch (const Base::Exception& ex) {
|
||||
Base::Console().Error("%s\n", ex.what());
|
||||
|
||||
@@ -113,7 +113,7 @@ void TaskPolarPatternParameters::setupParameterUI(QWidget* widget)
|
||||
App::Origin* origin = body->getOrigin();
|
||||
auto vpOrigin = static_cast<ViewProviderCoordinateSystem*>(
|
||||
Gui::Application::Instance->getViewProvider(origin));
|
||||
vpOrigin->setTemporaryVisibility(true, false);
|
||||
vpOrigin->setTemporaryVisibility(Gui::DatumElement::Axes);
|
||||
}
|
||||
catch (const Base::Exception& ex) {
|
||||
Base::Console().Error("%s\n", ex.what());
|
||||
|
||||
@@ -262,7 +262,7 @@ TaskBoxPrimitives::TaskBoxPrimitives(ViewProviderPrimitive* vp, QWidget* parent)
|
||||
App::Origin *origin = body->getOrigin();
|
||||
Gui::ViewProviderCoordinateSystem* vpOrigin {};
|
||||
vpOrigin = static_cast<Gui::ViewProviderCoordinateSystem*>(Gui::Application::Instance->getViewProvider(origin));
|
||||
vpOrigin->setTemporaryVisibility(true, true);
|
||||
vpOrigin->setTemporaryVisibility(Gui::DatumElement::Planes | Gui::DatumElement::Axes);
|
||||
} catch (const Base::Exception &ex) {
|
||||
Base::Console().Error ("%s\n", ex.what () );
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ TaskRevolutionParameters::TaskRevolutionParameters(PartDesignGui::ViewProvider*
|
||||
// show the parts coordinate system axis for selection
|
||||
try {
|
||||
if (auto vpOrigin = getOriginView()) {
|
||||
vpOrigin->setTemporaryVisibility(true, false);
|
||||
vpOrigin->setTemporaryVisibility(Gui::DatumElement::Axes);
|
||||
}
|
||||
}
|
||||
catch (const Base::Exception &ex) {
|
||||
|
||||
Reference in New Issue
Block a user