1
/***************************************************************************
2
* Copyright (c) 2022 Pierre-Louis Boyer <pierrelouis.boyer@gmail.com> *
4
* This file is part of the FreeCAD CAx development system. *
6
* This library is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Library General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2 of the License, or (at your option) any later version. *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14
* GNU Library General Public License for more details. *
16
* You should have received a copy of the GNU Library General Public *
17
* License along with this library; see the file COPYING.LIB. If not, *
18
* write to the Free Software Foundation, Inc., 59 Temple Place, *
19
* Suite 330, Boston, MA 02111-1307, USA *
21
***************************************************************************/
24
#include "PreCompiled.h"
27
#include <Inventor/events/SoKeyboardEvent.h>
28
#include <QApplication>
32
#include "ui_SketcherToolDefaultWidget.h"
33
#include <Gui/Application.h>
34
#include <Gui/Document.h>
35
#include <Gui/BitmapFactory.h>
36
#include <Gui/ViewProvider.h>
37
#include <Gui/WaitCursor.h>
38
#include <Gui/PrefWidgets.h>
39
#include <Base/Tools.h>
40
#include <Base/UnitsApi.h>
41
#include <Base/Exception.h>
44
#include "ViewProviderSketch.h"
46
#include "SketcherToolDefaultWidget.h"
48
using namespace SketcherGui;
49
using namespace Gui::TaskView;
52
SketcherToolDefaultWidget::SketcherToolDefaultWidget(QWidget* parent)
54
, ui(new Ui_SketcherToolDefaultWidget)
55
, blockParameterSlots(false)
56
, blockParameterFocusPassing(false)
60
// connecting the needed signals
63
ui->parameterOne->installEventFilter(this);
64
ui->parameterTwo->installEventFilter(this);
65
ui->parameterThree->installEventFilter(this);
66
ui->parameterFour->installEventFilter(this);
67
ui->parameterFive->installEventFilter(this);
68
ui->parameterSix->installEventFilter(this);
73
SketcherToolDefaultWidget::~SketcherToolDefaultWidget() = default;
75
void SketcherToolDefaultWidget::setupConnections()
77
connect(ui->parameterOne,
78
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
80
&SketcherToolDefaultWidget::parameterOne_valueChanged);
81
connect(ui->parameterTwo,
82
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
84
&SketcherToolDefaultWidget::parameterTwo_valueChanged);
85
connect(ui->parameterThree,
86
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
88
&SketcherToolDefaultWidget::parameterThree_valueChanged);
89
connect(ui->parameterFour,
90
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
92
&SketcherToolDefaultWidget::parameterFour_valueChanged);
93
connect(ui->parameterFive,
94
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
96
&SketcherToolDefaultWidget::parameterFive_valueChanged);
97
connect(ui->parameterSix,
98
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
100
&SketcherToolDefaultWidget::parameterSix_valueChanged);
101
connect(ui->parameterSeven,
102
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
104
&SketcherToolDefaultWidget::parameterSeven_valueChanged);
105
connect(ui->parameterEight,
106
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
108
&SketcherToolDefaultWidget::parameterEight_valueChanged);
109
connect(ui->parameterNine,
110
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
112
&SketcherToolDefaultWidget::parameterNine_valueChanged);
113
connect(ui->parameterTen,
114
qOverload<double>(&Gui::QuantitySpinBox::valueChanged),
116
&SketcherToolDefaultWidget::parameterTen_valueChanged);
117
connect(ui->checkBoxTS1,
120
&SketcherToolDefaultWidget::checkBoxTS1_toggled);
121
connect(ui->checkBoxTS2,
124
&SketcherToolDefaultWidget::checkBoxTS2_toggled);
125
connect(ui->checkBoxTS3,
128
&SketcherToolDefaultWidget::checkBoxTS3_toggled);
129
connect(ui->checkBoxTS4,
132
&SketcherToolDefaultWidget::checkBoxTS4_toggled);
133
connect(ui->comboBox1,
134
qOverload<int>(&QComboBox::currentIndexChanged),
136
&SketcherToolDefaultWidget::comboBox1_currentIndexChanged);
137
connect(ui->comboBox2,
138
qOverload<int>(&QComboBox::currentIndexChanged),
140
&SketcherToolDefaultWidget::comboBox2_currentIndexChanged);
141
connect(ui->comboBox3,
142
qOverload<int>(&QComboBox::currentIndexChanged),
144
&SketcherToolDefaultWidget::comboBox3_currentIndexChanged);
147
// pre-select the number of the spinbox when it gets the focus.
148
bool SketcherToolDefaultWidget::eventFilter(QObject* object, QEvent* event)
150
if (event->type() == QEvent::FocusIn) {
151
for (int i = 0; i < nParameters; i++) {
152
auto parameterSpinBox = getParameterSpinBox(i);
154
if (object == parameterSpinBox) {
155
parameterSpinBox->selectNumber();
160
else if (event->type() == QEvent::KeyPress) {
161
QKeyEvent* ke = static_cast<QKeyEvent*>(event);
162
if (ke->key() == Qt::Key_Tab || ke->key() == Qt::Key_Return) {
163
for (int i = 0; i < nParameters; i++) {
164
if (object == getParameterSpinBox(i)) {
165
signalParameterTabOrEnterPressed(i);
175
void SketcherToolDefaultWidget::reset()
177
Base::StateLocker lock(blockParameterSlots, true);
179
std::fill(isSet.begin(), isSet.end(), false);
181
for (int i = 0; i < nParameters; i++) {
182
setParameterVisible(i, false);
183
setParameter(i, 0.F);
186
for (int i = 0; i < nCheckbox; i++) {
187
setCheckboxVisible(i, false);
188
setCheckboxChecked(i, false);
189
setCheckboxPrefEntry(i, "");
191
for (int i = 0; i < nCombobox; i++) {
192
setComboboxVisible(i, false);
193
setComboboxIndex(i, 0);
194
getComboBox(i)->clear();
197
setNoticeVisible(false);
200
void SketcherToolDefaultWidget::setNoticeText(const QString& string)
202
ui->notice->setText(string);
204
void SketcherToolDefaultWidget::setNoticeVisible(bool visible)
206
ui->notice->setVisible(visible);
209
// Spinboxes functions
210
void SketcherToolDefaultWidget::parameterOne_valueChanged(double val)
212
if (!blockParameterSlots) {
213
isSet[Parameter::First] = true;
214
/*setParameterFontStyle(Parameter::First, FontStyle::Bold);
215
if (!blockParameterFocusPassing) {
216
setParameterFocus(Parameter::Second);
218
signalParameterValueChanged(Parameter::First, val);
221
void SketcherToolDefaultWidget::parameterTwo_valueChanged(double val)
223
if (!blockParameterSlots) {
224
isSet[Parameter::Second] = true;
225
signalParameterValueChanged(Parameter::Second, val);
228
void SketcherToolDefaultWidget::parameterThree_valueChanged(double val)
230
if (!blockParameterSlots) {
231
isSet[Parameter::Third] = true;
232
signalParameterValueChanged(Parameter::Third, val);
235
void SketcherToolDefaultWidget::parameterFour_valueChanged(double val)
237
if (!blockParameterSlots) {
238
isSet[Parameter::Fourth] = true;
239
signalParameterValueChanged(Parameter::Fourth, val);
242
void SketcherToolDefaultWidget::parameterFive_valueChanged(double val)
244
if (!blockParameterSlots) {
245
isSet[Parameter::Fifth] = true;
246
signalParameterValueChanged(Parameter::Fifth, val);
249
void SketcherToolDefaultWidget::parameterSix_valueChanged(double val)
251
if (!blockParameterSlots) {
252
isSet[Parameter::Sixth] = true;
253
signalParameterValueChanged(Parameter::Sixth, val);
256
void SketcherToolDefaultWidget::parameterSeven_valueChanged(double val)
258
if (!blockParameterSlots) {
259
isSet[Parameter::Seventh] = true;
260
signalParameterValueChanged(Parameter::Seventh, val);
263
void SketcherToolDefaultWidget::parameterEight_valueChanged(double val)
265
if (!blockParameterSlots) {
266
isSet[Parameter::Eighth] = true;
267
signalParameterValueChanged(Parameter::Eighth, val);
270
void SketcherToolDefaultWidget::parameterNine_valueChanged(double val)
272
if (!blockParameterSlots) {
273
isSet[Parameter::Ninth] = true;
274
signalParameterValueChanged(Parameter::Ninth, val);
277
void SketcherToolDefaultWidget::parameterTen_valueChanged(double val)
279
if (!blockParameterSlots) {
280
isSet[Parameter::Tenth] = true;
281
signalParameterValueChanged(Parameter::Tenth, val);
285
void SketcherToolDefaultWidget::initNParameters(int nparameters, QObject* filteringObject)
287
Base::StateLocker lock(blockParameterSlots, true);
289
isSet.resize(nparameters);
291
std::fill(isSet.begin(), isSet.end(), false);
293
for (int i = 0; i < nParameters; i++) {
294
setParameterVisible(i, (i < nparameters));
295
setParameter(i, 0.F);
296
setParameterFilteringObject(i, filteringObject);
297
// setParameterFontStyle(i, FontStyle::Italic);
300
setParameterFocus(Parameter::First);
303
void SketcherToolDefaultWidget::setParameterVisible(int parameterindex, bool visible)
305
if (parameterindex < nParameters) {
306
getParameterLabel(parameterindex)->setVisible(visible);
307
getParameterSpinBox(parameterindex)->setVisible(visible);
311
void SketcherToolDefaultWidget::setParameterFilteringObject(int parameterindex,
312
QObject* filteringObject)
314
if (parameterindex < nParameters) {
315
getParameterSpinBox(parameterindex)->installEventFilter(filteringObject);
320
THROWM(Base::IndexError,
321
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
324
void SketcherToolDefaultWidget::setParameterLabel(int parameterindex, const QString& string)
326
if (parameterindex < nParameters) {
327
getParameterLabel(parameterindex)->setText(string);
331
void SketcherToolDefaultWidget::setParameter(int parameterindex, double val)
333
if (parameterindex < nParameters) {
334
getParameterSpinBox(parameterindex)->setValue(val);
339
THROWM(Base::IndexError,
340
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
343
void SketcherToolDefaultWidget::setParameterWithoutPassingFocus(int parameterindex, double val)
345
Base::StateLocker lock(blockParameterFocusPassing, true);
346
setParameter(parameterindex, val);
349
void SketcherToolDefaultWidget::configureParameterInitialValue(int parameterindex, double val)
351
Base::StateLocker lock(blockParameterSlots, true);
352
setParameter(parameterindex, val);
355
void SketcherToolDefaultWidget::configureParameterUnit(int parameterindex, const Base::Unit& unit)
357
// For reference unit can be changed with :
358
// setUnit(Base::Unit::Length); Base::Unit::Angle
359
Base::StateLocker lock(blockParameterSlots, true);
360
if (parameterindex < nParameters) {
361
getParameterSpinBox(parameterindex)->setUnit(unit);
366
THROWM(Base::IndexError,
367
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
370
void SketcherToolDefaultWidget::configureParameterDecimals(int parameterindex, int val)
372
Base::StateLocker lock(blockParameterSlots, true);
373
if (parameterindex < nParameters) {
374
getParameterSpinBox(parameterindex)->setDecimals(val);
379
THROWM(Base::IndexError,
380
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
383
void SketcherToolDefaultWidget::configureParameterMin(int parameterindex, double val)
385
Base::StateLocker lock(blockParameterSlots, true);
386
if (parameterindex < nParameters) {
387
getParameterSpinBox(parameterindex)->setMinimum(val);
392
THROWM(Base::IndexError,
393
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
396
void SketcherToolDefaultWidget::configureParameterMax(int parameterindex, double val)
398
Base::StateLocker lock(blockParameterSlots, true);
399
if (parameterindex < nParameters) {
400
getParameterSpinBox(parameterindex)->setMaximum(val);
405
THROWM(Base::IndexError,
406
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
409
void SketcherToolDefaultWidget::setParameterEnabled(int parameterindex, bool active)
411
if (parameterindex < nParameters) {
412
getParameterSpinBox(parameterindex)->setEnabled(active);
417
THROWM(Base::IndexError,
418
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
421
void SketcherToolDefaultWidget::setParameterFocus(int parameterindex)
423
if (parameterindex < nParameters) {
424
auto parameterSpinBox = getParameterSpinBox(parameterindex);
425
parameterSpinBox->selectNumber();
426
QMetaObject::invokeMethod(parameterSpinBox, "setFocus", Qt::QueuedConnection);
431
THROWM(Base::IndexError,
432
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
435
void SketcherToolDefaultWidget::setParameterFontStyle(int parameterindex, FontStyle fontStyle)
437
if (parameterindex < nParameters) {
438
auto parameterSpinBox = getParameterSpinBox(parameterindex);
441
case FontStyle::Italic:
442
parameterSpinBox->setStyleSheet(QStringLiteral("font-weight: normal;"));
443
parameterSpinBox->setStyleSheet(QStringLiteral("font-style: italic;"));
445
case FontStyle::Bold:
446
parameterSpinBox->setStyleSheet(QStringLiteral("font-style: normal;"));
447
parameterSpinBox->setStyleSheet(QStringLiteral("font-weight: bold;"));
449
case FontStyle::Normal:
450
parameterSpinBox->setStyleSheet(QStringLiteral("font-style: normal;"));
451
parameterSpinBox->setStyleSheet(QStringLiteral("font-weight: normal;"));
458
THROWM(Base::IndexError,
459
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
462
QLabel* SketcherToolDefaultWidget::getParameterLabel(int parameterindex)
464
switch (parameterindex) {
465
case Parameter::First:
468
case Parameter::Second:
471
case Parameter::Third:
474
case Parameter::Fourth:
477
case Parameter::Fifth:
480
case Parameter::Sixth:
483
case Parameter::Seventh:
486
case Parameter::Eighth:
489
case Parameter::Ninth:
492
case Parameter::Tenth:
496
THROWM(Base::IndexError, "ToolWidget spinbox index out of range");
500
Gui::PrefQuantitySpinBox* SketcherToolDefaultWidget::getParameterSpinBox(int parameterindex)
502
switch (parameterindex) {
503
case Parameter::First:
504
return ui->parameterOne;
506
case Parameter::Second:
507
return ui->parameterTwo;
509
case Parameter::Third:
510
return ui->parameterThree;
512
case Parameter::Fourth:
513
return ui->parameterFour;
515
case Parameter::Fifth:
516
return ui->parameterFive;
518
case Parameter::Sixth:
519
return ui->parameterSix;
521
case Parameter::Seventh:
522
return ui->parameterSeven;
524
case Parameter::Eighth:
525
return ui->parameterEight;
527
case Parameter::Ninth:
528
return ui->parameterNine;
530
case Parameter::Tenth:
531
return ui->parameterTen;
534
THROWM(Base::IndexError, "ToolWidget spinbox index out of range");
538
double SketcherToolDefaultWidget::getParameter(int parameterindex)
540
if (parameterindex < nParameters) {
541
return getParameterSpinBox(parameterindex)->value().getValue();
544
THROWM(Base::IndexError, "ToolWidget parameter index out of range");
547
bool SketcherToolDefaultWidget::isParameterSet(int parameterindex)
549
if (parameterindex < nParameters) {
550
return isSet[parameterindex];
553
THROWM(Base::IndexError, "ToolWidget parameter index out of range");
556
void SketcherToolDefaultWidget::updateVisualValue(int parameterindex,
558
const Base::Unit& unit)
560
if (parameterindex < nParameters) {
561
Base::StateLocker lock(blockParameterSlots, true);
563
auto parameterSpinBox = getParameterSpinBox(parameterindex);
565
parameterSpinBox->setValue(Base::Quantity(val, unit));
567
if (parameterSpinBox->hasFocus()) {
568
parameterSpinBox->selectNumber();
574
THROWM(Base::IndexError,
575
QT_TRANSLATE_NOOP("Exceptions", "ToolWidget parameter index out of range"));
579
void SketcherToolDefaultWidget::checkBoxTS1_toggled(bool val)
581
if (!blockParameterSlots) {
582
if (!isCheckBoxPrefEntryEmpty(Checkbox::FirstBox)) {
583
ui->checkBoxTS1->onSave();
585
signalCheckboxCheckedChanged(Checkbox::FirstBox, val);
588
void SketcherToolDefaultWidget::checkBoxTS2_toggled(bool val)
590
if (!blockParameterSlots) {
591
if (!isCheckBoxPrefEntryEmpty(Checkbox::SecondBox)) {
592
ui->checkBoxTS2->onSave();
594
signalCheckboxCheckedChanged(Checkbox::SecondBox, val);
597
void SketcherToolDefaultWidget::checkBoxTS3_toggled(bool val)
599
if (!blockParameterSlots) {
600
if (!isCheckBoxPrefEntryEmpty(Checkbox::ThirdBox)) {
601
ui->checkBoxTS3->onSave();
603
signalCheckboxCheckedChanged(Checkbox::ThirdBox, val);
606
void SketcherToolDefaultWidget::checkBoxTS4_toggled(bool val)
608
if (!blockParameterSlots) {
609
if (!isCheckBoxPrefEntryEmpty(Checkbox::FourthBox)) {
610
ui->checkBoxTS4->onSave();
612
signalCheckboxCheckedChanged(Checkbox::FourthBox, val);
616
void SketcherToolDefaultWidget::initNCheckboxes(int ncheckbox)
618
Base::StateLocker lock(blockParameterSlots, true);
620
for (int i = 0; i < nCheckbox; i++) {
621
setCheckboxVisible(i, (i < ncheckbox));
622
setCheckboxChecked(i, false);
626
void SketcherToolDefaultWidget::setCheckboxVisible(int checkboxindex, bool visible)
628
if (checkboxindex < nCheckbox) {
629
getCheckBox(checkboxindex)->setVisible(visible);
633
void SketcherToolDefaultWidget::setCheckboxChecked(int checkboxindex, bool checked)
635
if (checkboxindex < nCheckbox) {
636
getCheckBox(checkboxindex)->setChecked(checked);
640
void SketcherToolDefaultWidget::setCheckboxLabel(int checkboxindex, const QString& string)
642
if (checkboxindex < nCheckbox) {
643
getCheckBox(checkboxindex)->setText(string);
647
void SketcherToolDefaultWidget::setCheckboxToolTip(int checkboxindex, const QString& string)
649
if (checkboxindex < nCheckbox) {
650
getCheckBox(checkboxindex)->setToolTip(string);
654
Gui::PrefCheckBox* SketcherToolDefaultWidget::getCheckBox(int checkboxindex)
656
switch (checkboxindex) {
657
case Checkbox::FirstBox:
658
return ui->checkBoxTS1;
660
case Checkbox::SecondBox:
661
return ui->checkBoxTS2;
663
case Checkbox::ThirdBox:
664
return ui->checkBoxTS3;
666
case Checkbox::FourthBox:
667
return ui->checkBoxTS4;
670
THROWM(Base::IndexError, "ToolWidget checkbox index out of range");
674
bool SketcherToolDefaultWidget::getCheckboxChecked(int checkboxindex)
676
if (checkboxindex < nParameters) {
677
return getCheckBox(checkboxindex)->isChecked();
680
THROWM(Base::IndexError, "ToolWidget checkbox index out of range");
683
void SketcherToolDefaultWidget::setCheckboxPrefEntry(int checkboxindex,
684
const std::string& prefEntry)
686
if (checkboxindex < nCheckbox) {
687
QByteArray byteArray(prefEntry.c_str(), prefEntry.length());
688
getCheckBox(checkboxindex)->setEntryName(byteArray);
692
void SketcherToolDefaultWidget::restoreCheckBoxPref(int checkboxindex)
694
if (checkboxindex < nCheckbox) {
695
getCheckBox(checkboxindex)->onRestore();
699
void SketcherToolDefaultWidget::setCheckboxIcon(int checkboxindex, QIcon icon)
701
if (checkboxindex < nCheckbox) {
702
getCheckBox(checkboxindex)->setIcon(icon);
706
void SketcherToolDefaultWidget::setComboboxItemIcon(int comboboxindex, int index, QIcon icon)
708
if (comboboxindex < nCombobox) {
709
getComboBox(comboboxindex)->setItemIcon(index, icon);
713
void SketcherToolDefaultWidget::setComboboxPrefEntry(int comboboxindex,
714
const std::string& prefEntry)
716
if (comboboxindex < nCombobox) {
717
QByteArray byteArray(prefEntry.c_str(), prefEntry.length());
718
getComboBox(comboboxindex)->setEntryName(byteArray);
722
void SketcherToolDefaultWidget::restoreComboboxPref(int comboboxindex)
724
if (comboboxindex < nCombobox) {
725
getComboBox(comboboxindex)->onRestore();
729
bool SketcherToolDefaultWidget::isCheckBoxPrefEntryEmpty(int checkboxindex)
731
return getCheckBox(checkboxindex)->entryName().size() == 0;
735
void SketcherToolDefaultWidget::comboBox1_currentIndexChanged(int val)
737
if (!blockParameterSlots) {
738
signalComboboxSelectionChanged(Combobox::FirstCombo, val);
740
ui->comboBox1->onSave();
742
void SketcherToolDefaultWidget::comboBox2_currentIndexChanged(int val)
744
if (!blockParameterSlots) {
745
signalComboboxSelectionChanged(Combobox::SecondCombo, val);
747
ui->comboBox2->onSave();
749
void SketcherToolDefaultWidget::comboBox3_currentIndexChanged(int val)
751
if (!blockParameterSlots) {
752
signalComboboxSelectionChanged(Combobox::ThirdCombo, val);
754
ui->comboBox3->onSave();
757
void SketcherToolDefaultWidget::initNComboboxes(int ncombobox)
759
Base::StateLocker lock(blockParameterSlots, true);
761
for (int i = 0; i < nCombobox; i++) {
762
setComboboxVisible(i, (i < ncombobox));
766
void SketcherToolDefaultWidget::setComboboxVisible(int comboboxindex, bool visible)
768
if (comboboxindex < nCombobox) {
769
getComboBox(comboboxindex)->setVisible(visible);
770
getComboBoxLabel(comboboxindex)->setVisible(visible);
774
void SketcherToolDefaultWidget::setComboboxIndex(int comboboxindex, int value)
776
if (comboboxindex < nCombobox) {
777
getComboBox(comboboxindex)->setCurrentIndex(value);
781
void SketcherToolDefaultWidget::setComboboxLabel(int comboboxindex, const QString& string)
783
if (comboboxindex < nCombobox) {
784
getComboBoxLabel(comboboxindex)->setText(string);
788
void SketcherToolDefaultWidget::setComboboxElements(int comboboxindex, const QStringList& names)
790
if (comboboxindex < nCombobox) {
791
getComboBox(comboboxindex)->clear();
792
getComboBox(comboboxindex)->addItems(names);
796
Gui::PrefComboBox* SketcherToolDefaultWidget::getComboBox(int comboboxindex)
798
switch (comboboxindex) {
799
case Combobox::FirstCombo:
800
return ui->comboBox1;
802
case Combobox::SecondCombo:
803
return ui->comboBox2;
805
case Combobox::ThirdCombo:
806
return ui->comboBox3;
809
THROWM(Base::IndexError, "ToolWidget combobox index out of range");
812
QLabel* SketcherToolDefaultWidget::getComboBoxLabel(int comboboxindex)
814
switch (comboboxindex) {
815
case Combobox::FirstCombo:
816
return ui->comboLabel1;
818
case Combobox::SecondCombo:
819
return ui->comboLabel2;
821
case Combobox::ThirdCombo:
822
return ui->comboLabel3;
825
THROWM(Base::IndexError, "ToolWidget combobox index out of range");
829
int SketcherToolDefaultWidget::getComboboxIndex(int comboboxindex)
831
if (comboboxindex < nCombobox) {
832
return getComboBox(comboboxindex)->currentIndex();
835
THROWM(Base::IndexError, "ToolWidget combobox index out of range");
839
void SketcherToolDefaultWidget::changeEvent(QEvent* ev)
841
QWidget::changeEvent(ev);
842
if (ev->type() == QEvent::LanguageChange) {
843
ui->retranslateUi(this);
847
#include "moc_SketcherToolDefaultWidget.cpp"