diff --git a/src/ScanFormWidget.cpp b/src/ScanFormWidget.cpp index 3753dc0..d543b68 100644 --- a/src/ScanFormWidget.cpp +++ b/src/ScanFormWidget.cpp @@ -10,6 +10,7 @@ #include "guimacros.h" #include "patientinformationform.h" #include +#include "event/EventCenter.h" ScanFormWidget::ScanFormWidget(QWidget *parent) : TabFormWidget(parent) { const char* style="QWidget#PatientInformationForm{min-width:300px;max-width:300px; margin-right:10}" @@ -41,8 +42,8 @@ ScanFormWidget::ScanFormWidget(QWidget *parent) : TabFormWidget(parent) { btnLeft->setCheckable(true); btnLeft->setChecked(true); btnRight->setCheckable(true); - group->addButton(btnRight); - group->addButton(btnLeft); + group->addButton(btnRight,1); + group->addButton(btnLeft,0); layout->addSpacerItem(new QSpacerItem(20, 20, QSizePolicy::Expanding)); QWidget* spacerLine2= new QWidget(this); spacerLine2->setFixedWidth(2); @@ -96,9 +97,21 @@ ScanFormWidget::ScanFormWidget(QWidget *parent) : TabFormWidget(parent) { paramLayout->addWidget(lbl_end2); paramLayout->addSpacerItem(new QSpacerItem(20,20,QSizePolicy::Minimum,QSizePolicy::Expanding)); contentLayout->addWidget(param_widget); + pat_inf = patient_information; + //Events--------------------------------------------------------------- + connect(EventCenter::Default(),&EventCenter::PatientSelected,[=](QObject* sender,QObject* data){ + patient_information->setPatientInformation((PatientInformation*)data); + }); + + connect(group, SIGNAL(buttonClicked(int)),this,SLOT(protocolChanged(int))); } ScanFormWidget::~ScanFormWidget() { } + +void ScanFormWidget::protocolChanged(int type) { + printf("%d\r\n",type); + pat_inf->setProtocol(type); +} diff --git a/src/ScanFormWidget.h b/src/ScanFormWidget.h index 032bd13..a60d757 100644 --- a/src/ScanFormWidget.h +++ b/src/ScanFormWidget.h @@ -6,11 +6,18 @@ #define GUI_SCANFORMWIDGET_H #include "tabformwidget.h" +class PatientInformationForm; class ScanFormWidget :public TabFormWidget { Q_OBJECT public: explicit ScanFormWidget(QWidget *parent = nullptr); ~ScanFormWidget(); + +private: + PatientInformationForm* pat_inf= nullptr; +private slots: + void protocolChanged(int type); + }; diff --git a/src/patientinformationform.cpp b/src/patientinformationform.cpp index c0c03cf..72f943f 100644 --- a/src/patientinformationform.cpp +++ b/src/patientinformationform.cpp @@ -11,4 +11,26 @@ PatientInformationForm::PatientInformationForm(QWidget *parent) : PatientInformationForm::~PatientInformationForm() { delete ui; + if (inf) delete inf; +} + +void PatientInformationForm::setPatientInformation(PatientInformation* information) { + ui->lbl_ID->setText(information->ID); + ui->lbl_Date->setText(information->BirthDate); + ui->lbl_Name->setText(information->Name); + ui->lbl_Sex->setText(information->Sex); + inf = information; +} + +void PatientInformationForm::setProtocol(int type) { + switch(type) + { + case 0: + ui->lbl_Protocol->setText("LEFT ONLY"); + break; + case 1: + default: + ui->lbl_Protocol->setText("RIGHT ONLY"); + break; + } } diff --git a/src/patientinformationform.h b/src/patientinformationform.h index f5da926..6ed1091 100644 --- a/src/patientinformationform.h +++ b/src/patientinformationform.h @@ -2,7 +2,7 @@ #define PATIENTINFORMATIONFORM_H #include - +#include "editpatientform.h" namespace Ui { class PatientInformationForm; } @@ -14,9 +14,11 @@ class PatientInformationForm : public QWidget public: explicit PatientInformationForm(QWidget *parent = nullptr); ~PatientInformationForm(); - + void setPatientInformation(PatientInformation* information); + void setProtocol(int type); private: Ui::PatientInformationForm *ui; + PatientInformation* inf = nullptr; }; #endif // PATIENTINFORMATIONFORM_H