Remove tab Measurements.
--HG-- branch : feature
This commit is contained in:
parent
62a6fcce44
commit
f8b92a0e89
|
@ -53,32 +53,13 @@
|
||||||
* @param parent parent widget
|
* @param parent parent widget
|
||||||
*/
|
*/
|
||||||
DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *parent)
|
DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *parent)
|
||||||
:DialogTool(data, NULL_ID, parent), ui(new Ui::DialogIncrements), data(data), doc(doc), row(0), column(0),
|
:DialogTool(data, NULL_ID, parent), ui(new Ui::DialogIncrements), data(data), doc(doc), row(0), column(0)
|
||||||
m(nullptr)
|
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
qApp->Settings()->GetOsSeparator() ? setLocale(QLocale::system()) : setLocale(QLocale(QLocale::C));
|
qApp->Settings()->GetOsSeparator() ? setLocale(QLocale::system()) : setLocale(QLocale(QLocale::C));
|
||||||
|
|
||||||
qCDebug(vDialog, "Showing variables.");
|
qCDebug(vDialog, "Showing variables.");
|
||||||
if (qApp->patternType() == MeasurementsType::Individual)
|
|
||||||
{
|
|
||||||
qCDebug(vDialog, "Pattern with individual measurements.");
|
|
||||||
const QString filePath = doc->MPath();
|
|
||||||
try
|
|
||||||
{
|
|
||||||
VDomDocument::ValidateXML("://schema/individual_measurements.xsd", filePath);
|
|
||||||
m = new VIndividualMeasurements(data);
|
|
||||||
m->setXMLContent(filePath);
|
|
||||||
}
|
|
||||||
catch (VException &e)
|
|
||||||
{
|
|
||||||
e.CriticalMessageBox(tr("File error."), this);
|
|
||||||
emit DialogClosed(QDialog::Rejected);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ShowUnits();
|
ShowUnits();
|
||||||
|
|
||||||
TextDelegate *textDelegate = new TextDelegate(NameRegExp(), data, ui->tableWidgetIncrement);
|
TextDelegate *textDelegate = new TextDelegate(NameRegExp(), data, ui->tableWidgetIncrement);
|
||||||
|
@ -88,12 +69,6 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par
|
||||||
ui->tableWidgetIncrement->setItemDelegateForColumn(3, doubleDelegate);// in sizes
|
ui->tableWidgetIncrement->setItemDelegateForColumn(3, doubleDelegate);// in sizes
|
||||||
ui->tableWidgetIncrement->setItemDelegateForColumn(4, doubleDelegate);// in heights
|
ui->tableWidgetIncrement->setItemDelegateForColumn(4, doubleDelegate);// in heights
|
||||||
|
|
||||||
if (qApp->patternType() == MeasurementsType::Standard)
|
|
||||||
{
|
|
||||||
ui->checkBoxHideEmpty->setChecked(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
FillMeasurements();
|
|
||||||
FillIncrements();
|
FillIncrements();
|
||||||
FillLengthsLines();
|
FillLengthsLines();
|
||||||
FillLengthLinesAngles();
|
FillLengthLinesAngles();
|
||||||
|
@ -103,75 +78,6 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par
|
||||||
FillAnglesArcs();
|
FillAnglesArcs();
|
||||||
FillAnglesCurves();
|
FillAnglesCurves();
|
||||||
|
|
||||||
if (qApp->patternType() == MeasurementsType::Standard)
|
|
||||||
{
|
|
||||||
ui->toolBoxMeasurements->setItemEnabled(0, false);
|
|
||||||
|
|
||||||
const QString filePath = doc->MPath();
|
|
||||||
VStandardMeasurements *mSt = nullptr;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
VDomDocument::ValidateXML("://schema/standard_measurements.xsd", filePath);
|
|
||||||
mSt = new VStandardMeasurements(data);
|
|
||||||
mSt->setXMLContent(filePath);
|
|
||||||
|
|
||||||
ui->labelBaseValues->setText(tr("Base size: %1 %3; Base height: %2 %3").arg(mSt->Size())
|
|
||||||
.arg(mSt->Height()).arg(VDomDocument::UnitsToStr(qApp->patternUnit())));
|
|
||||||
ui->labelDescription->setText(tr("Description: \"%1\"").arg(mSt->TrDescription()));
|
|
||||||
delete mSt;
|
|
||||||
}
|
|
||||||
catch (VException &e)
|
|
||||||
{
|
|
||||||
e.CriticalMessageBox(tr("File error."), this);
|
|
||||||
if (mSt != nullptr)
|
|
||||||
{
|
|
||||||
delete mSt;
|
|
||||||
}
|
|
||||||
emit DialogClosed(QDialog::Rejected);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
QRegularExpressionValidator *reg =
|
|
||||||
new QRegularExpressionValidator(QRegularExpression("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*"));
|
|
||||||
ui->lineEditMail->setValidator(reg);
|
|
||||||
|
|
||||||
HideColumns(ui->tableWidgetMeasurements);
|
|
||||||
HideColumns(ui->tableWidgetIncrement);
|
|
||||||
|
|
||||||
ui->tableWidgetMeasurements->setItemDelegateForColumn(2, doubleDelegate);// base value
|
|
||||||
|
|
||||||
connect(ui->tableWidgetMeasurements, &QTableWidget::cellChanged, this, &DialogIncrements::MeasurementChanged);
|
|
||||||
|
|
||||||
ui->lineEditGivenName->setText(m->GivenName());
|
|
||||||
ui->lineEditFamilyName->setText(m->FamilyName());
|
|
||||||
|
|
||||||
ui->comboBoxSex->addItem(tr("male"), QVariant(m->GenderToStr(SexType1::Male)));
|
|
||||||
ui->comboBoxSex->addItem(tr("female"), QVariant(m->GenderToStr(SexType1::Female)));
|
|
||||||
qint32 index = ui->comboBoxSex->findData(m->GenderToStr(m->Sex()));
|
|
||||||
if (index != -1)
|
|
||||||
{
|
|
||||||
ui->comboBoxSex->setCurrentIndex(index);
|
|
||||||
}
|
|
||||||
|
|
||||||
ui->dateEditBirthDate->setDate(m->BirthDate());
|
|
||||||
ui->lineEditMail->setText(m->Mail());
|
|
||||||
|
|
||||||
connect(ui->lineEditGivenName, &QLineEdit::editingFinished, this, &DialogIncrements::SaveGivenName);
|
|
||||||
connect(ui->lineEditFamilyName, &QLineEdit::editingFinished, this, &DialogIncrements::SaveFamilyName);
|
|
||||||
connect(ui->lineEditMail, &QLineEdit::editingFinished, this, &DialogIncrements::SaveEmail);
|
|
||||||
connect(ui->comboBoxSex, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
|
||||||
&DialogIncrements::SaveSex);
|
|
||||||
connect(ui->dateEditBirthDate, &QDateEdit::dateChanged, this, &DialogIncrements::SaveBirthDate);
|
|
||||||
|
|
||||||
// hide fileds that don't exist in individual measurements
|
|
||||||
ui->labelBaseValues->setVisible(false);
|
|
||||||
ui->labelDescription->setVisible(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
ui->toolBoxMeasurements->setCurrentIndex(1);
|
|
||||||
|
|
||||||
connect(ui->tableWidgetIncrement, &QTableWidget::cellChanged, this, &DialogIncrements::IncrementChanged);
|
connect(ui->tableWidgetIncrement, &QTableWidget::cellChanged, this, &DialogIncrements::IncrementChanged);
|
||||||
connect(ui->toolButtonAdd, &QPushButton::clicked, this, &DialogIncrements::clickedToolButtonAdd);
|
connect(ui->toolButtonAdd, &QPushButton::clicked, this, &DialogIncrements::clickedToolButtonAdd);
|
||||||
connect(ui->toolButtonRemove, &QPushButton::clicked, this, &DialogIncrements::clickedToolButtonRemove);
|
connect(ui->toolButtonRemove, &QPushButton::clicked, this, &DialogIncrements::clickedToolButtonRemove);
|
||||||
|
@ -181,79 +87,6 @@ DialogIncrements::DialogIncrements(VContainer *data, VPattern *doc, QWidget *par
|
||||||
connect(this->doc, &VPattern::FullUpdateFromFile, this, &DialogIncrements::FullUpdateFromFile);
|
connect(this->doc, &VPattern::FullUpdateFromFile, this, &DialogIncrements::FullUpdateFromFile);
|
||||||
|
|
||||||
ui->tabWidget->setCurrentIndex(0);
|
ui->tabWidget->setCurrentIndex(0);
|
||||||
|
|
||||||
connect(ui->toolButtonOpenMeasurements, &QToolButton::clicked, this, &DialogIncrements::OpenTable);
|
|
||||||
connect(ui->checkBoxHideEmpty, &QCheckBox::stateChanged, this, &DialogIncrements::ShowMeasurements);
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
/**
|
|
||||||
* @brief FillMeasurements load measurements data
|
|
||||||
*/
|
|
||||||
void DialogIncrements::FillMeasurements()
|
|
||||||
{
|
|
||||||
const QMap<QString, QSharedPointer<VMeasurement> > table = data->DataMeasurements();
|
|
||||||
qint32 currentRow = -1;
|
|
||||||
QMap<QString, QSharedPointer<VMeasurement> >::const_iterator iMap;
|
|
||||||
ui->tableWidgetMeasurements->setRowCount ( table.size() );
|
|
||||||
for (iMap = table.constBegin(); iMap != table.constEnd(); ++iMap)
|
|
||||||
{
|
|
||||||
QSharedPointer<VMeasurement> m = iMap.value();
|
|
||||||
if (ui->checkBoxHideEmpty->isChecked() && m->IsNotUsed())
|
|
||||||
{
|
|
||||||
continue; // skip this measurement
|
|
||||||
}
|
|
||||||
currentRow++;
|
|
||||||
|
|
||||||
QTableWidgetItem *item = new QTableWidgetItem(QString(iMap.key()));
|
|
||||||
item->setTextAlignment(Qt::AlignHCenter);
|
|
||||||
item->setFont(QFont("Times", 12, QFont::Bold));
|
|
||||||
item->setToolTip(m->GetGuiText());
|
|
||||||
SetItemViewOnly(item);
|
|
||||||
item->setTextAlignment(Qt::AlignLeft);
|
|
||||||
ui->tableWidgetMeasurements->setItem(currentRow, 0, item);
|
|
||||||
|
|
||||||
if (qApp->patternType() == MeasurementsType::Standard)
|
|
||||||
{
|
|
||||||
QTableWidgetItem *item = new QTableWidgetItem(qApp->LocaleToString(
|
|
||||||
data->GetTableValue(qApp->TrVars()->VarFromUser(iMap.key()),
|
|
||||||
qApp->patternType())));
|
|
||||||
item->setTextAlignment(Qt::AlignHCenter);
|
|
||||||
SetItemViewOnly(item);
|
|
||||||
ui->tableWidgetMeasurements->setItem(currentRow, 1, item);// calculated value
|
|
||||||
}
|
|
||||||
|
|
||||||
item = new QTableWidgetItem(qApp->LocaleToString(m->GetBase()));
|
|
||||||
item->setTextAlignment(Qt::AlignHCenter);
|
|
||||||
if (qApp->patternType() == MeasurementsType::Standard)
|
|
||||||
{
|
|
||||||
SetItemViewOnly(item);
|
|
||||||
}
|
|
||||||
ui->tableWidgetMeasurements->setItem(currentRow, 2, item);
|
|
||||||
|
|
||||||
if (qApp->patternType() == MeasurementsType::Standard)
|
|
||||||
{
|
|
||||||
QTableWidgetItem *item = new QTableWidgetItem(qApp->LocaleToString(m->GetKsize()));
|
|
||||||
item->setTextAlignment(Qt::AlignHCenter);
|
|
||||||
SetItemViewOnly(item);
|
|
||||||
ui->tableWidgetMeasurements->setItem(currentRow, 3, item);// in sizes
|
|
||||||
|
|
||||||
item = new QTableWidgetItem(qApp->LocaleToString(m->GetKheight()));
|
|
||||||
item->setTextAlignment(Qt::AlignHCenter);
|
|
||||||
SetItemViewOnly(item);
|
|
||||||
ui->tableWidgetMeasurements->setItem(currentRow, 4, item);// in heights
|
|
||||||
}
|
|
||||||
|
|
||||||
item = new QTableWidgetItem(m->GetDescription());
|
|
||||||
item->setToolTip(m->GetDescription());
|
|
||||||
SetItemViewOnly(item);
|
|
||||||
item->setTextAlignment(Qt::AlignLeft);
|
|
||||||
ui->tableWidgetMeasurements->setItem(currentRow, 5, item);
|
|
||||||
}
|
|
||||||
ui->tableWidgetMeasurements->setRowCount(currentRow+1);
|
|
||||||
ui->tableWidgetMeasurements->verticalHeader()->setDefaultSectionSize(20);
|
|
||||||
ui->tableWidgetMeasurements->resizeColumnsToContents();
|
|
||||||
ui->tableWidgetMeasurements->resizeRowsToContents();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -422,10 +255,6 @@ void DialogIncrements::ShowUnits()
|
||||||
ShowHeaderUnits(ui->tableWidgetIncrement, 3, unit);// in sizes
|
ShowHeaderUnits(ui->tableWidgetIncrement, 3, unit);// in sizes
|
||||||
ShowHeaderUnits(ui->tableWidgetIncrement, 4, unit);// in heights
|
ShowHeaderUnits(ui->tableWidgetIncrement, 4, unit);// in heights
|
||||||
|
|
||||||
ShowHeaderUnits(ui->tableWidgetMeasurements, 2, unit);// base value
|
|
||||||
ShowHeaderUnits(ui->tableWidgetMeasurements, 3, unit);// in sizes
|
|
||||||
ShowHeaderUnits(ui->tableWidgetMeasurements, 4, unit);// in heights
|
|
||||||
|
|
||||||
ShowHeaderUnits(ui->tableWidgetLines, 1, unit);// lengths
|
ShowHeaderUnits(ui->tableWidgetLines, 1, unit);// lengths
|
||||||
ShowHeaderUnits(ui->tableWidgetSplines, 1, unit);// lengths
|
ShowHeaderUnits(ui->tableWidgetSplines, 1, unit);// lengths
|
||||||
ShowHeaderUnits(ui->tableWidgetArcs, 1, unit);// lengths
|
ShowHeaderUnits(ui->tableWidgetArcs, 1, unit);// lengths
|
||||||
|
@ -459,30 +288,12 @@ void DialogIncrements::ShowSuccess() const
|
||||||
popup->Show(frameGeometry().center());
|
popup->Show(frameGeometry().center());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::ShowMeasurements()
|
|
||||||
{
|
|
||||||
if (qApp->patternType() == MeasurementsType::Individual)
|
|
||||||
{
|
|
||||||
ui->tableWidgetMeasurements->blockSignals(true);
|
|
||||||
}
|
|
||||||
ui->tableWidgetMeasurements->clearContents();
|
|
||||||
FillMeasurements();
|
|
||||||
ui->tableWidgetMeasurements->horizontalHeader()->setStretchLastSection(true);
|
|
||||||
if (qApp->patternType() == MeasurementsType::Individual)
|
|
||||||
{
|
|
||||||
ui->tableWidgetMeasurements->blockSignals(false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief FullUpdateFromFile update information in tables form file
|
* @brief FullUpdateFromFile update information in tables form file
|
||||||
*/
|
*/
|
||||||
void DialogIncrements::FullUpdateFromFile()
|
void DialogIncrements::FullUpdateFromFile()
|
||||||
{
|
{
|
||||||
ShowMeasurements();
|
|
||||||
|
|
||||||
ui->tableWidgetIncrement->blockSignals(true);
|
ui->tableWidgetIncrement->blockSignals(true);
|
||||||
ui->tableWidgetIncrement->clearContents();
|
ui->tableWidgetIncrement->clearContents();
|
||||||
FillIncrements();
|
FillIncrements();
|
||||||
|
@ -499,206 +310,6 @@ void DialogIncrements::FullUpdateFromFile()
|
||||||
FillLengthArcs();
|
FillLengthArcs();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::SaveGivenName()
|
|
||||||
{
|
|
||||||
m->setGivenName(ui->lineEditGivenName->text());
|
|
||||||
QString error;
|
|
||||||
if (m->SaveDocument(doc->MPath(), error) == false)
|
|
||||||
{
|
|
||||||
QMessageBox messageBox;
|
|
||||||
messageBox.setIcon(QMessageBox::Warning);
|
|
||||||
messageBox.setInformativeText(tr("Could not save GivenName"));
|
|
||||||
messageBox.setDefaultButton(QMessageBox::Ok);
|
|
||||||
messageBox.setDetailedText(error);
|
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
|
||||||
messageBox.exec();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowSuccess();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::SaveFamilyName()
|
|
||||||
{
|
|
||||||
|
|
||||||
m->setFamilyName(ui->lineEditFamilyName->text());
|
|
||||||
QString error;
|
|
||||||
if (m->SaveDocument(doc->MPath(), error) == false)
|
|
||||||
{
|
|
||||||
QMessageBox messageBox;
|
|
||||||
messageBox.setIcon(QMessageBox::Warning);
|
|
||||||
messageBox.setInformativeText(tr("Could not save FamilyName"));
|
|
||||||
messageBox.setDefaultButton(QMessageBox::Ok);
|
|
||||||
messageBox.setDetailedText(error);
|
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
|
||||||
messageBox.exec();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowSuccess();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::SaveEmail()
|
|
||||||
{
|
|
||||||
m->setMail(ui->lineEditMail->text());
|
|
||||||
QString error;
|
|
||||||
if (m->SaveDocument(doc->MPath(), error) == false)
|
|
||||||
{
|
|
||||||
QMessageBox messageBox;
|
|
||||||
messageBox.setIcon(QMessageBox::Warning);
|
|
||||||
messageBox.setInformativeText(tr("Could not save Email"));
|
|
||||||
messageBox.setDefaultButton(QMessageBox::Ok);
|
|
||||||
messageBox.setDetailedText(error);
|
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
|
||||||
messageBox.exec();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowSuccess();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::SaveSex(int index)
|
|
||||||
{
|
|
||||||
m->setSex(m->StrToGender(ui->comboBoxSex->itemData(index).toString()));
|
|
||||||
QString error;
|
|
||||||
if (m->SaveDocument(doc->MPath(), error) == false)
|
|
||||||
{
|
|
||||||
QMessageBox messageBox;
|
|
||||||
messageBox.setIcon(QMessageBox::Warning);
|
|
||||||
messageBox.setInformativeText(tr("Could not save Sex"));
|
|
||||||
messageBox.setDefaultButton(QMessageBox::Ok);
|
|
||||||
messageBox.setDetailedText(error);
|
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
|
||||||
messageBox.exec();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowSuccess();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::SaveBirthDate(const QDate & date)
|
|
||||||
{
|
|
||||||
m->setBirthDate(date);
|
|
||||||
QString error;
|
|
||||||
if (m->SaveDocument(doc->MPath(), error) == false)
|
|
||||||
{
|
|
||||||
QMessageBox messageBox;
|
|
||||||
messageBox.setIcon(QMessageBox::Warning);
|
|
||||||
messageBox.setInformativeText(tr("Could not save BirthDate"));
|
|
||||||
messageBox.setDefaultButton(QMessageBox::Ok);
|
|
||||||
messageBox.setDetailedText(error);
|
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
|
||||||
messageBox.exec();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowSuccess();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::OpenTable()
|
|
||||||
{
|
|
||||||
const QString text = tr("Measurements use different units than pattern. This pattern required measurements in %1")
|
|
||||||
.arg(doc->UnitsToStr(qApp->patternUnit()));
|
|
||||||
if (qApp->patternType() == MeasurementsType::Individual)
|
|
||||||
{
|
|
||||||
const QString filter(tr("Individual measurements (*.vit)"));
|
|
||||||
|
|
||||||
//Use standard path to individual measurements
|
|
||||||
const QString path = qApp->Settings()->GetPathIndividualMeasurements();
|
|
||||||
|
|
||||||
const QString filePath = QFileDialog::getOpenFileName(this, tr("Open file"), path, filter);
|
|
||||||
if (filePath.isEmpty())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
VIndividualMeasurements *m1 = nullptr;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
VDomDocument::ValidateXML("://schema/individual_measurements.xsd", filePath);
|
|
||||||
|
|
||||||
m1 = new VIndividualMeasurements(data);
|
|
||||||
m1->setXMLContent(filePath);
|
|
||||||
}
|
|
||||||
catch (VException &e)
|
|
||||||
{
|
|
||||||
e.CriticalMessageBox(tr("File error."), this);
|
|
||||||
delete m1;
|
|
||||||
emit DialogClosed(QDialog::Rejected);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Unit mUnit = m1->MUnit();
|
|
||||||
if (qApp->patternUnit() != mUnit)
|
|
||||||
{
|
|
||||||
QMessageBox::critical(this, tr("Wrong units."), text);
|
|
||||||
delete m1;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
delete m;
|
|
||||||
m = m1;
|
|
||||||
data->ClearVariables(VarType::Measurement);
|
|
||||||
m->Measurements();
|
|
||||||
emit FullUpdateTree(Document::LiteParse);
|
|
||||||
|
|
||||||
doc->SetPath(filePath);
|
|
||||||
emit haveLiteChange();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const QString filter(tr("Standard measurements (*.vst)"));
|
|
||||||
//Use standard path to standard measurements
|
|
||||||
const QString path = qApp->Settings()->GetPathStandardMeasurements();
|
|
||||||
const QString filePath = QFileDialog::getOpenFileName(this, tr("Open file"), path, filter);
|
|
||||||
if (filePath.isEmpty())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
VStandardMeasurements *m1 = nullptr;
|
|
||||||
try
|
|
||||||
{
|
|
||||||
VDomDocument::ValidateXML("://schema/standard_measurements.xsd", filePath);
|
|
||||||
|
|
||||||
m1 = new VStandardMeasurements(data);
|
|
||||||
m1->setXMLContent(filePath);
|
|
||||||
Unit mUnit = m1->MUnit();
|
|
||||||
if (qApp->patternUnit() != mUnit)
|
|
||||||
{
|
|
||||||
QMessageBox::critical(this, tr("Wrong units."), text);
|
|
||||||
delete m1;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
m1->SetSize();
|
|
||||||
m1->SetHeight();
|
|
||||||
data->ClearVariables(VarType::Measurement);
|
|
||||||
m1->Measurements();
|
|
||||||
delete m1;
|
|
||||||
emit FullUpdateTree(Document::LiteParse);
|
|
||||||
|
|
||||||
doc->SetPath(filePath);
|
|
||||||
emit haveLiteChange();
|
|
||||||
}
|
|
||||||
catch (VException &e)
|
|
||||||
{
|
|
||||||
e.CriticalMessageBox(tr("File error."), this);
|
|
||||||
delete m1;
|
|
||||||
emit DialogClosed(QDialog::Rejected);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
/**
|
/**
|
||||||
* @brief clickedToolButtonAdd create new row in table
|
* @brief clickedToolButtonAdd create new row in table
|
||||||
|
@ -907,72 +518,6 @@ void DialogIncrements::IncrementChanged ( qint32 row, qint32 column )
|
||||||
ShowSuccess();
|
ShowSuccess();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void DialogIncrements::MeasurementChanged(qint32 row, qint32 column)
|
|
||||||
{
|
|
||||||
qCDebug(vDialog, "Measurement changed.");
|
|
||||||
switch (column)
|
|
||||||
{
|
|
||||||
case 2:// value column
|
|
||||||
{
|
|
||||||
const QTableWidgetItem *itemName = ui->tableWidgetMeasurements->item(row, 0);// name column
|
|
||||||
QTableWidgetItem *item = ui->tableWidgetMeasurements->item(row, 2);
|
|
||||||
|
|
||||||
QSharedPointer<VMeasurement> measur = data->GetVariable<VMeasurement>(
|
|
||||||
qApp->TrVars()->VarFromUser(itemName->text()));
|
|
||||||
const QString tag = measur->TagName();
|
|
||||||
QDomNodeList list = m->elementsByTagName(tag);
|
|
||||||
QDomElement domElement = list.at(0).toElement();
|
|
||||||
if (domElement.isElement() == false)
|
|
||||||
{
|
|
||||||
qCDebug(vDialog, "Can't find measurement %s", tag.toUtf8().constData());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool ok = false;
|
|
||||||
qreal base = item->text().replace(",", ".").toDouble(&ok);
|
|
||||||
if (ok == false)
|
|
||||||
{
|
|
||||||
measur->SetBase(0);
|
|
||||||
item->setText("0");
|
|
||||||
qCDebug(vDialog, "Can't convert toDouble measurement value");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
measur->SetBase(base);
|
|
||||||
}
|
|
||||||
qCDebug(vDialog, "Changed value to %f", base);
|
|
||||||
|
|
||||||
// Convert value to measurements table unit
|
|
||||||
base = UnitConvertor(base, qApp->patternUnit(), m->MUnit());
|
|
||||||
|
|
||||||
m->SetAttribute(domElement, VIndividualMeasurements::AttrValue, QString("%1").arg(base));
|
|
||||||
QString error;
|
|
||||||
if (m->SaveDocument(doc->MPath(), error) == false)
|
|
||||||
{
|
|
||||||
QMessageBox messageBox;
|
|
||||||
messageBox.setIcon(QMessageBox::Warning);
|
|
||||||
messageBox.setInformativeText(tr("Can't save measurement"));
|
|
||||||
messageBox.setDefaultButton(QMessageBox::Ok);
|
|
||||||
messageBox.setDetailedText(error);
|
|
||||||
messageBox.setStandardButtons(QMessageBox::Ok);
|
|
||||||
messageBox.exec();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowSuccess();
|
|
||||||
}
|
|
||||||
data->ClearVariables();
|
|
||||||
m->Measurements();
|
|
||||||
|
|
||||||
emit FullUpdateTree(Document::LiteParse);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void DialogIncrements::closeEvent(QCloseEvent *event)
|
void DialogIncrements::closeEvent(QCloseEvent *event)
|
||||||
{
|
{
|
||||||
|
@ -984,5 +529,4 @@ void DialogIncrements::closeEvent(QCloseEvent *event)
|
||||||
DialogIncrements::~DialogIncrements()
|
DialogIncrements::~DialogIncrements()
|
||||||
{
|
{
|
||||||
delete ui;
|
delete ui;
|
||||||
delete m;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,15 +54,7 @@ public slots:
|
||||||
void clickedToolButtonAdd();
|
void clickedToolButtonAdd();
|
||||||
void clickedToolButtonRemove();
|
void clickedToolButtonRemove();
|
||||||
void IncrementChanged ( qint32 row, qint32 column );
|
void IncrementChanged ( qint32 row, qint32 column );
|
||||||
void MeasurementChanged ( qint32 row, qint32 column );
|
|
||||||
void FullUpdateFromFile();
|
void FullUpdateFromFile();
|
||||||
void SaveGivenName();
|
|
||||||
void SaveFamilyName();
|
|
||||||
void SaveEmail();
|
|
||||||
void SaveSex(int index);
|
|
||||||
void SaveBirthDate(const QDate & date);
|
|
||||||
void OpenTable();
|
|
||||||
void ShowMeasurements();
|
|
||||||
signals:
|
signals:
|
||||||
/**
|
/**
|
||||||
* @brief FullUpdateTree signal update data for dom document
|
* @brief FullUpdateTree signal update data for dom document
|
||||||
|
@ -92,12 +84,9 @@ private:
|
||||||
/** @brief column save number of column current selected cell */
|
/** @brief column save number of column current selected cell */
|
||||||
qint32 column;
|
qint32 column;
|
||||||
|
|
||||||
VIndividualMeasurements *m;
|
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void FillTable(const QMap<QString, T> varTable, QTableWidget *table);
|
void FillTable(const QMap<QString, T> varTable, QTableWidget *table);
|
||||||
|
|
||||||
void FillMeasurements();
|
|
||||||
void FillIncrements();
|
void FillIncrements();
|
||||||
void FillLengthsLines();
|
void FillLengthsLines();
|
||||||
void FillLengthLinesAngles();
|
void FillLengthLinesAngles();
|
||||||
|
|
|
@ -41,364 +41,6 @@
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tabStandard">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Measurements</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<item alignment="Qt::AlignTop">
|
|
||||||
<widget class="QLabel" name="label_5">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Load another measurements table</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item alignment="Qt::AlignTop">
|
|
||||||
<widget class="QToolButton" name="toolButtonOpenMeasurements">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">...</string>
|
|
||||||
</property>
|
|
||||||
<property name="icon">
|
|
||||||
<iconset theme="document-open">
|
|
||||||
<normaloff/>
|
|
||||||
</iconset>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QToolBox" name="toolBoxMeasurements">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>1</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="currentIndex">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<widget class="QWidget" name="pagePersonalInformation">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>939</width>
|
|
||||||
<height>411</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<attribute name="icon">
|
|
||||||
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
|
|
||||||
<normaloff>:/icon/16x16/info.png</normaloff>:/icon/16x16/info.png</iconset>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="label">
|
|
||||||
<string>Personal information</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
|
||||||
<item row="0" column="0" colspan="2">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelGivenName">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>84</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Given name</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="lineEditGivenName"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<property name="spacing">
|
|
||||||
<number>6</number>
|
|
||||||
</property>
|
|
||||||
<property name="sizeConstraint">
|
|
||||||
<enum>QLayout::SetDefaultConstraint</enum>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelFamilyName">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Family name</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="lineEditFamilyName"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelBirthDate">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>84</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Birth date</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QDateEdit" name="dateEditBirthDate">
|
|
||||||
<property name="displayFormat">
|
|
||||||
<string notr="true">yyyy-MM-dd</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelSex">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>84</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Sex</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QComboBox" name="comboBoxSex">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2">
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelMail">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>84</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Email</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLineEdit" name="lineEditMail"/>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="pageMeasurements">
|
|
||||||
<property name="geometry">
|
|
||||||
<rect>
|
|
||||||
<x>0</x>
|
|
||||||
<y>0</y>
|
|
||||||
<width>939</width>
|
|
||||||
<height>411</height>
|
|
||||||
</rect>
|
|
||||||
</property>
|
|
||||||
<attribute name="icon">
|
|
||||||
<iconset resource="../../../libs/vmisc/share/resources/icon.qrc">
|
|
||||||
<normaloff>:/icon/16x16/measurement.png</normaloff>:/icon/16x16/measurement.png</iconset>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="label">
|
|
||||||
<string>Measurements</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelBaseValues">
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">Base size: ; base height: </string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QLabel" name="labelDescription">
|
|
||||||
<property name="text">
|
|
||||||
<string notr="true">Description:</string>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="checkBoxHideEmpty">
|
|
||||||
<property name="text">
|
|
||||||
<string>Hide empty measurements</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QTableWidget" name="tableWidgetMeasurements">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="layoutDirection">
|
|
||||||
<enum>Qt::LeftToRight</enum>
|
|
||||||
</property>
|
|
||||||
<property name="editTriggers">
|
|
||||||
<set>QAbstractItemView::AnyKeyPressed|QAbstractItemView::DoubleClicked|QAbstractItemView::EditKeyPressed</set>
|
|
||||||
</property>
|
|
||||||
<property name="alternatingRowColors">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="selectionMode">
|
|
||||||
<enum>QAbstractItemView::SingleSelection</enum>
|
|
||||||
</property>
|
|
||||||
<property name="selectionBehavior">
|
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
|
||||||
<number>95</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
|
||||||
<number>25</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderStretchLastSection">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderDefaultSectionSize">
|
|
||||||
<number>45</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderMinimumSectionSize">
|
|
||||||
<number>8</number>
|
|
||||||
</attribute>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Name</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>The calculated value</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Base value</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>In sizes</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>In heights</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Description</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="tabIncrements">
|
<widget class="QWidget" name="tabIncrements">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Increments</string>
|
<string>Increments</string>
|
||||||
|
@ -787,7 +429,6 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>tableWidgetMeasurements</tabstop>
|
|
||||||
<tabstop>tableWidgetIncrement</tabstop>
|
<tabstop>tableWidgetIncrement</tabstop>
|
||||||
<tabstop>toolButtonAdd</tabstop>
|
<tabstop>toolButtonAdd</tabstop>
|
||||||
<tabstop>toolButtonRemove</tabstop>
|
<tabstop>toolButtonRemove</tabstop>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user