From 64400a0e94b953439561f716cf2bd72277f066cb Mon Sep 17 00:00:00 2001 From: Michael Mandl Date: Fri, 18 May 2018 19:51:48 +0200 Subject: [PATCH] connected meta-data widget --- source/DataModel.cpp | 4 ++- source/MetaDataWidget.cpp | 23 +++++++++++++++- source/MetaDataWidget.h | 9 ++++++- source/mainwindow.cpp | 22 +++++++-------- source/mainwindow.h | 1 - source/mainwindow.ui | 56 --------------------------------------- 6 files changed, 42 insertions(+), 73 deletions(-) diff --git a/source/DataModel.cpp b/source/DataModel.cpp index 57b5c06..7d7d996 100644 --- a/source/DataModel.cpp +++ b/source/DataModel.cpp @@ -1,6 +1,8 @@ #include "DataModel.h" -DataModel::DataModel(QObject *parent) : QObject(parent), m_metaData(this) +DataModel::DataModel(QObject *parent) + : QObject(parent) + , m_metaData(this) { } diff --git a/source/MetaDataWidget.cpp b/source/MetaDataWidget.cpp index b0a0fe3..811c788 100644 --- a/source/MetaDataWidget.cpp +++ b/source/MetaDataWidget.cpp @@ -1,8 +1,14 @@ #include "MetaDataWidget.h" #include "ui_MetaDataWidget.h" +#include "MetaDataModel.h" + +#include + MetaDataWidget::MetaDataWidget(QWidget *parent) - : QWidget(parent), ui(new Ui::MetaDataWidget) + : QWidget(parent) + , ui(new Ui::MetaDataWidget) + , m_widgetMapper(new QDataWidgetMapper(this)) { ui->setupUi(this); } @@ -12,3 +18,18 @@ MetaDataWidget::~MetaDataWidget() delete ui; } +void MetaDataWidget::setModel(MetaDataModel *model) +{ + m_widgetMapper->setModel(model); + m_widgetMapper->addMapping(ui->participantLineEdit, 0); + m_widgetMapper->addMapping(ui->instructorLineEdit, 1); + m_widgetMapper->addMapping(ui->dateOfBirthDateEdit, 2); + m_widgetMapper->addMapping(ui->dateOfTestDateEdit, 3); + m_widgetMapper->addMapping(ui->remarksPlainTextEdit, 4); + m_widgetMapper->toFirst(); +} + +void MetaDataWidget::toFirst() +{ + m_widgetMapper->toFirst(); +} diff --git a/source/MetaDataWidget.h b/source/MetaDataWidget.h index 88f46d5..f19cb05 100644 --- a/source/MetaDataWidget.h +++ b/source/MetaDataWidget.h @@ -2,8 +2,11 @@ #include +class QDataWidgetMapper; +class MetaDataModel; + namespace Ui { -class MetaDataWidget; + class MetaDataWidget; }; class MetaDataWidget : public QWidget @@ -12,8 +15,12 @@ class MetaDataWidget : public QWidget private: Ui::MetaDataWidget *ui; + QDataWidgetMapper *m_widgetMapper; public: MetaDataWidget(QWidget *parent = nullptr); ~MetaDataWidget(); + + void setModel(MetaDataModel *model); + void toFirst(); }; diff --git a/source/mainwindow.cpp b/source/mainwindow.cpp index 3109e17..603eee6 100644 --- a/source/mainwindow.cpp +++ b/source/mainwindow.cpp @@ -11,25 +11,21 @@ #include MainWindow::MainWindow(QWidget *parent) - : QMainWindow(parent), ui(new Ui::MainWindow), - m_dataModel(new DataModel(parent)) - , m_widgetMapper(new QDataWidgetMapper(parent)) + : QMainWindow(parent) + , ui(new Ui::MainWindow) + , m_dataModel(new DataModel(parent)) { ui->setupUi(this); - ui->actionSave_as->setIcon(QIcon::fromTheme("document-save-as", QIcon("/usr/share/gtk-doc/html/gtk2/document-save-as.png"))); - ui->actionLoad->setIcon(QIcon::fromTheme("document-open", QIcon("/usr/share/gtk-doc/html/gtk2/document-open.png"))); + ui->actionSave_as->setIcon(QIcon::fromTheme("document-save-as", + QIcon("/usr/share/gtk-doc/html/gtk2/document-save-as.png"))); + ui->actionLoad->setIcon(QIcon::fromTheme("document-open", + QIcon("/usr/share/gtk-doc/html/gtk2/document-open.png"))); connect(ui->actionSave_as, SIGNAL(triggered()), this, SLOT(saveAs())); connect(ui->actionLoad, SIGNAL(triggered()), this, SLOT(load())); - m_widgetMapper->setModel(&m_dataModel->m_metaData); - m_widgetMapper->addMapping(ui->lineEdit, 0); - m_widgetMapper->addMapping(ui->lineEdit_2, 1); - m_widgetMapper->addMapping(ui->dateEdit, 2); - m_widgetMapper->addMapping(ui->dateEdit_2, 3); - m_widgetMapper->addMapping(ui->plainTextEdit, 4); - m_widgetMapper->toFirst(); + ui->metaDataWidget->setModel(&m_dataModel->m_metaData); } MainWindow::~MainWindow() @@ -76,5 +72,5 @@ void MainWindow::load() m_dataModel->read(loadDoc.object()); - m_widgetMapper->toFirst(); + ui->metaDataWidget->toFirst(); } diff --git a/source/mainwindow.h b/source/mainwindow.h index 95d91cf..c15576c 100644 --- a/source/mainwindow.h +++ b/source/mainwindow.h @@ -16,7 +16,6 @@ class MainWindow : public QMainWindow private: Ui::MainWindow *ui; DataModel *m_dataModel; - QDataWidgetMapper *m_widgetMapper; public: MainWindow(QWidget *parent = nullptr); diff --git a/source/mainwindow.ui b/source/mainwindow.ui index ef91379..f06bd14 100644 --- a/source/mainwindow.ui +++ b/source/mainwindow.ui @@ -15,62 +15,6 @@ - - - - - - - Untersuchungsdatum - - - - - - - - - - Geburtsdatum - - - - - - - Name, Vorname - - - - - - - - - - Untersucher(in) - - - - - - - - - - - - - - - - Bemerkungen - - - - - -