Added roles for BeetRound purpose.
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
#include "itemdetailmapper.h"
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
#include <QComboBox>
|
||||
#include <QDataWidgetMapper>
|
||||
#include <QGridLayout>
|
||||
#include <QJsonArray>
|
||||
@ -9,6 +10,7 @@
|
||||
#include <QLineEdit>
|
||||
#include <QPushButton>
|
||||
#include <QSpinBox>
|
||||
#include <QStringListModel>
|
||||
#include <QTableView>
|
||||
#include "model/metadata.h"
|
||||
|
||||
@ -34,42 +36,84 @@ ItemDetailMapper::ItemDetailMapper(QWidget* parent)
|
||||
|
||||
/// the individual widgets
|
||||
// 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_numberLabel = new QLabel(GET_HEADER_FOR_COLUMN(0));
|
||||
m_numberBox = new QSpinBox();
|
||||
m_numberBox->setMaximum(1000);
|
||||
|
||||
m_descriptionLabel = new QLabel("&Description");
|
||||
m_descriptionEdit = new QLineEdit();
|
||||
m_descriptionLabel->setBuddy(m_descriptionEdit);
|
||||
m_lastNameLabel = new QLabel(GET_HEADER_FOR_COLUMN(1));
|
||||
m_lastNameEdit = new QLineEdit();
|
||||
m_lastNameLabel->setBuddy(m_lastNameEdit);
|
||||
|
||||
m_infoLabel = new QLabel("&Info");
|
||||
m_infoEdit = new QLineEdit();
|
||||
m_infoLabel->setBuddy(m_infoEdit);
|
||||
m_firstNameLabel = new QLabel(GET_HEADER_FOR_COLUMN(2));
|
||||
m_firstNameEdit = new QLineEdit();
|
||||
m_firstNameLabel->setBuddy(m_firstNameEdit);
|
||||
|
||||
m_amountLabel = new QLabel("&Amount");
|
||||
m_amountBox = new QSpinBox();
|
||||
m_amountBox->setMaximum(1000);
|
||||
m_amountLabel->setBuddy(m_amountBox);
|
||||
m_shareTypeLabel = new QLabel(GET_HEADER_FOR_COLUMN(3));
|
||||
m_shareTypeBox = new QComboBox();
|
||||
m_shareTypeLabel->setBuddy(m_shareTypeBox);
|
||||
m_shareTypeModel = new QStringListModel(SHARE_TYPES, this);
|
||||
m_shareTypeBox->setModel(m_shareTypeModel);
|
||||
|
||||
m_factorLabel = new QLabel("&Factor");
|
||||
m_factorBox = new QDoubleSpinBox();
|
||||
m_factorBox->setMaximum(1000);
|
||||
m_factorLabel->setBuddy(m_factorBox);
|
||||
m_amountLabel = new QLabel(GET_HEADER_FOR_COLUMN(4));
|
||||
m_amountSpinBox = new QDoubleSpinBox();
|
||||
m_amountLabel->setBuddy(m_amountSpinBox);
|
||||
|
||||
m_biddingTypeLabel = new QLabel(GET_HEADER_FOR_COLUMN(5));
|
||||
m_biddingTypeBox = new QComboBox();
|
||||
m_biddingTypeLabel->setBuddy(m_biddingTypeBox);
|
||||
m_biddingTypeModel = new QStringListModel(BIDDING_TYPES, this);
|
||||
m_biddingTypeBox->setModel(m_biddingTypeModel);
|
||||
|
||||
m_bidding1Label = new QLabel(GET_HEADER_FOR_COLUMN(6));
|
||||
m_bidding1SpinBox = new QSpinBox();
|
||||
m_bidding1SpinBox->setMaximum(500);
|
||||
m_bidding2Label = new QLabel(GET_HEADER_FOR_COLUMN(7));
|
||||
m_bidding2SpinBox = new QSpinBox();
|
||||
m_bidding2SpinBox->setMaximum(500);
|
||||
m_bidding3Label = new QLabel(GET_HEADER_FOR_COLUMN(8));
|
||||
m_bidding3SpinBox = new QSpinBox();
|
||||
m_bidding3SpinBox->setMaximum(500);
|
||||
|
||||
m_depotWish1Label = new QLabel(GET_HEADER_FOR_COLUMN(9));
|
||||
m_depotWish1Edit = new QLineEdit();
|
||||
m_depotWish1Label->setBuddy(m_depotWish1Edit);
|
||||
m_depotWish2Label = new QLabel(GET_HEADER_FOR_COLUMN(10));
|
||||
m_depotWish2Edit = new QLineEdit();
|
||||
m_depotWish2Label->setBuddy(m_depotWish2Edit);
|
||||
|
||||
m_mailLabel = new QLabel(GET_HEADER_FOR_COLUMN(11));
|
||||
m_mailEdit = new QLineEdit();
|
||||
m_mailEdit->setMinimumWidth(200);
|
||||
m_mailLabel->setBuddy(m_mailEdit);
|
||||
|
||||
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);
|
||||
layout->addWidget(m_numberLabel, 0, 0, 1, 1);
|
||||
layout->addWidget(m_numberBox, 0, 1, 1, 1);
|
||||
layout->addWidget(m_lastNameLabel, 1, 0, 1, 1);
|
||||
layout->addWidget(m_lastNameEdit, 1, 1, 1, 1);
|
||||
layout->addWidget(m_firstNameLabel, 2, 0, 1, 1);
|
||||
layout->addWidget(m_firstNameEdit, 2, 1, 1, 1);
|
||||
layout->addWidget(m_shareTypeLabel, 3, 0, 1, 1);
|
||||
layout->addWidget(m_shareTypeBox, 3, 1, 1, 1);
|
||||
layout->addWidget(m_amountLabel, 4, 0, 1, 1);
|
||||
layout->addWidget(m_amountSpinBox, 4, 1, 1, 1);
|
||||
layout->addWidget(m_biddingTypeLabel, 5, 0, 1, 1);
|
||||
layout->addWidget(m_biddingTypeBox, 5, 1, 1, 1);
|
||||
layout->addWidget(m_bidding1Label, 6, 0, 1, 1);
|
||||
layout->addWidget(m_bidding1SpinBox, 6, 1, 1, 1);
|
||||
layout->addWidget(m_bidding2Label, 7, 0, 1, 1);
|
||||
layout->addWidget(m_bidding2SpinBox, 7, 1, 1, 1);
|
||||
layout->addWidget(m_bidding3Label, 8, 0, 1, 1);
|
||||
layout->addWidget(m_bidding3SpinBox, 8, 1, 1, 1);
|
||||
layout->addWidget(m_depotWish1Label, 9, 0, 1, 1);
|
||||
layout->addWidget(m_depotWish1Edit, 9, 1, 1, 1);
|
||||
layout->addWidget(m_depotWish2Label, 10, 0, 1, 1);
|
||||
layout->addWidget(m_depotWish2Edit, 10, 1, 1, 1);
|
||||
layout->addWidget(m_mailLabel, 11, 0, 1, 1);
|
||||
layout->addWidget(m_mailEdit, 11, 1, 1, 1);
|
||||
|
||||
layout->addWidget(m_previousButton, 5, 0, 1, 1);
|
||||
layout->addWidget(m_nextButton, 5, 1, 1, 1);
|
||||
layout->addWidget(m_previousButton, 12, 0, 1, 1);
|
||||
layout->addWidget(m_nextButton, 12, 1, 1, 1);
|
||||
|
||||
setLayout(layout);
|
||||
}
|
||||
@ -81,11 +125,18 @@ void ItemDetailMapper::setModelMappings(QTableView* tableView) {
|
||||
m_selectionModel = tableView->selectionModel();
|
||||
|
||||
m_mapper->setModel(m_model);
|
||||
m_mapper->addMapping(m_nameEdit, 0);
|
||||
m_mapper->addMapping(m_descriptionEdit, 1);
|
||||
m_mapper->addMapping(m_infoEdit, 2);
|
||||
m_mapper->addMapping(m_amountBox, 3);
|
||||
m_mapper->addMapping(m_factorBox, 4);
|
||||
m_mapper->addMapping(m_numberBox, 0);
|
||||
m_mapper->addMapping(m_lastNameEdit, 1);
|
||||
m_mapper->addMapping(m_firstNameEdit, 2);
|
||||
m_mapper->addMapping(m_shareTypeBox, 3, "currentText");
|
||||
m_mapper->addMapping(m_amountSpinBox, 4);
|
||||
m_mapper->addMapping(m_biddingTypeBox, 5, "currentText");
|
||||
m_mapper->addMapping(m_bidding1SpinBox, 6);
|
||||
m_mapper->addMapping(m_bidding2SpinBox, 7);
|
||||
m_mapper->addMapping(m_bidding3SpinBox, 8);
|
||||
m_mapper->addMapping(m_depotWish1Edit, 9);
|
||||
m_mapper->addMapping(m_depotWish2Edit, 10);
|
||||
m_mapper->addMapping(m_mailEdit, 11);
|
||||
|
||||
m_mapper->setCurrentIndex(m_selectionModel->currentIndex().row());
|
||||
|
||||
@ -119,11 +170,11 @@ void ItemDetailMapper::rowsRemoved(const QModelIndex& parent, int start, int end
|
||||
if (m_model->rowCount() == 0) {
|
||||
setEnabled(false);
|
||||
|
||||
m_nameEdit->clear();
|
||||
m_descriptionEdit->clear();
|
||||
m_infoEdit->clear();
|
||||
m_amountBox->clear();
|
||||
m_factorBox->clear();
|
||||
// m_nameEdit->clear();
|
||||
// m_descriptionEdit->clear();
|
||||
// m_infoEdit->clear();
|
||||
// m_amountBox->clear();
|
||||
// m_factorBox->clear();
|
||||
}
|
||||
|
||||
updateButtons(m_mapper->currentIndex());
|
||||
|
||||
Reference in New Issue
Block a user