Gradation fields.
--HG-- branch : feature
This commit is contained in:
parent
1506acf581
commit
08d46c1809
|
@ -35,6 +35,7 @@
|
||||||
#include <QFileDialog>
|
#include <QFileDialog>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
#include <QComboBox>
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
TMainWindow::TMainWindow(QWidget *parent)
|
TMainWindow::TMainWindow(QWidget *parent)
|
||||||
|
@ -44,11 +45,17 @@ TMainWindow::TMainWindow(QWidget *parent)
|
||||||
data(nullptr),
|
data(nullptr),
|
||||||
mUnit(Unit::Cm),
|
mUnit(Unit::Cm),
|
||||||
mType(MeasurementsType::Individual),
|
mType(MeasurementsType::Individual),
|
||||||
curFile()
|
curFile(),
|
||||||
|
gradationHeights(nullptr),
|
||||||
|
gradationSizes(nullptr)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->tabWidget->setVisible(false);
|
ui->tabWidget->setVisible(false);
|
||||||
|
|
||||||
|
ui->mainToolBar->setContextMenuPolicy(Qt::PreventContextMenu);
|
||||||
|
ui->toolBarGradation->setContextMenuPolicy(Qt::PreventContextMenu);
|
||||||
|
ui->toolBarGradation->setVisible(false);
|
||||||
|
|
||||||
SetupMenu();
|
SetupMenu();
|
||||||
|
|
||||||
setWindowTitle(tr("untitled"));
|
setWindowTitle(tr("untitled"));
|
||||||
|
@ -84,6 +91,8 @@ void TMainWindow::FileNew()
|
||||||
mType = measurements.Type();
|
mType = measurements.Type();
|
||||||
|
|
||||||
data = new VContainer(qApp->TrVars(), &mUnit);
|
data = new VContainer(qApp->TrVars(), &mUnit);
|
||||||
|
data->SetHeight(measurements.BaseHeight());
|
||||||
|
data->SetSize(measurements.BaseSize());
|
||||||
|
|
||||||
if (mType == MeasurementsType::Standard)
|
if (mType == MeasurementsType::Standard)
|
||||||
{
|
{
|
||||||
|
@ -397,6 +406,20 @@ void TMainWindow::AddKnown()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::ChangedSize(const QString &text)
|
||||||
|
{
|
||||||
|
data->SetSize(text.toInt());
|
||||||
|
RefreshData();
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::ChangedHeight(const QString &text)
|
||||||
|
{
|
||||||
|
data->SetHeight(text.toInt());
|
||||||
|
RefreshData();
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void TMainWindow::SetupMenu()
|
void TMainWindow::SetupMenu()
|
||||||
{
|
{
|
||||||
|
@ -468,6 +491,20 @@ void TMainWindow::InitWindow()
|
||||||
delete ui->comboBoxSex;
|
delete ui->comboBoxSex;
|
||||||
delete ui->labelEmail;
|
delete ui->labelEmail;
|
||||||
delete ui->lineEditEmail;
|
delete ui->lineEditEmail;
|
||||||
|
|
||||||
|
ui->toolBarGradation->setVisible(true);
|
||||||
|
const QStringList listHeights = VMeasurement::WholeListHeights(mUnit);
|
||||||
|
const QStringList listSizes = VMeasurement::WholeListSizes(mUnit);
|
||||||
|
|
||||||
|
gradationHeights = SetGradationList(tr("Height: "), listHeights);
|
||||||
|
SetDefaultHeight(static_cast<int>(data->height()));
|
||||||
|
connect(gradationHeights, static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
|
||||||
|
this, &TMainWindow::ChangedHeight);
|
||||||
|
|
||||||
|
gradationSizes = SetGradationList(tr("Size: "), listSizes);
|
||||||
|
SetDefaultSize(static_cast<int>(data->size()));
|
||||||
|
connect(gradationSizes, static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
|
||||||
|
this, &TMainWindow::ChangedSize);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -623,3 +660,49 @@ void TMainWindow::AddCell(const QString &text, int row, int column, int id)
|
||||||
|
|
||||||
ui->tableWidget->setItem(row, column, item);
|
ui->tableWidget->setItem(row, column, item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
QComboBox *TMainWindow::SetGradationList(const QString &label, const QStringList &list)
|
||||||
|
{
|
||||||
|
ui->toolBarGradation->addWidget(new QLabel(label));
|
||||||
|
|
||||||
|
QComboBox *comboBox = new QComboBox;
|
||||||
|
comboBox->addItems(list);
|
||||||
|
ui->toolBarGradation->addWidget(comboBox);
|
||||||
|
|
||||||
|
return comboBox;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::SetDefaultHeight(int value)
|
||||||
|
{
|
||||||
|
const qint32 index = gradationHeights->findText(QString("%1").arg(value));
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
|
gradationHeights->setCurrentIndex(index);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->SetHeight(gradationHeights->currentText().toInt());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::SetDefaultSize(int value)
|
||||||
|
{
|
||||||
|
const qint32 index = gradationSizes->findText(QString("%1").arg(value));
|
||||||
|
if (index != -1)
|
||||||
|
{
|
||||||
|
gradationSizes->setCurrentIndex(index);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
data->SetSize(gradationSizes->currentText().toInt());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TMainWindow::RefreshData()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -39,6 +39,8 @@ namespace Ui
|
||||||
class TMainWindow;
|
class TMainWindow;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class QComboBox;
|
||||||
|
|
||||||
class TMainWindow : public QMainWindow
|
class TMainWindow : public QMainWindow
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -71,6 +73,9 @@ private slots:
|
||||||
void AddCustom();
|
void AddCustom();
|
||||||
void AddKnown();
|
void AddKnown();
|
||||||
|
|
||||||
|
void ChangedSize(const QString &text);
|
||||||
|
void ChangedHeight(const QString & text);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(TMainWindow)
|
Q_DISABLE_COPY(TMainWindow)
|
||||||
Ui::TMainWindow *ui;
|
Ui::TMainWindow *ui;
|
||||||
|
@ -79,6 +84,8 @@ private:
|
||||||
Unit mUnit;
|
Unit mUnit;
|
||||||
MeasurementsType mType;
|
MeasurementsType mType;
|
||||||
QString curFile;
|
QString curFile;
|
||||||
|
QComboBox *gradationHeights;
|
||||||
|
QComboBox *gradationSizes;
|
||||||
|
|
||||||
void SetupMenu();
|
void SetupMenu();
|
||||||
void InitWindow();
|
void InitWindow();
|
||||||
|
@ -91,6 +98,12 @@ private:
|
||||||
bool MaybeSave();
|
bool MaybeSave();
|
||||||
|
|
||||||
void AddCell(const QString &text, int row, int column, int id = -1);
|
void AddCell(const QString &text, int row, int column, int id = -1);
|
||||||
|
|
||||||
|
QComboBox *SetGradationList(const QString &label, const QStringList &list);
|
||||||
|
void SetDefaultHeight(int value);
|
||||||
|
void SetDefaultSize(int value);
|
||||||
|
|
||||||
|
void RefreshData();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TMAINWINDOW_H
|
#endif // TMAINWINDOW_H
|
||||||
|
|
|
@ -602,6 +602,9 @@
|
||||||
<property name="enabled">
|
<property name="enabled">
|
||||||
<bool>true</bool>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Menu</string>
|
||||||
|
</property>
|
||||||
<property name="toolButtonStyle">
|
<property name="toolButtonStyle">
|
||||||
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
<enum>Qt::ToolButtonTextUnderIcon</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -619,6 +622,26 @@
|
||||||
<addaction name="actionReadOnly"/>
|
<addaction name="actionReadOnly"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QStatusBar" name="statusBar"/>
|
<widget class="QStatusBar" name="statusBar"/>
|
||||||
|
<widget class="QToolBar" name="toolBarGradation">
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string>Gradation</string>
|
||||||
|
</property>
|
||||||
|
<property name="movable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="allowedAreas">
|
||||||
|
<set>Qt::AllToolBarAreas</set>
|
||||||
|
</property>
|
||||||
|
<property name="floatable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="toolBarArea">
|
||||||
|
<enum>BottomToolBarArea</enum>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="toolBarBreak">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
</widget>
|
||||||
<action name="actionOpen">
|
<action name="actionOpen">
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset theme="document-open">
|
<iconset theme="document-open">
|
||||||
|
|
Loading…
Reference in New Issue
Block a user