Reformat files with clang-format
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
#include "PreCompiled.h"
|
||||
|
||||
#ifndef _PreComp_
|
||||
# include <QAction>
|
||||
#include <QAction>
|
||||
#endif
|
||||
|
||||
#include <App/Document.h>
|
||||
@@ -54,63 +54,80 @@ using namespace Gui;
|
||||
|
||||
/* TRANSLATOR PartDesignGui::TaskMultiTransformParameters */
|
||||
|
||||
TaskMultiTransformParameters::TaskMultiTransformParameters(ViewProviderTransformed *TransformedView,QWidget *parent)
|
||||
TaskMultiTransformParameters::TaskMultiTransformParameters(ViewProviderTransformed* TransformedView,
|
||||
QWidget* parent)
|
||||
: TaskTransformedParameters(TransformedView, parent)
|
||||
, ui(new Ui_TaskMultiTransformParameters)
|
||||
{
|
||||
setupUI();
|
||||
}
|
||||
|
||||
void TaskMultiTransformParameters::setupParameterUI(QWidget *widget)
|
||||
void TaskMultiTransformParameters::setupParameterUI(QWidget* widget)
|
||||
{
|
||||
ui->setupUi(widget);
|
||||
QMetaObject::connectSlotsByName(this);
|
||||
|
||||
// Create a context menu for the listview of transformation features
|
||||
QAction* action = new QAction(tr("Edit"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onTransformEdit);
|
||||
action->connect(action,
|
||||
&QAction::triggered,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onTransformEdit);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
action = new QAction(tr("Delete"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onTransformDelete);
|
||||
action->connect(action,
|
||||
&QAction::triggered,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onTransformDelete);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
action = new QAction(tr("Add mirrored transformation"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onTransformAddMirrored);
|
||||
action->connect(action,
|
||||
&QAction::triggered,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onTransformAddMirrored);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
action = new QAction(tr("Add linear pattern"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onTransformAddLinearPattern);
|
||||
action->connect(action,
|
||||
&QAction::triggered,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onTransformAddLinearPattern);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
action = new QAction(tr("Add polar pattern"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onTransformAddPolarPattern);
|
||||
action->connect(action,
|
||||
&QAction::triggered,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onTransformAddPolarPattern);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
action = new QAction(tr("Add scaled transformation"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onTransformAddScaled);
|
||||
action->connect(action,
|
||||
&QAction::triggered,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onTransformAddScaled);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
action = new QAction(tr("Move up"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onMoveUp);
|
||||
action->connect(action, &QAction::triggered, this, &TaskMultiTransformParameters::onMoveUp);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
action = new QAction(tr("Move down"), ui->listTransformFeatures);
|
||||
action->connect(action, &QAction::triggered,
|
||||
this, &TaskMultiTransformParameters::onMoveDown);
|
||||
action->connect(action, &QAction::triggered, this, &TaskMultiTransformParameters::onMoveDown);
|
||||
ui->listTransformFeatures->addAction(action);
|
||||
ui->listTransformFeatures->setContextMenuPolicy(Qt::ActionsContextMenu);
|
||||
|
||||
connect(ui->listTransformFeatures, &QListWidget::activated,
|
||||
this, &TaskMultiTransformParameters::onTransformActivated);
|
||||
connect(ui->listTransformFeatures,
|
||||
&QListWidget::activated,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onTransformActivated);
|
||||
|
||||
connect(ui->buttonOK, &QToolButton::pressed,
|
||||
this, &TaskMultiTransformParameters::onSubTaskButtonOK);
|
||||
connect(ui->buttonOK,
|
||||
&QToolButton::pressed,
|
||||
this,
|
||||
&TaskMultiTransformParameters::onSubTaskButtonOK);
|
||||
ui->buttonOK->hide();
|
||||
|
||||
// Get the transformFeatures data
|
||||
PartDesign::MultiTransform* pcMultiTransform = static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures = pcMultiTransform->Transformations.getValues();
|
||||
PartDesign::MultiTransform* pcMultiTransform =
|
||||
static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures =
|
||||
pcMultiTransform->Transformations.getValues();
|
||||
|
||||
// Fill data into dialog elements
|
||||
ui->listTransformFeatures->setEnabled(true);
|
||||
@@ -123,7 +140,8 @@ void TaskMultiTransformParameters::setupParameterUI(QWidget *widget)
|
||||
if (!transformFeatures.empty()) {
|
||||
ui->listTransformFeatures->setCurrentRow(0, QItemSelectionModel::ClearAndSelect);
|
||||
editHint = false;
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
ui->listTransformFeatures->addItem(tr("Right-click to add"));
|
||||
editHint = true;
|
||||
}
|
||||
@@ -136,8 +154,9 @@ void TaskMultiTransformParameters::retranslateParameterUI(QWidget* widget)
|
||||
|
||||
void TaskMultiTransformParameters::slotDeletedObject(const Gui::ViewProviderDocumentObject& Obj)
|
||||
{
|
||||
if (Obj.getObject() == this->subFeature)
|
||||
if (Obj.getObject() == this->subFeature) {
|
||||
this->subFeature = nullptr;
|
||||
}
|
||||
TaskTransformedParameters::slotDeletedObject(Obj);
|
||||
}
|
||||
|
||||
@@ -150,8 +169,10 @@ void TaskMultiTransformParameters::closeSubTask()
|
||||
|
||||
// Remove all parameter ui widgets and layout
|
||||
ui->subFeatureWidget->setUpdatesEnabled(false);
|
||||
qDeleteAll(ui->subFeatureWidget->findChildren<QWidget*>(QString(), Qt::FindDirectChildrenOnly));
|
||||
qDeleteAll(ui->subFeatureWidget->findChildren<QLayout*>(QString(), Qt::FindDirectChildrenOnly));
|
||||
qDeleteAll(
|
||||
ui->subFeatureWidget->findChildren<QWidget*>(QString(), Qt::FindDirectChildrenOnly));
|
||||
qDeleteAll(
|
||||
ui->subFeatureWidget->findChildren<QLayout*>(QString(), Qt::FindDirectChildrenOnly));
|
||||
ui->subFeatureWidget->setUpdatesEnabled(true);
|
||||
|
||||
delete subTask;
|
||||
@@ -161,15 +182,19 @@ void TaskMultiTransformParameters::closeSubTask()
|
||||
|
||||
void TaskMultiTransformParameters::onTransformDelete()
|
||||
{
|
||||
if (editHint)
|
||||
return; // Can't delete the hint...
|
||||
if (editHint) {
|
||||
return; // Can't delete the hint...
|
||||
}
|
||||
int row = ui->listTransformFeatures->currentIndex().row();
|
||||
PartDesign::MultiTransform* pcMultiTransform = static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures = pcMultiTransform->Transformations.getValues();
|
||||
PartDesign::MultiTransform* pcMultiTransform =
|
||||
static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures =
|
||||
pcMultiTransform->Transformations.getValues();
|
||||
|
||||
App::DocumentObject* feature = transformFeatures[row];
|
||||
if (feature == this->subFeature)
|
||||
if (feature == this->subFeature) {
|
||||
this->subFeature = nullptr;
|
||||
}
|
||||
|
||||
setupTransaction();
|
||||
pcMultiTransform->getDocument()->removeObject(feature->getNameInDocument());
|
||||
@@ -177,8 +202,8 @@ void TaskMultiTransformParameters::onTransformDelete()
|
||||
|
||||
transformFeatures.erase(transformFeatures.begin() + row);
|
||||
pcMultiTransform->Transformations.setValues(transformFeatures);
|
||||
// Note: When the last transformation is deleted, recomputeFeature does nothing, because Transformed::execute()
|
||||
// says: "No transformations defined, exit silently"
|
||||
// Note: When the last transformation is deleted, recomputeFeature does nothing, because
|
||||
// Transformed::execute() says: "No transformations defined, exit silently"
|
||||
recomputeFeature();
|
||||
|
||||
ui->listTransformFeatures->model()->removeRow(row);
|
||||
@@ -187,25 +212,34 @@ void TaskMultiTransformParameters::onTransformDelete()
|
||||
|
||||
void TaskMultiTransformParameters::onTransformEdit()
|
||||
{
|
||||
if (editHint)
|
||||
return; // Can't edit the hint...
|
||||
closeSubTask(); // For example if user is editing one subTask and then double-clicks on another without OK'ing first
|
||||
if (editHint) {
|
||||
return; // Can't edit the hint...
|
||||
}
|
||||
closeSubTask(); // For example if user is editing one subTask and then double-clicks on another
|
||||
// without OK'ing first
|
||||
ui->listTransformFeatures->currentItem()->setSelected(true);
|
||||
int row = ui->listTransformFeatures->currentIndex().row();
|
||||
PartDesign::MultiTransform* pcMultiTransform = static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures = pcMultiTransform->Transformations.getValues();
|
||||
PartDesign::MultiTransform* pcMultiTransform =
|
||||
static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures =
|
||||
pcMultiTransform->Transformations.getValues();
|
||||
|
||||
subFeature = static_cast<PartDesign::Transformed*>(transformFeatures[row]);
|
||||
if (subFeature->is<PartDesign::Mirrored>())
|
||||
if (subFeature->is<PartDesign::Mirrored>()) {
|
||||
subTask = new TaskMirroredParameters(this, ui->subFeatureWidget);
|
||||
else if (subFeature->is<PartDesign::LinearPattern>())
|
||||
}
|
||||
else if (subFeature->is<PartDesign::LinearPattern>()) {
|
||||
subTask = new TaskLinearPatternParameters(this, ui->subFeatureWidget);
|
||||
else if (subFeature->is<PartDesign::PolarPattern>())
|
||||
}
|
||||
else if (subFeature->is<PartDesign::PolarPattern>()) {
|
||||
subTask = new TaskPolarPatternParameters(this, ui->subFeatureWidget);
|
||||
else if (subFeature->is<PartDesign::Scaled>())
|
||||
}
|
||||
else if (subFeature->is<PartDesign::Scaled>()) {
|
||||
subTask = new TaskScaledParameters(this, ui->subFeatureWidget);
|
||||
else
|
||||
return; // TODO: Show an error?
|
||||
}
|
||||
else {
|
||||
return; // TODO: Show an error?
|
||||
}
|
||||
|
||||
ui->buttonOK->show();
|
||||
|
||||
@@ -221,30 +255,38 @@ void TaskMultiTransformParameters::onTransformActivated(const QModelIndex& index
|
||||
void TaskMultiTransformParameters::onTransformAddMirrored()
|
||||
{
|
||||
closeSubTask();
|
||||
std::string newFeatName = TransformedView->getObject()->getDocument()->getUniqueObjectName("Mirrored");
|
||||
std::string newFeatName =
|
||||
TransformedView->getObject()->getDocument()->getUniqueObjectName("Mirrored");
|
||||
auto pcActiveBody = PartDesignGui::getBody(false);
|
||||
if (!pcActiveBody)
|
||||
if (!pcActiveBody) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEnabledTransaction())
|
||||
if (isEnabledTransaction()) {
|
||||
Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Mirrored"));
|
||||
}
|
||||
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::Mirrored','"<<newFeatName<<"')");
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::Mirrored','" << newFeatName << "')");
|
||||
auto Feat = pcActiveBody->getDocument()->getObject(newFeatName.c_str());
|
||||
if (!Feat)
|
||||
if (!Feat) {
|
||||
return;
|
||||
//Gui::Command::updateActive();
|
||||
}
|
||||
// Gui::Command::updateActive();
|
||||
App::DocumentObject* sketch = getSketchObject();
|
||||
if (sketch)
|
||||
FCMD_OBJ_CMD(Feat, "MirrorPlane = ("<<Gui::Command::getObjectCmd(sketch)<<",['V_Axis'])");
|
||||
if (sketch) {
|
||||
FCMD_OBJ_CMD(Feat,
|
||||
"MirrorPlane = (" << Gui::Command::getObjectCmd(sketch) << ",['V_Axis'])");
|
||||
}
|
||||
else {
|
||||
App::Origin* orig = pcActiveBody->getOrigin();
|
||||
FCMD_OBJ_CMD(Feat, "MirrorPlane = ("<<Gui::Command::getObjectCmd(orig->getXY())<<",[''])");
|
||||
FCMD_OBJ_CMD(Feat,
|
||||
"MirrorPlane = (" << Gui::Command::getObjectCmd(orig->getXY()) << ",[''])");
|
||||
}
|
||||
finishAdd(newFeatName);
|
||||
// show the new view when no error
|
||||
if (!Feat->isError())
|
||||
if (!Feat->isError()) {
|
||||
TransformedView->getObject()->Visibility.setValue(true);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskMultiTransformParameters::onTransformAddLinearPattern()
|
||||
@@ -252,29 +294,36 @@ void TaskMultiTransformParameters::onTransformAddLinearPattern()
|
||||
// See CmdPartDesignLinearPattern
|
||||
//
|
||||
closeSubTask();
|
||||
std::string newFeatName = TransformedView->getObject()->getDocument()->getUniqueObjectName("LinearPattern");
|
||||
std::string newFeatName =
|
||||
TransformedView->getObject()->getDocument()->getUniqueObjectName("LinearPattern");
|
||||
auto pcActiveBody = PartDesignGui::getBody(false);
|
||||
if (!pcActiveBody)
|
||||
if (!pcActiveBody) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEnabledTransaction())
|
||||
if (isEnabledTransaction()) {
|
||||
Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Make LinearPattern"));
|
||||
}
|
||||
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::LinearPattern','"<<newFeatName<<"')");
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::LinearPattern','" << newFeatName << "')");
|
||||
auto Feat = pcActiveBody->getDocument()->getObject(newFeatName.c_str());
|
||||
if (!Feat)
|
||||
if (!Feat) {
|
||||
return;
|
||||
//Gui::Command::updateActive();
|
||||
}
|
||||
// Gui::Command::updateActive();
|
||||
App::DocumentObject* sketch = getSketchObject();
|
||||
if (sketch) {
|
||||
FCMD_OBJ_CMD(Feat, "Direction = ("<<Gui::Command::getObjectCmd(sketch)<<",['H_Axis'])");
|
||||
FCMD_OBJ_CMD(Feat, "Direction = (" << Gui::Command::getObjectCmd(sketch) << ",['H_Axis'])");
|
||||
}
|
||||
else {
|
||||
// set Direction value before filling up the combo box to avoid creating an empty item
|
||||
// inside updateUI()
|
||||
PartDesign::Body* body = static_cast<PartDesign::Body*>(Part::BodyBase::findBodyOf(getObject()));
|
||||
PartDesign::Body* body =
|
||||
static_cast<PartDesign::Body*>(Part::BodyBase::findBodyOf(getObject()));
|
||||
if (body) {
|
||||
FCMD_OBJ_CMD(Feat, "Direction = ("<<Gui::Command::getObjectCmd(body->getOrigin()->getX())<<",[''])");
|
||||
FCMD_OBJ_CMD(Feat,
|
||||
"Direction = (" << Gui::Command::getObjectCmd(body->getOrigin()->getX())
|
||||
<< ",[''])");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,75 +332,90 @@ void TaskMultiTransformParameters::onTransformAddLinearPattern()
|
||||
|
||||
finishAdd(newFeatName);
|
||||
// show the new view when no error
|
||||
if (!Feat->isError())
|
||||
if (!Feat->isError()) {
|
||||
TransformedView->getObject()->Visibility.setValue(true);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskMultiTransformParameters::onTransformAddPolarPattern()
|
||||
{
|
||||
closeSubTask();
|
||||
std::string newFeatName = TransformedView->getObject()->getDocument()->getUniqueObjectName("PolarPattern");
|
||||
std::string newFeatName =
|
||||
TransformedView->getObject()->getDocument()->getUniqueObjectName("PolarPattern");
|
||||
auto pcActiveBody = PartDesignGui::getBody(false);
|
||||
if (!pcActiveBody)
|
||||
if (!pcActiveBody) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEnabledTransaction())
|
||||
if (isEnabledTransaction()) {
|
||||
Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "PolarPattern"));
|
||||
}
|
||||
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::PolarPattern','"<<newFeatName<<"')");
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::PolarPattern','" << newFeatName << "')");
|
||||
auto Feat = pcActiveBody->getDocument()->getObject(newFeatName.c_str());
|
||||
if (!Feat)
|
||||
if (!Feat) {
|
||||
return;
|
||||
//Gui::Command::updateActive();
|
||||
}
|
||||
// Gui::Command::updateActive();
|
||||
App::DocumentObject* sketch = getSketchObject();
|
||||
if (sketch)
|
||||
FCMD_OBJ_CMD(Feat, "Axis = ("<<Gui::Command::getObjectCmd(sketch)<<",['N_Axis'])");
|
||||
if (sketch) {
|
||||
FCMD_OBJ_CMD(Feat, "Axis = (" << Gui::Command::getObjectCmd(sketch) << ",['N_Axis'])");
|
||||
}
|
||||
else {
|
||||
App::Origin* orig = pcActiveBody->getOrigin();
|
||||
FCMD_OBJ_CMD(Feat, "Axis = ("<<Gui::Command::getObjectCmd(orig->getX())<<",[''])");
|
||||
FCMD_OBJ_CMD(Feat, "Axis = (" << Gui::Command::getObjectCmd(orig->getX()) << ",[''])");
|
||||
}
|
||||
FCMD_OBJ_CMD(Feat, "Angle = 360");
|
||||
FCMD_OBJ_CMD(Feat, "Occurrences = 2");
|
||||
|
||||
finishAdd(newFeatName);
|
||||
// show the new view when no error
|
||||
if (!Feat->isError())
|
||||
if (!Feat->isError()) {
|
||||
TransformedView->getObject()->Visibility.setValue(true);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskMultiTransformParameters::onTransformAddScaled()
|
||||
{
|
||||
closeSubTask();
|
||||
std::string newFeatName = TransformedView->getObject()->getDocument()->getUniqueObjectName("Scaled");
|
||||
std::string newFeatName =
|
||||
TransformedView->getObject()->getDocument()->getUniqueObjectName("Scaled");
|
||||
auto pcActiveBody = PartDesignGui::getBody(false);
|
||||
if (!pcActiveBody)
|
||||
if (!pcActiveBody) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (isEnabledTransaction())
|
||||
if (isEnabledTransaction()) {
|
||||
Gui::Command::openCommand(QT_TRANSLATE_NOOP("Command", "Scaled"));
|
||||
}
|
||||
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::Scaled','"<<newFeatName<<"')");
|
||||
FCMD_OBJ_CMD(pcActiveBody, "newObject('PartDesign::Scaled','" << newFeatName << "')");
|
||||
auto Feat = pcActiveBody->getDocument()->getObject(newFeatName.c_str());
|
||||
if (!Feat)
|
||||
if (!Feat) {
|
||||
return;
|
||||
//Gui::Command::updateActive();
|
||||
}
|
||||
// Gui::Command::updateActive();
|
||||
FCMD_OBJ_CMD(Feat, "Factor = 2");
|
||||
FCMD_OBJ_CMD(Feat, "Occurrences = 2");
|
||||
|
||||
finishAdd(newFeatName);
|
||||
// show the new view when no error
|
||||
if (!Feat->isError())
|
||||
if (!Feat->isError()) {
|
||||
TransformedView->getObject()->Visibility.setValue(true);
|
||||
}
|
||||
}
|
||||
|
||||
void TaskMultiTransformParameters::finishAdd(std::string &newFeatName)
|
||||
void TaskMultiTransformParameters::finishAdd(std::string& newFeatName)
|
||||
{
|
||||
//Gui::Command::updateActive();
|
||||
//Gui::Command::copyVisual(newFeatName.c_str(), "ShapeColor", getOriginals().front()->getNameInDocument().c_str());
|
||||
//Gui::Command::copyVisual(newFeatName.c_str(), "DisplayMode", getOriginals().front()->getNameInDocument().c_str());
|
||||
// Gui::Command::updateActive();
|
||||
// Gui::Command::copyVisual(newFeatName.c_str(), "ShapeColor",
|
||||
// getOriginals().front()->getNameInDocument().c_str());
|
||||
// Gui::Command::copyVisual(newFeatName.c_str(), "DisplayMode",
|
||||
// getOriginals().front()->getNameInDocument().c_str());
|
||||
|
||||
setupTransaction();
|
||||
PartDesign::MultiTransform* pcMultiTransform = static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
PartDesign::MultiTransform* pcMultiTransform =
|
||||
static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
if (editHint) {
|
||||
// Remove hint, first feature is being added
|
||||
ui->listTransformFeatures->model()->removeRow(0);
|
||||
@@ -359,24 +423,30 @@ void TaskMultiTransformParameters::finishAdd(std::string &newFeatName)
|
||||
int row = ui->listTransformFeatures->currentIndex().row();
|
||||
if (row < 0) {
|
||||
// Happens when first row (first transformation) is created
|
||||
// Hide all the originals now (hiding them in Command.cpp presents the user with an empty screen!)
|
||||
// Hide all the originals now (hiding them in Command.cpp presents the user with an empty
|
||||
// screen!)
|
||||
hideBase();
|
||||
}
|
||||
|
||||
// Insert new transformation after the selected row
|
||||
// This means that in order to insert at the beginning, the user has to use "Move Up" in the menu
|
||||
App::DocumentObject* newFeature = pcMultiTransform->getDocument()->getObject(newFeatName.c_str());
|
||||
std::vector<App::DocumentObject*> transformFeatures = pcMultiTransform->Transformations.getValues();
|
||||
// This means that in order to insert at the beginning, the user has to use "Move Up" in the
|
||||
// menu
|
||||
App::DocumentObject* newFeature =
|
||||
pcMultiTransform->getDocument()->getObject(newFeatName.c_str());
|
||||
std::vector<App::DocumentObject*> transformFeatures =
|
||||
pcMultiTransform->Transformations.getValues();
|
||||
if (row == ui->listTransformFeatures->model()->rowCount() - 1) {
|
||||
// Note: Inserts always happen before the specified iterator so in order to append at the
|
||||
// end we need to use push_back() and append()
|
||||
transformFeatures.push_back(newFeature);
|
||||
ui->listTransformFeatures->addItem(QString::fromLatin1(newFeature->Label.getValue()));
|
||||
ui->listTransformFeatures->setCurrentRow(row+1, QItemSelectionModel::ClearAndSelect);
|
||||
} else {
|
||||
ui->listTransformFeatures->setCurrentRow(row + 1, QItemSelectionModel::ClearAndSelect);
|
||||
}
|
||||
else {
|
||||
// Note: The feature tree always seems to append to the end, no matter what we say here
|
||||
transformFeatures.insert(transformFeatures.begin() + row + 1, newFeature);
|
||||
ui->listTransformFeatures->insertItem(row + 1, QString::fromLatin1(newFeature->Label.getValue()));
|
||||
ui->listTransformFeatures->insertItem(row + 1,
|
||||
QString::fromLatin1(newFeature->Label.getValue()));
|
||||
ui->listTransformFeatures->setCurrentRow(row + 1, QItemSelectionModel::ClearAndSelect);
|
||||
}
|
||||
pcMultiTransform->Transformations.setValues(transformFeatures);
|
||||
@@ -394,11 +464,14 @@ void TaskMultiTransformParameters::moveTransformFeature(const int increment)
|
||||
{
|
||||
setupTransaction();
|
||||
int row = ui->listTransformFeatures->currentIndex().row();
|
||||
PartDesign::MultiTransform* pcMultiTransform = static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures = pcMultiTransform->Transformations.getValues();
|
||||
PartDesign::MultiTransform* pcMultiTransform =
|
||||
static_cast<PartDesign::MultiTransform*>(TransformedView->getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures =
|
||||
pcMultiTransform->Transformations.getValues();
|
||||
|
||||
if (transformFeatures.empty())
|
||||
if (transformFeatures.empty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
App::DocumentObject* feature = transformFeatures[row];
|
||||
transformFeatures.erase(transformFeatures.begin() + row);
|
||||
@@ -408,8 +481,9 @@ void TaskMultiTransformParameters::moveTransformFeature(const int increment)
|
||||
|
||||
row += increment;
|
||||
|
||||
if (row < 0)
|
||||
if (row < 0) {
|
||||
row = 0;
|
||||
}
|
||||
|
||||
if (row >= ui->listTransformFeatures->model()->rowCount()) {
|
||||
// Note: Inserts always happen before the specified iterator so in order to append at the
|
||||
@@ -417,7 +491,8 @@ void TaskMultiTransformParameters::moveTransformFeature(const int increment)
|
||||
transformFeatures.push_back(feature);
|
||||
ui->listTransformFeatures->addItem(item);
|
||||
ui->listTransformFeatures->setCurrentRow(row, QItemSelectionModel::ClearAndSelect);
|
||||
} else {
|
||||
}
|
||||
else {
|
||||
transformFeatures.insert(transformFeatures.begin() + row, feature);
|
||||
ui->listTransformFeatures->insertItem(row, item);
|
||||
ui->listTransformFeatures->setCurrentRow(row, QItemSelectionModel::ClearAndSelect);
|
||||
@@ -452,8 +527,10 @@ void TaskMultiTransformParameters::onUpdateView(bool on)
|
||||
|
||||
void TaskMultiTransformParameters::doApply()
|
||||
{
|
||||
PartDesign::MultiTransform* pcMultiTransform = static_cast<PartDesign::MultiTransform*>(getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures = pcMultiTransform->Transformations.getValues();
|
||||
PartDesign::MultiTransform* pcMultiTransform =
|
||||
static_cast<PartDesign::MultiTransform*>(getObject());
|
||||
std::vector<App::DocumentObject*> transformFeatures =
|
||||
pcMultiTransform->Transformations.getValues();
|
||||
std::stringstream str;
|
||||
str << Gui::Command::getObjectCmd(TransformedView->getObject()) << ".Transformations = [";
|
||||
for (auto it : transformFeatures) {
|
||||
@@ -462,7 +539,7 @@ void TaskMultiTransformParameters::doApply()
|
||||
}
|
||||
}
|
||||
str << "]";
|
||||
Gui::Command::runCommand(Gui::Command::Doc,str.str().c_str());
|
||||
Gui::Command::runCommand(Gui::Command::Doc, str.str().c_str());
|
||||
}
|
||||
|
||||
TaskMultiTransformParameters::~TaskMultiTransformParameters()
|
||||
@@ -471,7 +548,7 @@ TaskMultiTransformParameters::~TaskMultiTransformParameters()
|
||||
closeSubTask();
|
||||
}
|
||||
catch (const Py::Exception&) {
|
||||
Base::PyException e; // extract the Python error text
|
||||
Base::PyException e; // extract the Python error text
|
||||
e.ReportException();
|
||||
}
|
||||
}
|
||||
@@ -481,7 +558,8 @@ TaskMultiTransformParameters::~TaskMultiTransformParameters()
|
||||
// TaskDialog
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
TaskDlgMultiTransformParameters::TaskDlgMultiTransformParameters(ViewProviderMultiTransform *MultiTransformView)
|
||||
TaskDlgMultiTransformParameters::TaskDlgMultiTransformParameters(
|
||||
ViewProviderMultiTransform* MultiTransformView)
|
||||
: TaskDlgTransformedParameters(MultiTransformView)
|
||||
{
|
||||
parameter = new TaskMultiTransformParameters(MultiTransformView);
|
||||
|
||||
Reference in New Issue
Block a user