Show pattern making system in tab Information of a measurement file.
--HG-- branch : develop
This commit is contained in:
parent
37f11e732d
commit
ff768c1c0f
|
@ -238,80 +238,6 @@ void TapeConfigurationPage::SetLabelComboBox(const QStringList &list)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
void TapeConfigurationPage::InitPMSystems(QComboBox *systemCombo)
|
|
||||||
{
|
|
||||||
QMap<QString, QString> systems;
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p0_S), p0_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p1_S), p1_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p2_S), p2_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p3_S), p3_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p4_S), p4_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p5_S), p5_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p6_S), p6_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p7_S), p7_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p8_S), p8_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p9_S), p9_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p10_S), p10_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p11_S), p11_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p12_S), p12_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p13_S), p13_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p14_S), p14_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p15_S), p15_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p16_S), p16_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p17_S), p17_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p18_S), p18_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p19_S), p19_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p20_S), p20_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p21_S), p21_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p22_S), p22_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p23_S), p23_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p24_S), p24_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p25_S), p25_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p26_S), p26_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p27_S), p27_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p28_S), p28_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p29_S), p29_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p30_S), p30_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p31_S), p31_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p32_S), p32_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p33_S), p33_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p34_S), p34_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p35_S), p35_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p36_S), p36_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p37_S), p37_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p38_S), p38_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p39_S), p39_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p40_S), p40_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p41_S), p41_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p42_S), p42_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p43_S), p43_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p44_S), p44_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p45_S), p45_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p46_S), p46_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p47_S), p47_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p48_S), p48_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p49_S), p49_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p50_S), p50_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p51_S), p51_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p52_S), p52_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p53_S), p53_S);
|
|
||||||
systems.insert(qApp->TrVars()->PMSystemName(p54_S), p54_S);
|
|
||||||
|
|
||||||
// * The default option (blank field or 'None') should appear at the top of the list.
|
|
||||||
// * The list should be sorted alphabetically so users can find their system easily.
|
|
||||||
// * 'None' would be in the middle of an alphabetically sorted list.
|
|
||||||
|
|
||||||
systemCombo->addItem(qApp->TrVars()->PMSystemName(p998_S), p998_S);
|
|
||||||
|
|
||||||
QMap<QString, QString>::const_iterator i = systems.constBegin();
|
|
||||||
while (i != systems.constEnd())
|
|
||||||
{
|
|
||||||
systemCombo->addItem(i.key(), i.value());
|
|
||||||
++i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void TapeConfigurationPage::RetranslateUi()
|
void TapeConfigurationPage::RetranslateUi()
|
||||||
{
|
{
|
||||||
|
|
|
@ -77,7 +77,6 @@ private:
|
||||||
|
|
||||||
QGroupBox *LangGroup();
|
QGroupBox *LangGroup();
|
||||||
void SetLabelComboBox(const QStringList &list);
|
void SetLabelComboBox(const QStringList &list);
|
||||||
void InitPMSystems(QComboBox *systemCombo);
|
|
||||||
void RetranslateUi();
|
void RetranslateUi();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,10 @@ TMainWindow::TMainWindow(QWidget *parent)
|
||||||
comboBoxUnits(nullptr),
|
comboBoxUnits(nullptr),
|
||||||
formulaBaseHeight(0),
|
formulaBaseHeight(0),
|
||||||
lock(nullptr),
|
lock(nullptr),
|
||||||
search()
|
search(),
|
||||||
|
labelGradationHeights(nullptr),
|
||||||
|
labelGradationSizes(nullptr),
|
||||||
|
labelPatternUnit(nullptr)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
search = QSharedPointer<VTableSearch>(new VTableSearch(ui->tableWidget));
|
search = QSharedPointer<VTableSearch>(new VTableSearch(ui->tableWidget));
|
||||||
|
@ -118,6 +121,7 @@ void TMainWindow::RetranslateTable()
|
||||||
{
|
{
|
||||||
const int row = ui->tableWidget->currentRow();
|
const int row = ui->tableWidget->currentRow();
|
||||||
RefreshTable();
|
RefreshTable();
|
||||||
|
ShowUnits();
|
||||||
ui->tableWidget->selectRow(row);
|
ui->tableWidget->selectRow(row);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -447,6 +451,49 @@ void TMainWindow::changeEvent(QEvent *event)
|
||||||
{
|
{
|
||||||
// retranslate designer form (single inheritance approach)
|
// retranslate designer form (single inheritance approach)
|
||||||
ui->retranslateUi(this);
|
ui->retranslateUi(this);
|
||||||
|
|
||||||
|
if (mType == MeasurementsType::Standard)
|
||||||
|
{
|
||||||
|
ui->labelMType->setText(tr("Standard measurements"));
|
||||||
|
ui->labelBaseSizeValue->setText(QString().setNum(m->BaseSize()) + " " +
|
||||||
|
VDomDocument::UnitsToStr(m->MUnit(), true));
|
||||||
|
ui->labelBaseHeightValue->setText(QString().setNum(m->BaseHeight()) + " " +
|
||||||
|
VDomDocument::UnitsToStr(m->MUnit(), true));
|
||||||
|
|
||||||
|
labelGradationHeights = new QLabel(tr("Height: "));
|
||||||
|
labelGradationSizes = new QLabel(tr("Size: "));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui->labelMType->setText(tr("Individual measurements"));
|
||||||
|
|
||||||
|
const qint32 index = ui->comboBoxGender->currentIndex();
|
||||||
|
ui->comboBoxGender->blockSignals(true);
|
||||||
|
ui->comboBoxGender->clear();
|
||||||
|
InitGender(ui->comboBoxGender);
|
||||||
|
ui->comboBoxGender->setCurrentIndex(index);
|
||||||
|
ui->comboBoxGender->blockSignals(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
const qint32 index = ui->comboBoxPMSystem->currentIndex();
|
||||||
|
ui->comboBoxPMSystem->blockSignals(true);
|
||||||
|
ui->comboBoxPMSystem->clear();
|
||||||
|
InitPMSystems(ui->comboBoxPMSystem);
|
||||||
|
ui->comboBoxPMSystem->setCurrentIndex(index);
|
||||||
|
ui->comboBoxPMSystem->blockSignals(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
labelPatternUnit = new QLabel(tr("Pattern unit:"));
|
||||||
|
|
||||||
|
const qint32 index = comboBoxUnits->currentIndex();
|
||||||
|
comboBoxUnits->blockSignals(true);
|
||||||
|
comboBoxUnits->clear();
|
||||||
|
InitComboBoxUnits();
|
||||||
|
comboBoxUnits->setCurrentIndex(index);
|
||||||
|
comboBoxUnits->blockSignals(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// remember to call base class implementation
|
// remember to call base class implementation
|
||||||
|
@ -676,6 +723,19 @@ void TMainWindow::SaveNotes()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::SavePMSystem(int index)
|
||||||
|
{
|
||||||
|
QString system = ui->comboBoxPMSystem->itemData(index).toString();
|
||||||
|
system.remove(0, 1);// clear p
|
||||||
|
|
||||||
|
if (m->PMSystem() != system)
|
||||||
|
{
|
||||||
|
m->SetPMSystem(system);
|
||||||
|
MeasurementsWasSaved(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void TMainWindow::ReadOnly(bool ro)
|
void TMainWindow::ReadOnly(bool ro)
|
||||||
{
|
{
|
||||||
|
@ -1667,12 +1727,14 @@ void TMainWindow::InitWindow()
|
||||||
const QStringList listHeights = VMeasurement::WholeListHeights(mUnit);
|
const QStringList listHeights = VMeasurement::WholeListHeights(mUnit);
|
||||||
const QStringList listSizes = VMeasurement::WholeListSizes(mUnit);
|
const QStringList listSizes = VMeasurement::WholeListSizes(mUnit);
|
||||||
|
|
||||||
gradationHeights = SetGradationList(tr("Height: "), listHeights);
|
labelGradationHeights = new QLabel(tr("Height: "));
|
||||||
|
gradationHeights = SetGradationList(labelGradationHeights, listHeights);
|
||||||
SetDefaultHeight(static_cast<int>(data->height()));
|
SetDefaultHeight(static_cast<int>(data->height()));
|
||||||
connect(gradationHeights, static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
|
connect(gradationHeights, static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
|
||||||
this, &TMainWindow::ChangedHeight);
|
this, &TMainWindow::ChangedHeight);
|
||||||
|
|
||||||
gradationSizes = SetGradationList(tr("Size: "), listSizes);
|
labelGradationSizes = new QLabel(tr("Size: "));
|
||||||
|
gradationSizes = SetGradationList(labelGradationSizes, listSizes);
|
||||||
SetDefaultSize(static_cast<int>(data->size()));
|
SetDefaultSize(static_cast<int>(data->size()));
|
||||||
connect(gradationSizes, static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
|
connect(gradationSizes, static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
|
||||||
this, &TMainWindow::ChangedSize);
|
this, &TMainWindow::ChangedSize);
|
||||||
|
@ -1729,9 +1791,8 @@ void TMainWindow::InitWindow()
|
||||||
ui->lineEditGivenName->setText(m->GivenName());
|
ui->lineEditGivenName->setText(m->GivenName());
|
||||||
ui->lineEditFamilyName->setText(m->FamilyName());
|
ui->lineEditFamilyName->setText(m->FamilyName());
|
||||||
|
|
||||||
ui->comboBoxGender->addItem(tr("unknown", "gender"), QVariant(static_cast<int>(GenderType::Unknown)));
|
ui->comboBoxGender->clear();
|
||||||
ui->comboBoxGender->addItem(tr("male", "gender"), QVariant(static_cast<int>(GenderType::Male)));
|
InitGender(ui->comboBoxGender);
|
||||||
ui->comboBoxGender->addItem(tr("female", "gender"), QVariant(static_cast<int>(GenderType::Female)));
|
|
||||||
const qint32 index = ui->comboBoxGender->findData(static_cast<int>(m->Gender()));
|
const qint32 index = ui->comboBoxGender->findData(static_cast<int>(m->Gender()));
|
||||||
ui->comboBoxGender->setCurrentIndex(index);
|
ui->comboBoxGender->setCurrentIndex(index);
|
||||||
|
|
||||||
|
@ -1753,6 +1814,14 @@ void TMainWindow::InitWindow()
|
||||||
connect(ui->toolButtonExpr, &QToolButton::clicked, this, &TMainWindow::Fx);
|
connect(ui->toolButtonExpr, &QToolButton::clicked, this, &TMainWindow::Fx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->comboBoxPMSystem->setEnabled(true);
|
||||||
|
ui->comboBoxPMSystem->clear();
|
||||||
|
InitPMSystems(ui->comboBoxPMSystem);
|
||||||
|
const qint32 index = ui->comboBoxPMSystem->findData(QLatin1Char('p')+m->PMSystem());
|
||||||
|
ui->comboBoxPMSystem->setCurrentIndex(index);
|
||||||
|
connect(ui->comboBoxPMSystem, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||||
|
&TMainWindow::SavePMSystem);
|
||||||
|
|
||||||
connect(ui->lineEditFind, &QLineEdit::textEdited, this, &TMainWindow::Find);
|
connect(ui->lineEditFind, &QLineEdit::textEdited, this, &TMainWindow::Find);
|
||||||
connect(ui->toolButtonFindPrevious, &QToolButton::clicked, this, &TMainWindow::FindPrevious);
|
connect(ui->toolButtonFindPrevious, &QToolButton::clicked, this, &TMainWindow::FindPrevious);
|
||||||
connect(ui->toolButtonFindNext, &QToolButton::clicked, this, &TMainWindow::FindNext);
|
connect(ui->toolButtonFindNext, &QToolButton::clicked, this, &TMainWindow::FindNext);
|
||||||
|
@ -1937,9 +2006,9 @@ QTableWidgetItem *TMainWindow::AddCell(const QString &text, int row, int column,
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QComboBox *TMainWindow::SetGradationList(const QString &label, const QStringList &list)
|
QComboBox *TMainWindow::SetGradationList(QLabel *label, const QStringList &list)
|
||||||
{
|
{
|
||||||
ui->toolBarGradation->addWidget(new QLabel(label));
|
ui->toolBarGradation->addWidget(label);
|
||||||
|
|
||||||
QComboBox *comboBox = new QComboBox;
|
QComboBox *comboBox = new QComboBox;
|
||||||
comboBox->addItems(list);
|
comboBox->addItems(list);
|
||||||
|
@ -2253,6 +2322,8 @@ void TMainWindow::GUIReadOnly(bool ro)
|
||||||
ui->lineEditEmail->setReadOnly(ro);
|
ui->lineEditEmail->setReadOnly(ro);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui->comboBoxPMSystem->setDisabled(ro);
|
||||||
|
|
||||||
MeasurementReadOnly(ro);
|
MeasurementReadOnly(ro);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2521,12 +2592,11 @@ void TMainWindow::SetDecimals()
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void TMainWindow::InitUnits()
|
void TMainWindow::InitUnits()
|
||||||
{
|
{
|
||||||
ui->toolBarGradation->addWidget(new QLabel(tr("Pattern unit:")));
|
labelPatternUnit = new QLabel(tr("Pattern unit:"));
|
||||||
|
ui->toolBarGradation->addWidget(labelPatternUnit);
|
||||||
|
|
||||||
comboBoxUnits = new QComboBox(this);
|
comboBoxUnits = new QComboBox(this);
|
||||||
comboBoxUnits->addItem(VDomDocument::UnitsToStr(Unit::Cm, true), QVariant(static_cast<int>(Unit::Cm)));
|
InitComboBoxUnits();
|
||||||
comboBoxUnits->addItem(VDomDocument::UnitsToStr(Unit::Mm, true), QVariant(static_cast<int>(Unit::Mm)));
|
|
||||||
comboBoxUnits->addItem(VDomDocument::UnitsToStr(Unit::Inch, true), QVariant(static_cast<int>(Unit::Inch)));
|
|
||||||
|
|
||||||
// set default unit
|
// set default unit
|
||||||
const qint32 indexUnit = comboBoxUnits->findData(static_cast<int>(pUnit));
|
const qint32 indexUnit = comboBoxUnits->findData(static_cast<int>(pUnit));
|
||||||
|
@ -2541,6 +2611,24 @@ void TMainWindow::InitUnits()
|
||||||
ui->toolBarGradation->addWidget(comboBoxUnits);
|
ui->toolBarGradation->addWidget(comboBoxUnits);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::InitComboBoxUnits()
|
||||||
|
{
|
||||||
|
SCASSERT(comboBoxUnits != nullptr);
|
||||||
|
comboBoxUnits->addItem(VDomDocument::UnitsToStr(Unit::Cm, true), QVariant(static_cast<int>(Unit::Cm)));
|
||||||
|
comboBoxUnits->addItem(VDomDocument::UnitsToStr(Unit::Mm, true), QVariant(static_cast<int>(Unit::Mm)));
|
||||||
|
comboBoxUnits->addItem(VDomDocument::UnitsToStr(Unit::Inch, true), QVariant(static_cast<int>(Unit::Inch)));
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::InitGender(QComboBox *gender)
|
||||||
|
{
|
||||||
|
SCASSERT(gender != nullptr);
|
||||||
|
gender->addItem(tr("unknown", "gender"), QVariant(static_cast<int>(GenderType::Unknown)));
|
||||||
|
gender->addItem(tr("male", "gender"), QVariant(static_cast<int>(GenderType::Male)));
|
||||||
|
gender->addItem(tr("female", "gender"), QVariant(static_cast<int>(GenderType::Female)));
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void TMainWindow::ShowInGraphicalShell()
|
void TMainWindow::ShowInGraphicalShell()
|
||||||
{
|
{
|
||||||
|
|
|
@ -87,6 +87,7 @@ private slots:
|
||||||
void SaveGender(int index);
|
void SaveGender(int index);
|
||||||
void SaveBirthDate(const QDate & date);
|
void SaveBirthDate(const QDate & date);
|
||||||
void SaveNotes();
|
void SaveNotes();
|
||||||
|
void SavePMSystem(int index);
|
||||||
void ReadOnly(bool ro);
|
void ReadOnly(bool ro);
|
||||||
|
|
||||||
void Remove();
|
void Remove();
|
||||||
|
@ -138,12 +139,17 @@ private:
|
||||||
int formulaBaseHeight;
|
int formulaBaseHeight;
|
||||||
VLockGuardPtr<char> lock;
|
VLockGuardPtr<char> lock;
|
||||||
QSharedPointer<VTableSearch> search;
|
QSharedPointer<VTableSearch> search;
|
||||||
|
QLabel *labelGradationHeights;
|
||||||
|
QLabel *labelGradationSizes;
|
||||||
|
QLabel *labelPatternUnit;
|
||||||
|
|
||||||
void SetupMenu();
|
void SetupMenu();
|
||||||
void InitWindow();
|
void InitWindow();
|
||||||
void InitTable();
|
void InitTable();
|
||||||
void SetDecimals();
|
void SetDecimals();
|
||||||
void InitUnits();
|
void InitUnits();
|
||||||
|
void InitComboBoxUnits();
|
||||||
|
void InitGender(QComboBox *gender);
|
||||||
|
|
||||||
void ShowUnits();
|
void ShowUnits();
|
||||||
void ShowHeaderUnits(QTableWidget *table, int column, const QString &unit);
|
void ShowHeaderUnits(QTableWidget *table, int column, const QString &unit);
|
||||||
|
@ -156,7 +162,7 @@ private:
|
||||||
|
|
||||||
QTableWidgetItem *AddCell(const QString &text, int row, int column, int aligment, bool ok = true);
|
QTableWidgetItem *AddCell(const QString &text, int row, int column, int aligment, bool ok = true);
|
||||||
|
|
||||||
QComboBox *SetGradationList(const QString &label, const QStringList &list);
|
QComboBox *SetGradationList(QLabel *label, const QStringList &list);
|
||||||
void SetDefaultHeight(int value);
|
void SetDefaultHeight(int value);
|
||||||
void SetDefaultSize(int value);
|
void SetDefaultSize(int value);
|
||||||
|
|
||||||
|
|
|
@ -566,70 +566,70 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="labelBaseSize">
|
<widget class="QLabel" name="labelBaseSize">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Base size:</string>
|
<string>Base size:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="3" column="1">
|
||||||
<widget class="QLabel" name="labelBaseSizeValue">
|
<widget class="QLabel" name="labelBaseSizeValue">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Base size value</string>
|
<string>Base size value</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="4" column="0">
|
||||||
<widget class="QLabel" name="labelBaseHeight">
|
<widget class="QLabel" name="labelBaseHeight">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Base height:</string>
|
<string>Base height:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="4" column="1">
|
||||||
<widget class="QLabel" name="labelBaseHeightValue">
|
<widget class="QLabel" name="labelBaseHeightValue">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Base height value</string>
|
<string>Base height value</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="5" column="0">
|
||||||
<widget class="QLabel" name="labelGivenName">
|
<widget class="QLabel" name="labelGivenName">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Given name:</string>
|
<string>Given name:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="1">
|
<item row="5" column="1">
|
||||||
<widget class="QLineEdit" name="lineEditGivenName">
|
<widget class="QLineEdit" name="lineEditGivenName">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
<item row="6" column="0">
|
||||||
<widget class="QLabel" name="labelFamilyName">
|
<widget class="QLabel" name="labelFamilyName">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Family name:</string>
|
<string>Family name:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="1">
|
<item row="6" column="1">
|
||||||
<widget class="QLineEdit" name="lineEditFamilyName">
|
<widget class="QLineEdit" name="lineEditFamilyName">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="0">
|
<item row="7" column="0">
|
||||||
<widget class="QLabel" name="labelBirthDate">
|
<widget class="QLabel" name="labelBirthDate">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Birth date:</string>
|
<string>Birth date:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="6" column="1">
|
<item row="7" column="1">
|
||||||
<widget class="QDateEdit" name="dateEditBirthDate">
|
<widget class="QDateEdit" name="dateEditBirthDate">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
@ -652,42 +652,42 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="0">
|
<item row="8" column="0">
|
||||||
<widget class="QLabel" name="labelGender">
|
<widget class="QLabel" name="labelGender">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Gender:</string>
|
<string>Gender:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="7" column="1">
|
<item row="8" column="1">
|
||||||
<widget class="QComboBox" name="comboBoxGender">
|
<widget class="QComboBox" name="comboBoxGender">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="0">
|
<item row="9" column="0">
|
||||||
<widget class="QLabel" name="labelEmail">
|
<widget class="QLabel" name="labelEmail">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Email:</string>
|
<string>Email:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="8" column="1">
|
<item row="9" column="1">
|
||||||
<widget class="QLineEdit" name="lineEditEmail">
|
<widget class="QLineEdit" name="lineEditEmail">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="0">
|
<item row="10" column="0">
|
||||||
<widget class="QLabel" name="labelNotes">
|
<widget class="QLabel" name="labelNotes">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Notes:</string>
|
<string>Notes:</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="9" column="1">
|
<item row="10" column="1">
|
||||||
<widget class="QPlainTextEdit" name="plainTextEditNotes">
|
<widget class="QPlainTextEdit" name="plainTextEditNotes">
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>false</bool>
|
<bool>false</bool>
|
||||||
|
@ -700,6 +700,20 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="labelPMSystem">
|
||||||
|
<property name="text">
|
||||||
|
<string>PM system:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBoxPMSystem">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
|
@ -8,8 +8,10 @@
|
||||||
<file>schema/pattern/v0.2.0.xsd</file>
|
<file>schema/pattern/v0.2.0.xsd</file>
|
||||||
<file>schema/standard_measurements/v0.3.0.xsd</file>
|
<file>schema/standard_measurements/v0.3.0.xsd</file>
|
||||||
<file>schema/standard_measurements/v0.4.0.xsd</file>
|
<file>schema/standard_measurements/v0.4.0.xsd</file>
|
||||||
|
<file>schema/standard_measurements/v0.4.1.xsd</file>
|
||||||
<file>schema/individual_measurements/v0.2.0.xsd</file>
|
<file>schema/individual_measurements/v0.2.0.xsd</file>
|
||||||
<file>schema/individual_measurements/v0.3.0.xsd</file>
|
<file>schema/individual_measurements/v0.3.0.xsd</file>
|
||||||
<file>schema/individual_measurements/v0.3.1.xsd</file>
|
<file>schema/individual_measurements/v0.3.1.xsd</file>
|
||||||
|
<file>schema/individual_measurements/v0.3.2.xsd</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
72
src/libs/ifc/schema/individual_measurements/v0.3.2.xsd
Normal file
72
src/libs/ifc/schema/individual_measurements/v0.3.2.xsd
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||||
|
<xs:element name="vit">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="version" type="formatVersion"></xs:element>
|
||||||
|
<xs:element name="read-only" type="xs:boolean"></xs:element>
|
||||||
|
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||||
|
<xs:element name="unit" type="units"></xs:element>
|
||||||
|
<xs:element name="pm_system" type="psCode"></xs:element>
|
||||||
|
<xs:element name="personal">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="family-name" type="xs:string"></xs:element>
|
||||||
|
<xs:element name="given-name" type="xs:string"></xs:element>
|
||||||
|
<xs:element name="birth-date" type="xs:date"></xs:element>
|
||||||
|
<xs:element name="gender" type="gender"></xs:element>
|
||||||
|
<xs:element name="email" type="xs:string"></xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="body-measurements">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="m" minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="name" type="shortName" use="required"></xs:attribute>
|
||||||
|
<xs:attribute name="value" type="xs:string" use="required"></xs:attribute>
|
||||||
|
<xs:attribute name="full_name" type="xs:string"></xs:attribute>
|
||||||
|
<xs:attribute name="description" type="xs:string"></xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:unique name="measurementName">
|
||||||
|
<xs:selector xpath="body-measurements/m"/>
|
||||||
|
<xs:field xpath="@name"/>
|
||||||
|
</xs:unique>
|
||||||
|
</xs:element>
|
||||||
|
<xs:simpleType name="shortName">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="^([^0-9*/^+\-=\s()?%:;!.,`'\"]){1,1}([^*/^+\-=\s()?%:;!.,`'\"]){0,}$"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="formatVersion">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="^(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))$"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="units">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="mm"/>
|
||||||
|
<xs:enumeration value="cm"/>
|
||||||
|
<xs:enumeration value="inch"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="gender">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="unknown"/>
|
||||||
|
<xs:enumeration value="male"/>
|
||||||
|
<xs:enumeration value="female"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="psCode">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="^^(([0-9]|[1-4][0-9]|5[0-4])|998)$"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:schema>
|
66
src/libs/ifc/schema/standard_measurements/v0.4.1.xsd
Normal file
66
src/libs/ifc/schema/standard_measurements/v0.4.1.xsd
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||||
|
<xs:element name="vst">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="version" type="formatVersion"></xs:element>
|
||||||
|
<xs:element name="read-only" type="xs:boolean"></xs:element>
|
||||||
|
<xs:element name="notes" type="xs:string" minOccurs="0" maxOccurs="1"></xs:element>
|
||||||
|
<xs:element name="unit" type="units"></xs:element>
|
||||||
|
<xs:element name="pm_system" type="psCode"></xs:element>
|
||||||
|
<xs:element name="size">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="base" type="xs:double" use="required"></xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="height">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="base" type="xs:double" use="required"></xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:element name="body-measurements">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="m" minOccurs="0" maxOccurs="unbounded">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:attribute name="name" type="shortName" use="required"></xs:attribute>
|
||||||
|
<xs:attribute name="base" type="xs:double" use="required"></xs:attribute>
|
||||||
|
<xs:attribute name="height_increase" type="xs:double" use="required"></xs:attribute>
|
||||||
|
<xs:attribute name="size_increase" type="xs:double" use="required"></xs:attribute>
|
||||||
|
<xs:attribute name="full_name" type="xs:string"></xs:attribute>
|
||||||
|
<xs:attribute name="description" type="xs:string"></xs:attribute>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
<xs:unique name="measurementName">
|
||||||
|
<xs:selector xpath="body-measurements/m"/>
|
||||||
|
<xs:field xpath="@name"/>
|
||||||
|
</xs:unique>
|
||||||
|
</xs:element>
|
||||||
|
<xs:simpleType name="shortName">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="^([^0-9*/^+\-=\s()?%:;!.,`'\"]){1,1}([^*/^+\-=\s()?%:;!.,`'\"]){0,}$"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="units">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:enumeration value="mm"/>
|
||||||
|
<xs:enumeration value="cm"/>
|
||||||
|
<xs:enumeration value="inch"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="formatVersion">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="^(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))\.(0|([1-9][0-9]*))$"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
<xs:simpleType name="psCode">
|
||||||
|
<xs:restriction base="xs:string">
|
||||||
|
<xs:pattern value="^^(([0-9]|[1-4][0-9]|5[0-4])|998)$"/>
|
||||||
|
</xs:restriction>
|
||||||
|
</xs:simpleType>
|
||||||
|
</xs:schema>
|
|
@ -40,8 +40,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const QString VVITConverter::MeasurementMinVerStr = QStringLiteral("0.2.0");
|
const QString VVITConverter::MeasurementMinVerStr = QStringLiteral("0.2.0");
|
||||||
const QString VVITConverter::MeasurementMaxVerStr = QStringLiteral("0.3.1");
|
const QString VVITConverter::MeasurementMaxVerStr = QStringLiteral("0.3.2");
|
||||||
const QString VVITConverter::CurrentSchema = QStringLiteral("://schema/individual_measurements/v0.3.1.xsd");
|
const QString VVITConverter::CurrentSchema = QStringLiteral("://schema/individual_measurements/v0.3.2.xsd");
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VVITConverter::VVITConverter(const QString &fileName)
|
VVITConverter::VVITConverter(const QString &fileName)
|
||||||
|
@ -91,6 +91,8 @@ QString VVITConverter::XSDSchema(int ver) const
|
||||||
case (0x000300):
|
case (0x000300):
|
||||||
return QStringLiteral("://schema/individual_measurements/v0.3.0.xsd");
|
return QStringLiteral("://schema/individual_measurements/v0.3.0.xsd");
|
||||||
case (0x000301):
|
case (0x000301):
|
||||||
|
return QStringLiteral("://schema/individual_measurements/v0.3.1.xsd");
|
||||||
|
case (0x000302):
|
||||||
return CurrentSchema;
|
return CurrentSchema;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
@ -122,6 +124,13 @@ void VVITConverter::ApplyPatches()
|
||||||
V_FALLTHROUGH
|
V_FALLTHROUGH
|
||||||
}
|
}
|
||||||
case (0x000301):
|
case (0x000301):
|
||||||
|
{
|
||||||
|
ToV0_3_2();
|
||||||
|
const QString schema = XSDSchema(0x000302);
|
||||||
|
ValidateXML(schema, fileName);
|
||||||
|
V_FALLTHROUGH
|
||||||
|
}
|
||||||
|
case (0x000302):
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -235,6 +244,19 @@ void VVITConverter::GenderV0_3_1()
|
||||||
parent.replaceChild(gender, sex);
|
parent.replaceChild(gender, sex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VVITConverter::PM_SystemV0_3_2()
|
||||||
|
{
|
||||||
|
QDomElement pm_system = createElement(QStringLiteral("pm_system"));
|
||||||
|
pm_system.appendChild(createTextNode(QStringLiteral("998")));
|
||||||
|
|
||||||
|
const QDomNodeList nodeList = this->elementsByTagName(QStringLiteral("personal"));
|
||||||
|
QDomElement personal = nodeList.at(0).toElement();
|
||||||
|
|
||||||
|
QDomElement parent = personal.parentNode().toElement();
|
||||||
|
parent.insertBefore(pm_system, personal);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VVITConverter::ToV0_3_0()
|
void VVITConverter::ToV0_3_0()
|
||||||
{
|
{
|
||||||
|
@ -252,3 +274,11 @@ void VVITConverter::ToV0_3_1()
|
||||||
GenderV0_3_1();
|
GenderV0_3_1();
|
||||||
Save();
|
Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VVITConverter::ToV0_3_2()
|
||||||
|
{
|
||||||
|
SetVersion(QStringLiteral("0.3.2"));
|
||||||
|
PM_SystemV0_3_2();
|
||||||
|
Save();
|
||||||
|
}
|
||||||
|
|
|
@ -60,9 +60,11 @@ private:
|
||||||
void ConvertMeasurementsToV0_3_0();
|
void ConvertMeasurementsToV0_3_0();
|
||||||
QDomElement AddMV0_3_0(const QString &name, qreal value);
|
QDomElement AddMV0_3_0(const QString &name, qreal value);
|
||||||
void GenderV0_3_1();
|
void GenderV0_3_1();
|
||||||
|
void PM_SystemV0_3_2();
|
||||||
|
|
||||||
void ToV0_3_0();
|
void ToV0_3_0();
|
||||||
void ToV0_3_1();
|
void ToV0_3_1();
|
||||||
|
void ToV0_3_2();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VVITCONVERTER_H
|
#endif // VVITCONVERTER_H
|
||||||
|
|
|
@ -40,8 +40,8 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const QString VVSTConverter::MeasurementMinVerStr = QStringLiteral("0.3.0");
|
const QString VVSTConverter::MeasurementMinVerStr = QStringLiteral("0.3.0");
|
||||||
const QString VVSTConverter::MeasurementMaxVerStr = QStringLiteral("0.4.0");
|
const QString VVSTConverter::MeasurementMaxVerStr = QStringLiteral("0.4.1");
|
||||||
const QString VVSTConverter::CurrentSchema = QStringLiteral("://schema/standard_measurements/v0.4.0.xsd");
|
const QString VVSTConverter::CurrentSchema = QStringLiteral("://schema/standard_measurements/v0.4.1.xsd");
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
VVSTConverter::VVSTConverter(const QString &fileName)
|
VVSTConverter::VVSTConverter(const QString &fileName)
|
||||||
|
@ -89,6 +89,8 @@ QString VVSTConverter::XSDSchema(int ver) const
|
||||||
case (0x000300):
|
case (0x000300):
|
||||||
return QStringLiteral("://schema/standard_measurements/v0.3.0.xsd");
|
return QStringLiteral("://schema/standard_measurements/v0.3.0.xsd");
|
||||||
case (0x000400):
|
case (0x000400):
|
||||||
|
return QStringLiteral("://schema/standard_measurements/v0.4.0.xsd");
|
||||||
|
case (0x000401):
|
||||||
return CurrentSchema;
|
return CurrentSchema;
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
|
@ -113,6 +115,13 @@ void VVSTConverter::ApplyPatches()
|
||||||
V_FALLTHROUGH
|
V_FALLTHROUGH
|
||||||
}
|
}
|
||||||
case (0x000400):
|
case (0x000400):
|
||||||
|
{
|
||||||
|
ToV0_4_1();
|
||||||
|
const QString schema = XSDSchema(0x000401);
|
||||||
|
ValidateXML(schema, fileName);
|
||||||
|
V_FALLTHROUGH
|
||||||
|
}
|
||||||
|
case (0x000401):
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -241,6 +250,19 @@ QDomElement VVSTConverter::AddMV0_4_0(const QString &name, qreal value, qreal si
|
||||||
return element;
|
return element;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VVSTConverter::PM_SystemV0_4_1()
|
||||||
|
{
|
||||||
|
QDomElement pm_system = createElement(QStringLiteral("pm_system"));
|
||||||
|
pm_system.appendChild(createTextNode(QStringLiteral("998")));
|
||||||
|
|
||||||
|
const QDomNodeList nodeList = this->elementsByTagName(QStringLiteral("size"));
|
||||||
|
QDomElement personal = nodeList.at(0).toElement();
|
||||||
|
|
||||||
|
QDomElement parent = personal.parentNode().toElement();
|
||||||
|
parent.insertBefore(pm_system, personal);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void VVSTConverter::ToV0_4_0()
|
void VVSTConverter::ToV0_4_0()
|
||||||
{
|
{
|
||||||
|
@ -251,3 +273,11 @@ void VVSTConverter::ToV0_4_0()
|
||||||
ConvertMeasurementsToV0_4_0();
|
ConvertMeasurementsToV0_4_0();
|
||||||
Save();
|
Save();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VVSTConverter::ToV0_4_1()
|
||||||
|
{
|
||||||
|
SetVersion(QStringLiteral("0.4.1"));
|
||||||
|
PM_SystemV0_4_1();
|
||||||
|
Save();
|
||||||
|
}
|
||||||
|
|
|
@ -59,8 +59,10 @@ private:
|
||||||
void RemoveTagsForV0_4_0();
|
void RemoveTagsForV0_4_0();
|
||||||
void ConvertMeasurementsToV0_4_0();
|
void ConvertMeasurementsToV0_4_0();
|
||||||
QDomElement AddMV0_4_0(const QString &name, qreal value, qreal sizeIncrease, qreal heightIncrease);
|
QDomElement AddMV0_4_0(const QString &name, qreal value, qreal sizeIncrease, qreal heightIncrease);
|
||||||
|
void PM_SystemV0_4_1();
|
||||||
|
|
||||||
void ToV0_4_0();
|
void ToV0_4_0();
|
||||||
|
void ToV0_4_1();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VMEASUREMENTCONVERTER_H
|
#endif // VMEASUREMENTCONVERTER_H
|
||||||
|
|
|
@ -45,6 +45,7 @@ const QString VMeasurements::TagFamilyName = QStringLiteral("family-name")
|
||||||
const QString VMeasurements::TagGivenName = QStringLiteral("given-name");
|
const QString VMeasurements::TagGivenName = QStringLiteral("given-name");
|
||||||
const QString VMeasurements::TagBirthDate = QStringLiteral("birth-date");
|
const QString VMeasurements::TagBirthDate = QStringLiteral("birth-date");
|
||||||
const QString VMeasurements::TagGender = QStringLiteral("gender");
|
const QString VMeasurements::TagGender = QStringLiteral("gender");
|
||||||
|
const QString VMeasurements::TagPMSystem = QStringLiteral("pm_system");
|
||||||
const QString VMeasurements::TagEmail = QStringLiteral("email");
|
const QString VMeasurements::TagEmail = QStringLiteral("email");
|
||||||
const QString VMeasurements::TagReadOnly = QStringLiteral("read-only");
|
const QString VMeasurements::TagReadOnly = QStringLiteral("read-only");
|
||||||
const QString VMeasurements::TagMeasurement = QStringLiteral("m");
|
const QString VMeasurements::TagMeasurement = QStringLiteral("m");
|
||||||
|
@ -411,6 +412,21 @@ void VMeasurements::SetGender(const GenderType &gender)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QString VMeasurements::PMSystem() const
|
||||||
|
{
|
||||||
|
return UniqueTagText(TagPMSystem, ClearPMCode(p998_S));
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VMeasurements::SetPMSystem(const QString &system)
|
||||||
|
{
|
||||||
|
if (not ReadOnly())
|
||||||
|
{
|
||||||
|
setTagText(TagPMSystem, ClearPMCode(system));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QString VMeasurements::Email() const
|
QString VMeasurements::Email() const
|
||||||
{
|
{
|
||||||
|
@ -676,6 +692,10 @@ void VMeasurements::CreateEmptyStandardFile(Unit unit, int baseSize, int baseHei
|
||||||
mUnit.appendChild(unitText);
|
mUnit.appendChild(unitText);
|
||||||
mElement.appendChild(mUnit);
|
mElement.appendChild(mUnit);
|
||||||
|
|
||||||
|
QDomElement system = createElement(TagPMSystem);
|
||||||
|
system.appendChild(createTextNode(ClearPMCode(p998_S)));
|
||||||
|
mElement.appendChild(system);
|
||||||
|
|
||||||
QDomElement size = createElement(TagSize);
|
QDomElement size = createElement(TagSize);
|
||||||
SetAttribute(size, AttrBase, QString().setNum(baseSize));
|
SetAttribute(size, AttrBase, QString().setNum(baseSize));
|
||||||
mElement.appendChild(size);
|
mElement.appendChild(size);
|
||||||
|
@ -714,6 +734,10 @@ void VMeasurements::CreateEmptyIndividualFile(Unit unit)
|
||||||
mUnit.appendChild(createTextNode(UnitsToStr(unit)));
|
mUnit.appendChild(createTextNode(UnitsToStr(unit)));
|
||||||
mElement.appendChild(mUnit);
|
mElement.appendChild(mUnit);
|
||||||
|
|
||||||
|
QDomElement system = createElement(TagPMSystem);
|
||||||
|
system.appendChild(createTextNode(ClearPMCode(p998_S)));
|
||||||
|
mElement.appendChild(system);
|
||||||
|
|
||||||
QDomElement personal = createElement(TagPersonal);
|
QDomElement personal = createElement(TagPersonal);
|
||||||
personal.appendChild(createElement(TagFamilyName));
|
personal.appendChild(createElement(TagFamilyName));
|
||||||
personal.appendChild(createElement(TagGivenName));
|
personal.appendChild(createElement(TagGivenName));
|
||||||
|
@ -862,3 +886,15 @@ qreal VMeasurements::EvalFormula(VContainer *data, const QString &formula, bool
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QString VMeasurements::ClearPMCode(const QString &code) const
|
||||||
|
{
|
||||||
|
QString clear = code;
|
||||||
|
const int index = clear.indexOf(QLatin1Char('p'));
|
||||||
|
if (index == 0)
|
||||||
|
{
|
||||||
|
clear.remove(0, 1);
|
||||||
|
}
|
||||||
|
return clear;
|
||||||
|
}
|
||||||
|
|
|
@ -76,6 +76,9 @@ public:
|
||||||
GenderType Gender() const;
|
GenderType Gender() const;
|
||||||
void SetGender(const GenderType &gender);
|
void SetGender(const GenderType &gender);
|
||||||
|
|
||||||
|
QString PMSystem() const;
|
||||||
|
void SetPMSystem(const QString &system);
|
||||||
|
|
||||||
QString Email() const;
|
QString Email() const;
|
||||||
void SetEmail(const QString &text);
|
void SetEmail(const QString &text);
|
||||||
|
|
||||||
|
@ -102,6 +105,7 @@ public:
|
||||||
static const QString TagGivenName;
|
static const QString TagGivenName;
|
||||||
static const QString TagBirthDate;
|
static const QString TagBirthDate;
|
||||||
static const QString TagGender;
|
static const QString TagGender;
|
||||||
|
static const QString TagPMSystem;
|
||||||
static const QString TagEmail;
|
static const QString TagEmail;
|
||||||
static const QString TagReadOnly;
|
static const QString TagReadOnly;
|
||||||
static const QString TagMeasurement;
|
static const QString TagMeasurement;
|
||||||
|
@ -146,6 +150,8 @@ private:
|
||||||
MeasurementsType ReadType() const;
|
MeasurementsType ReadType() const;
|
||||||
|
|
||||||
qreal EvalFormula(VContainer *data, const QString &formula, bool *ok) const;
|
qreal EvalFormula(VContainer *data, const QString &formula, bool *ok) const;
|
||||||
|
|
||||||
|
QString ClearPMCode(const QString &code) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // VMEASUREMENTS_H
|
#endif // VMEASUREMENTS_H
|
||||||
|
|
|
@ -27,8 +27,10 @@
|
||||||
*************************************************************************/
|
*************************************************************************/
|
||||||
|
|
||||||
#include "def.h"
|
#include "def.h"
|
||||||
|
#include "vabstractapplication.h"
|
||||||
|
#include "../vpatterndb/vtranslatevars.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QComboBox>
|
||||||
|
|
||||||
// Keep synchronize all names with initialization in VTranslateVars class!!!!!
|
// Keep synchronize all names with initialization in VTranslateVars class!!!!!
|
||||||
//measurements
|
//measurements
|
||||||
|
@ -966,3 +968,77 @@ QStringList AllGroupNames()
|
||||||
|
|
||||||
return originalNames;
|
return originalNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void InitPMSystems(QComboBox *systemCombo)
|
||||||
|
{
|
||||||
|
QMap<QString, QString> systems;
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p0_S), p0_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p1_S), p1_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p2_S), p2_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p3_S), p3_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p4_S), p4_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p5_S), p5_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p6_S), p6_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p7_S), p7_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p8_S), p8_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p9_S), p9_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p10_S), p10_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p11_S), p11_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p12_S), p12_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p13_S), p13_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p14_S), p14_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p15_S), p15_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p16_S), p16_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p17_S), p17_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p18_S), p18_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p19_S), p19_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p20_S), p20_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p21_S), p21_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p22_S), p22_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p23_S), p23_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p24_S), p24_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p25_S), p25_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p26_S), p26_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p27_S), p27_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p28_S), p28_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p29_S), p29_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p30_S), p30_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p31_S), p31_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p32_S), p32_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p33_S), p33_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p34_S), p34_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p35_S), p35_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p36_S), p36_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p37_S), p37_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p38_S), p38_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p39_S), p39_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p40_S), p40_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p41_S), p41_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p42_S), p42_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p43_S), p43_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p44_S), p44_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p45_S), p45_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p46_S), p46_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p47_S), p47_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p48_S), p48_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p49_S), p49_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p50_S), p50_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p51_S), p51_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p52_S), p52_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p53_S), p53_S);
|
||||||
|
systems.insert(qApp->TrVars()->PMSystemName(p54_S), p54_S);
|
||||||
|
|
||||||
|
// * The default option (blank field or 'None') should appear at the top of the list.
|
||||||
|
// * The list should be sorted alphabetically so users can find their system easily.
|
||||||
|
|
||||||
|
SCASSERT(systemCombo != nullptr);
|
||||||
|
systemCombo->addItem(qApp->TrVars()->PMSystemName(p998_S), p998_S);
|
||||||
|
|
||||||
|
QMap<QString, QString>::const_iterator i = systems.constBegin();
|
||||||
|
while (i != systems.constEnd())
|
||||||
|
{
|
||||||
|
systemCombo->addItem(i.key(), i.value());
|
||||||
|
++i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -38,6 +38,8 @@
|
||||||
|
|
||||||
#include "debugbreak.h"
|
#include "debugbreak.h"
|
||||||
|
|
||||||
|
class QComboBox;
|
||||||
|
|
||||||
#define SceneSize 50000
|
#define SceneSize 50000
|
||||||
#define DefPointRadius 1.5//mm
|
#define DefPointRadius 1.5//mm
|
||||||
|
|
||||||
|
@ -517,6 +519,8 @@ extern const QString p53_S;
|
||||||
extern const QString p54_S;
|
extern const QString p54_S;
|
||||||
extern const QString p998_S;
|
extern const QString p998_S;
|
||||||
|
|
||||||
|
void InitPMSystems(QComboBox *systemCombo);
|
||||||
|
|
||||||
// functions
|
// functions
|
||||||
extern const QString sin_F;
|
extern const QString sin_F;
|
||||||
extern const QString cos_F;
|
extern const QString cos_F;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user