Fem: Fix several coverity issues:
* make SelectionChangeModes an enum class * CID 350596: Uninitialized scalar field * CID 350572: Uncaught exception * CID 350647: Uncaught exception
This commit is contained in:
@@ -569,8 +569,10 @@ void TaskFemConstraintDisplacement::changeEvent(QEvent *)
|
||||
|
||||
void TaskFemConstraintDisplacement::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
@@ -250,8 +250,10 @@ void TaskFemConstraintFixed::changeEvent(QEvent *)
|
||||
|
||||
void TaskFemConstraintFixed::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
@@ -561,7 +561,7 @@ void TaskFemConstraintFluidBoundary::onButtonDirection(const bool pressed)
|
||||
|
||||
Q_UNUSED(pressed)
|
||||
|
||||
clearButtons(none);
|
||||
clearButtons(SelectionChangeModes::none);
|
||||
|
||||
//get vector of selected objects of active document
|
||||
std::vector<Gui::SelectionObject> selection = Gui::Selection().getSelectionEx();
|
||||
@@ -871,8 +871,10 @@ void TaskFemConstraintFluidBoundary::changeEvent(QEvent *e)
|
||||
|
||||
void TaskFemConstraintFluidBoundary::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
@@ -318,7 +318,7 @@ void TaskFemConstraintForce::onButtonDirection(const bool pressed)
|
||||
// sets the normal vector of the currently selecteed planar face as direction
|
||||
Q_UNUSED(pressed)
|
||||
|
||||
clearButtons(none);
|
||||
clearButtons(SelectionChangeModes::none);
|
||||
|
||||
auto link = getDirection(Gui::Selection().getSelectionEx());
|
||||
if (!link.first) {
|
||||
@@ -409,8 +409,10 @@ void TaskFemConstraintForce::changeEvent(QEvent *e)
|
||||
|
||||
void TaskFemConstraintForce::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
@@ -380,8 +380,10 @@ void TaskFemConstraintHeatflux::changeEvent(QEvent *e)
|
||||
|
||||
void TaskFemConstraintHeatflux::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
@@ -59,6 +59,7 @@ using namespace Gui;
|
||||
|
||||
TaskFemConstraintOnBoundary::TaskFemConstraintOnBoundary(ViewProviderFemConstraint *ConstraintView, QWidget *parent, const char* pixmapname)
|
||||
: TaskFemConstraint(ConstraintView, parent, pixmapname)
|
||||
, selChangeMode(SelectionChangeModes::none)
|
||||
{
|
||||
ConstraintView->highlightReferences(true);
|
||||
}
|
||||
@@ -74,12 +75,12 @@ void TaskFemConstraintOnBoundary::_addToSelection(bool checked)
|
||||
{
|
||||
const auto& selection = Gui::Selection().getSelectionEx(); //gets vector of selected objects of active document
|
||||
if (selection.empty()) {
|
||||
this->clearButtons(refAdd);
|
||||
selChangeMode = refAdd;
|
||||
this->clearButtons(SelectionChangeModes::refAdd);
|
||||
selChangeMode = SelectionChangeModes::refAdd;
|
||||
ConstraintView->highlightReferences(true);
|
||||
} else {
|
||||
this->addToSelection();
|
||||
clearButtons(none);
|
||||
clearButtons(SelectionChangeModes::none);
|
||||
}
|
||||
} else {
|
||||
exitSelectionChangeMode();
|
||||
@@ -92,12 +93,12 @@ void TaskFemConstraintOnBoundary::_removeFromSelection(bool checked)
|
||||
{
|
||||
const auto& selection = Gui::Selection().getSelectionEx(); //gets vector of selected objects of active document
|
||||
if (selection.empty()) {
|
||||
this->clearButtons(refRemove);
|
||||
selChangeMode = refRemove;
|
||||
this->clearButtons(SelectionChangeModes::refRemove);
|
||||
selChangeMode = SelectionChangeModes::refRemove;
|
||||
ConstraintView->highlightReferences(true);
|
||||
} else {
|
||||
this->removeFromSelection();
|
||||
clearButtons(none);
|
||||
clearButtons(SelectionChangeModes::none);
|
||||
}
|
||||
} else {
|
||||
exitSelectionChangeMode();
|
||||
@@ -108,15 +109,15 @@ void TaskFemConstraintOnBoundary::onSelectionChanged(const Gui::SelectionChanges
|
||||
{
|
||||
if (msg.Type == Gui::SelectionChanges::AddSelection) {
|
||||
switch (selChangeMode) {
|
||||
case refAdd:
|
||||
case SelectionChangeModes::refAdd:
|
||||
// TODO: Optimize to just perform actions on the newly selected item. Suggestion from PartDesign:
|
||||
// ui->lw_references->addItem(makeRefText(msg.pObjectName, msg.pSubName));
|
||||
this->addToSelection();
|
||||
break;
|
||||
case refRemove:
|
||||
case SelectionChangeModes::refRemove:
|
||||
this->removeFromSelection();
|
||||
break;
|
||||
case none:
|
||||
case SelectionChangeModes::none:
|
||||
return;
|
||||
default:
|
||||
return;
|
||||
@@ -127,7 +128,7 @@ void TaskFemConstraintOnBoundary::onSelectionChanged(const Gui::SelectionChanges
|
||||
|
||||
void TaskFemConstraintOnBoundary::exitSelectionChangeMode()
|
||||
{
|
||||
selChangeMode = none;
|
||||
selChangeMode = SelectionChangeModes::none;
|
||||
Gui::Selection().clearSelection();
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ class TaskFemConstraintOnBoundary : public TaskFemConstraint
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
TaskFemConstraintOnBoundary(ViewProviderFemConstraint *ConstraintView, QWidget *parent = 0, const char* pixmapname = "");
|
||||
TaskFemConstraintOnBoundary(ViewProviderFemConstraint *ConstraintView, QWidget *parent = nullptr, const char* pixmapname = "");
|
||||
~TaskFemConstraintOnBoundary();
|
||||
|
||||
protected Q_SLOTS:
|
||||
@@ -60,7 +60,7 @@ protected Q_SLOTS:
|
||||
virtual void removeFromSelection() = 0;
|
||||
|
||||
protected:
|
||||
enum SelectionChangeModes {none, refAdd, refRemove};
|
||||
enum class SelectionChangeModes {none, refAdd, refRemove};
|
||||
virtual void onSelectionChanged(const Gui::SelectionChanges&) override;
|
||||
virtual void clearButtons(const SelectionChangeModes notThis) = 0;
|
||||
void exitSelectionChangeMode();
|
||||
|
||||
@@ -266,8 +266,10 @@ void TaskFemConstraintPressure::changeEvent(QEvent *)
|
||||
|
||||
void TaskFemConstraintPressure::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
@@ -266,8 +266,10 @@ void TaskFemConstraintSpring::changeEvent(QEvent *)
|
||||
|
||||
void TaskFemConstraintSpring::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
@@ -322,8 +322,10 @@ void TaskFemConstraintTemperature::changeEvent(QEvent *)
|
||||
|
||||
void TaskFemConstraintTemperature::clearButtons(const SelectionChangeModes notThis)
|
||||
{
|
||||
if (notThis != refAdd) ui->btnAdd->setChecked(false);
|
||||
if (notThis != refRemove) ui->btnRemove->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refAdd)
|
||||
ui->btnAdd->setChecked(false);
|
||||
if (notThis != SelectionChangeModes::refRemove)
|
||||
ui->btnRemove->setChecked(false);
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
|
||||
Reference in New Issue
Block a user