+ add quantity boxes to mirroring dialog

This commit is contained in:
wmayer 2016-02-27 22:10:28 +01:00
parent 236f1666db
commit e1e0777c7b
2 changed files with 95 additions and 75 deletions

View File

@ -37,6 +37,7 @@
#include "ui_Mirroring.h"
#include "../App/PartFeature.h"
#include <Base/Exception.h>
#include <Base/Tools.h>
#include <Base/UnitsApi.h>
#include <App/Application.h>
#include <App/Document.h>
@ -61,9 +62,9 @@ Mirroring::Mirroring(QWidget* parent)
ui->baseX->setRange(-DBL_MAX, DBL_MAX);
ui->baseY->setRange(-DBL_MAX, DBL_MAX);
ui->baseZ->setRange(-DBL_MAX, DBL_MAX);
ui->baseX->setDecimals(Base::UnitsApi::getDecimals());
ui->baseY->setDecimals(Base::UnitsApi::getDecimals());
ui->baseZ->setDecimals(Base::UnitsApi::getDecimals());
ui->baseX->setUnit(Base::Unit::Length);
ui->baseY->setUnit(Base::Unit::Length);
ui->baseZ->setUnit(Base::Unit::Length);
findShapes();
Gui::ItemViewSelection sel(ui->shapes);
@ -145,12 +146,13 @@ bool Mirroring::accept()
normy = 1.0f;
else
normx = 1.0f;
double basex = ui->baseX->value();
double basey = ui->baseY->value();
double basez = ui->baseZ->value();
double basex = ui->baseX->value().getValue();
double basey = ui->baseY->value().getValue();
double basez = ui->baseZ->value().getValue();
for (QList<QTreeWidgetItem *>::iterator it = items.begin(); it != items.end(); ++it) {
shape = (*it)->data(0, Qt::UserRole).toString();
label = (*it)->text(0);
std::string escapedstr = Base::Tools::escapedUnicodeFromUtf8((*it)->text(0).toUtf8());
label = QString::fromStdString(escapedstr);
// if we already have the suffix " (Mirror #<number>)" remove it
int pos = label.indexOf(rx);
@ -162,7 +164,7 @@ bool Mirroring::accept()
"__doc__=FreeCAD.getDocument(\"%1\")\n"
"__doc__.addObject(\"Part::Mirroring\")\n"
"__doc__.ActiveObject.Source=__doc__.getObject(\"%2\")\n"
"__doc__.ActiveObject.Label=\"%3\"\n"
"__doc__.ActiveObject.Label=u\"%3\"\n"
"__doc__.ActiveObject.Normal=(%4,%5,%6)\n"
"__doc__.ActiveObject.Base=(%7,%8,%9)\n"
"del __doc__")

View File

@ -13,8 +13,8 @@
<property name="windowTitle">
<string>Mirroring</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="7">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0" colspan="2">
<widget class="QTreeWidget" name="shapes">
<property name="editTriggers">
<set>QAbstractItemView::CurrentChanged|QAbstractItemView::EditKeyPressed</set>
@ -42,7 +42,7 @@
</property>
</widget>
</item>
<item row="1" column="1" colspan="6">
<item row="1" column="1">
<widget class="QComboBox" name="comboBox">
<item>
<property name="text">
@ -61,75 +61,93 @@
</item>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Base point:</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_3">
<property name="text">
<string>x</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QDoubleSpinBox" name="baseX">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QLabel" name="label_4">
<property name="text">
<string>y</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QDoubleSpinBox" name="baseY">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="2" column="5">
<widget class="QLabel" name="label_5">
<property name="text">
<string>z</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="6">
<widget class="QDoubleSpinBox" name="baseZ">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<item row="2" column="0" colspan="2">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Base point</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>x</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="Gui::QuantitySpinBox" name="baseX">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="unit" stdset="0">
<string notr="true">mm</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>y</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="Gui::QuantitySpinBox" name="baseY">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="unit" stdset="0">
<string notr="true">mm</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>z</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="Gui::QuantitySpinBox" name="baseZ">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="unit" stdset="0">
<string notr="true">mm</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>Gui::QuantitySpinBox</class>
<extends>QWidget</extends>
<header>Gui/QuantitySpinBox.h</header>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>