Skip to content

Commit

Permalink
PartDesign: [skip ci] move indexesMoved() to base class TaskTransform…
Browse files Browse the repository at this point in the history
…edParameters to avoid code duplication
  • Loading branch information
wwmayer committed Jul 31, 2020
1 parent d5787f9 commit a9af418
Show file tree
Hide file tree
Showing 10 changed files with 24 additions and 68 deletions.
16 changes: 0 additions & 16 deletions src/Mod/PartDesign/Gui/TaskLinearPatternParameters.cpp
Expand Up @@ -222,22 +222,6 @@ void TaskLinearPatternParameters::updateUI()
blockUpdate = false;
}

void TaskLinearPatternParameters::indexesMoved()
{
PartDesign::Transformed* pcTransformed = getObject();
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
// the number of items has not been changed, they have just been reordered
// so we read every list item to recreate the originals vector
std::string name;
for (unsigned i = 0; i < ui->listWidgetFeatures->count(); i++) {
name = ui->listWidgetFeatures->item(i)->data(Qt::UserRole).toByteArray().constData();
originals[i] = pcTransformed->getDocument()->getObject(name.c_str());
}
setupTransaction();
pcTransformed->Originals.setValues(originals);
recomputeFeature();
}

void TaskLinearPatternParameters::onUpdateViewTimer()
{
setupTransaction();
Expand Down
1 change: 0 additions & 1 deletion src/Mod/PartDesign/Gui/TaskLinearPatternParameters.h
Expand Up @@ -60,7 +60,6 @@ class TaskLinearPatternParameters : public TaskTransformedParameters
virtual void apply();

private Q_SLOTS:
void indexesMoved();
void onUpdateViewTimer();
void onDirectionChanged(int num);
void onCheckReverse(const bool on);
Expand Down
16 changes: 0 additions & 16 deletions src/Mod/PartDesign/Gui/TaskMirroredParameters.cpp
Expand Up @@ -186,22 +186,6 @@ void TaskMirroredParameters::updateUI()
blockUpdate = false;
}

void TaskMirroredParameters::indexesMoved()
{
PartDesign::Transformed* pcTransformed = getObject();
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
// the number of items has not been changed, they have just been reordered
// so we read every list item to recreate the originals vector
std::string name;
for (unsigned i = 0; i < ui->listWidgetFeatures->count(); i++) {
name = ui->listWidgetFeatures->item(i)->data(Qt::UserRole).toByteArray().constData();
originals[i] = pcTransformed->getDocument()->getObject(name.c_str());
}
setupTransaction();
pcTransformed->Originals.setValues(originals);
recomputeFeature();
}

void TaskMirroredParameters::addObject(App::DocumentObject* obj)
{
QString label = QString::fromUtf8(obj->Label.getValue());
Expand Down
1 change: 0 additions & 1 deletion src/Mod/PartDesign/Gui/TaskMirroredParameters.h
Expand Up @@ -62,7 +62,6 @@ class TaskMirroredParameters : public TaskTransformedParameters
virtual void apply();

private Q_SLOTS:
void indexesMoved();
void onPlaneChanged(int num);
virtual void onUpdateView(bool);
virtual void onFeatureDeleted(void);
Expand Down
16 changes: 0 additions & 16 deletions src/Mod/PartDesign/Gui/TaskMultiTransformParameters.cpp
Expand Up @@ -162,22 +162,6 @@ TaskMultiTransformParameters::TaskMultiTransformParameters(ViewProviderTransform
// ---------------------
}

void TaskMultiTransformParameters::indexesMoved()
{
PartDesign::Transformed* pcTransformed = getObject();
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
// the number of items has not been changed, they have just been reordered
// so we read every list item to recreate the originals vector
std::string name;
for (unsigned i = 0; i < ui->listWidgetFeatures->count(); i++) {
name = ui->listWidgetFeatures->item(i)->data(Qt::UserRole).toByteArray().constData();
originals[i] = pcTransformed->getDocument()->getObject(name.c_str());
}
setupTransaction();
pcTransformed->Originals.setValues(originals);
recomputeFeature();
}

void TaskMultiTransformParameters::addObject(App::DocumentObject* obj)
{
QString label = QString::fromUtf8(obj->Label.getValue());
Expand Down
1 change: 0 additions & 1 deletion src/Mod/PartDesign/Gui/TaskMultiTransformParameters.h
Expand Up @@ -68,7 +68,6 @@ class TaskMultiTransformParameters : public TaskTransformedParameters
virtual void apply();

private Q_SLOTS:
void indexesMoved();
void onTransformDelete();
void onTransformEdit();
void onTransformActivated(const QModelIndex& index);
Expand Down
16 changes: 0 additions & 16 deletions src/Mod/PartDesign/Gui/TaskPolarPatternParameters.cpp
Expand Up @@ -217,22 +217,6 @@ void TaskPolarPatternParameters::updateUI()
blockUpdate = false;
}

void TaskPolarPatternParameters::indexesMoved()
{
PartDesign::Transformed* pcTransformed = getObject();
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();
// the number of items has not been changed, they have just been reordered
// so we read every list item to recreate the originals vector
std::string name;
for (unsigned i = 0; i < ui->listWidgetFeatures->count(); i++) {
name = ui->listWidgetFeatures->item(i)->data(Qt::UserRole).toByteArray().constData();
originals[i] = pcTransformed->getDocument()->getObject(name.c_str());
}
setupTransaction();
pcTransformed->Originals.setValues(originals);
recomputeFeature();
}

void TaskPolarPatternParameters::onUpdateViewTimer()
{
setupTransaction();
Expand Down
2 changes: 1 addition & 1 deletion src/Mod/PartDesign/Gui/TaskPolarPatternParameters.h
Expand Up @@ -58,8 +58,8 @@ class TaskPolarPatternParameters : public TaskTransformedParameters
virtual ~TaskPolarPatternParameters();

void apply();

private Q_SLOTS:
void indexesMoved();
void onUpdateViewTimer();
void onAxisChanged(int num);
void onCheckReverse(const bool on);
Expand Down
22 changes: 22 additions & 0 deletions src/Mod/PartDesign/Gui/TaskTransformedParameters.cpp
Expand Up @@ -400,6 +400,28 @@ void TaskTransformedParameters::addReferenceSelectionGate(bool edge, bool face,
Gui::Selection().addSelectionGate(new CombineSelectionFilterGates(gateRefPtr, gateDepPtr));
}

void TaskTransformedParameters::indexesMoved()
{
QAbstractItemModel* model = qobject_cast<QAbstractItemModel*>(sender());
if (!model)
return;

PartDesign::Transformed* pcTransformed = getObject();
std::vector<App::DocumentObject*> originals = pcTransformed->Originals.getValues();

QByteArray name;
int rows = model->rowCount();
for (int i = 0; i < rows; i++) {
QModelIndex index = model->index(i, 0);
name = index.data(Qt::UserRole).toByteArray().constData();
originals[i] = pcTransformed->getDocument()->getObject(name.constData());
}

setupTransaction();
pcTransformed->Originals.setValues(originals);
recomputeFeature();
}

//**************************************************************************
//**************************************************************************
// TaskDialog
Expand Down
1 change: 1 addition & 0 deletions src/Mod/PartDesign/Gui/TaskTransformedParameters.h
Expand Up @@ -168,6 +168,7 @@ protected Q_SLOTS:
void onButtonAddFeature(const bool checked);
void onButtonRemoveFeature(const bool checked);
virtual void onFeatureDeleted(void)=0;
void indexesMoved();

protected:
/**
Expand Down

0 comments on commit a9af418

Please sign in to comment.