Moved EditItemDialog content widget into separate widget class ItemDetailMapper.
This commit is contained in:
@ -32,6 +32,7 @@ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
|||||||
dialogs/abstractdialog.h dialogs/abstractdialog.cpp
|
dialogs/abstractdialog.h dialogs/abstractdialog.cpp
|
||||||
dialogs/newitemdialog.h dialogs/newitemdialog.cpp
|
dialogs/newitemdialog.h dialogs/newitemdialog.cpp
|
||||||
dialogs/edititemdialog.h dialogs/edititemdialog.cpp
|
dialogs/edititemdialog.h dialogs/edititemdialog.cpp
|
||||||
|
views/itemdetailmapper.h views/itemdetailmapper.cpp
|
||||||
)
|
)
|
||||||
# Define target properties for Android with Qt 6 as:
|
# Define target properties for Android with Qt 6 as:
|
||||||
# set_property(TARGET ${TARGET_APP} APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
|
# set_property(TARGET ${TARGET_APP} APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
|
||||||
|
|||||||
@ -1,11 +1,8 @@
|
|||||||
#include "edititemdialog.h"
|
#include "edititemdialog.h"
|
||||||
|
|
||||||
#include <QGridLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QJsonArray>
|
|
||||||
#include <QJsonObject>
|
#include "../views/itemdetailmapper.h"
|
||||||
#include <QLabel>
|
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QSpinBox>
|
|
||||||
|
|
||||||
EditItemDialog::EditItemDialog(QWidget* parent)
|
EditItemDialog::EditItemDialog(QWidget* parent)
|
||||||
: AbstractDialog(parent) {}
|
: AbstractDialog(parent) {}
|
||||||
@ -17,44 +14,7 @@ void EditItemDialog::createContent() {
|
|||||||
|
|
||||||
setWindowTitle(tr("Edit item..."));
|
setWindowTitle(tr("Edit item..."));
|
||||||
|
|
||||||
m_contentContainer = new QWidget(this);
|
m_contentContainer = new ItemDetailMapper(this);
|
||||||
|
|
||||||
// REFACTOR deduce label names and types from meta data & use a factory
|
|
||||||
m_nameLabel = new QLabel("&Name");
|
|
||||||
m_nameEdit = new QLineEdit();
|
|
||||||
m_nameLabel->setBuddy(m_nameEdit);
|
|
||||||
|
|
||||||
m_descriptionLabel = new QLabel("&Description");
|
|
||||||
m_descriptionEdit = new QLineEdit();
|
|
||||||
m_descriptionLabel->setBuddy(m_descriptionEdit);
|
|
||||||
|
|
||||||
m_infoLabel = new QLabel("&Info");
|
|
||||||
m_infoEdit = new QLineEdit();
|
|
||||||
m_infoLabel->setBuddy(m_infoEdit);
|
|
||||||
|
|
||||||
m_amountLabel = new QLabel("&Amount");
|
|
||||||
m_amountBox = new QSpinBox();
|
|
||||||
m_amountBox->setMaximum(1000);
|
|
||||||
m_amountLabel->setBuddy(m_amountBox);
|
|
||||||
|
|
||||||
m_factorLabel = new QLabel("&Factor");
|
|
||||||
m_factorBox = new QDoubleSpinBox();
|
|
||||||
m_factorBox->setMaximum(1000);
|
|
||||||
m_factorLabel->setBuddy(m_factorBox);
|
|
||||||
|
|
||||||
QGridLayout* layout = new QGridLayout();
|
|
||||||
layout->addWidget(m_nameLabel, 0, 0, 1, 1);
|
|
||||||
layout->addWidget(m_nameEdit, 0, 1, 1, 1);
|
|
||||||
layout->addWidget(m_descriptionLabel, 1, 0, 1, 1);
|
|
||||||
layout->addWidget(m_descriptionEdit, 1, 1, 1, 1);
|
|
||||||
layout->addWidget(m_infoLabel, 2, 0, 1, 1);
|
|
||||||
layout->addWidget(m_infoEdit, 2, 1, 1, 1);
|
|
||||||
layout->addWidget(m_amountLabel, 3, 0, 1, 1);
|
|
||||||
layout->addWidget(m_amountBox, 3, 1, 1, 1);
|
|
||||||
layout->addWidget(m_factorLabel, 4, 0, 1, 1);
|
|
||||||
layout->addWidget(m_factorBox, 4, 1, 1, 1);
|
|
||||||
|
|
||||||
m_contentContainer->setLayout(layout);
|
|
||||||
|
|
||||||
m_outerLayout->insertWidget(0, m_contentContainer);
|
m_outerLayout->insertWidget(0, m_contentContainer);
|
||||||
}
|
}
|
||||||
|
|||||||
48
views/itemdetailmapper.cpp
Normal file
48
views/itemdetailmapper.cpp
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
#include "itemdetailmapper.h"
|
||||||
|
|
||||||
|
#include <QGridLayout>
|
||||||
|
#include <QJsonArray>
|
||||||
|
#include <QJsonObject>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QLineEdit>
|
||||||
|
#include <QSpinBox>
|
||||||
|
|
||||||
|
ItemDetailMapper::ItemDetailMapper(QWidget* parent)
|
||||||
|
: QWidget{parent} {
|
||||||
|
// REFACTOR deduce label names and types from meta data & use a factory
|
||||||
|
m_nameLabel = new QLabel("&Name");
|
||||||
|
m_nameEdit = new QLineEdit();
|
||||||
|
m_nameLabel->setBuddy(m_nameEdit);
|
||||||
|
|
||||||
|
m_descriptionLabel = new QLabel("&Description");
|
||||||
|
m_descriptionEdit = new QLineEdit();
|
||||||
|
m_descriptionLabel->setBuddy(m_descriptionEdit);
|
||||||
|
|
||||||
|
m_infoLabel = new QLabel("&Info");
|
||||||
|
m_infoEdit = new QLineEdit();
|
||||||
|
m_infoLabel->setBuddy(m_infoEdit);
|
||||||
|
|
||||||
|
m_amountLabel = new QLabel("&Amount");
|
||||||
|
m_amountBox = new QSpinBox();
|
||||||
|
m_amountBox->setMaximum(1000);
|
||||||
|
m_amountLabel->setBuddy(m_amountBox);
|
||||||
|
|
||||||
|
m_factorLabel = new QLabel("&Factor");
|
||||||
|
m_factorBox = new QDoubleSpinBox();
|
||||||
|
m_factorBox->setMaximum(1000);
|
||||||
|
m_factorLabel->setBuddy(m_factorBox);
|
||||||
|
|
||||||
|
QGridLayout* layout = new QGridLayout();
|
||||||
|
layout->addWidget(m_nameLabel, 0, 0, 1, 1);
|
||||||
|
layout->addWidget(m_nameEdit, 0, 1, 1, 1);
|
||||||
|
layout->addWidget(m_descriptionLabel, 1, 0, 1, 1);
|
||||||
|
layout->addWidget(m_descriptionEdit, 1, 1, 1, 1);
|
||||||
|
layout->addWidget(m_infoLabel, 2, 0, 1, 1);
|
||||||
|
layout->addWidget(m_infoEdit, 2, 1, 1, 1);
|
||||||
|
layout->addWidget(m_amountLabel, 3, 0, 1, 1);
|
||||||
|
layout->addWidget(m_amountBox, 3, 1, 1, 1);
|
||||||
|
layout->addWidget(m_factorLabel, 4, 0, 1, 1);
|
||||||
|
layout->addWidget(m_factorBox, 4, 1, 1, 1);
|
||||||
|
|
||||||
|
setLayout(layout);
|
||||||
|
}
|
||||||
35
views/itemdetailmapper.h
Normal file
35
views/itemdetailmapper.h
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
#ifndef ITEMDETAILMAPPER_H
|
||||||
|
#define ITEMDETAILMAPPER_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class QLabel;
|
||||||
|
class QLineEdit;
|
||||||
|
class QDoubleSpinBox;
|
||||||
|
class QSpinBox;
|
||||||
|
|
||||||
|
class ItemDetailMapper : public QWidget {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
explicit ItemDetailMapper(QWidget* parent = nullptr);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
|
||||||
|
private:
|
||||||
|
QLabel* m_nameLabel = nullptr;
|
||||||
|
QLineEdit* m_nameEdit = nullptr;
|
||||||
|
|
||||||
|
QLabel* m_descriptionLabel = nullptr;
|
||||||
|
QLineEdit* m_descriptionEdit = nullptr;
|
||||||
|
|
||||||
|
QLabel* m_infoLabel = nullptr;
|
||||||
|
QLineEdit* m_infoEdit = nullptr;
|
||||||
|
|
||||||
|
QLabel* m_amountLabel = nullptr;
|
||||||
|
QSpinBox* m_amountBox = nullptr;
|
||||||
|
|
||||||
|
QLabel* m_factorLabel = nullptr;
|
||||||
|
QDoubleSpinBox* m_factorBox = nullptr;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // ITEMDETAILMAPPER_H
|
||||||
Reference in New Issue
Block a user