Files
GUI/src/forms/select/editpatientform.h

86 lines
1.8 KiB
C
Raw Normal View History

2021-10-09 16:38:34 +08:00
#ifndef EDITPATIENTFORM_H
#define EDITPATIENTFORM_H
#include <QWidget>
namespace Ui {
class EditPatientForm;
}
2021-10-12 14:11:19 +08:00
#define ADD_PATIENT()\
ADD_PATIENT_PROPERTY(ID)\
ADD_PATIENT_PROPERTY(Name)\
ADD_PATIENT_PROPERTY(BirthDate)\
ADD_PATIENT_PROPERTY(Sex)\
ADD_PATIENT_PROPERTY(AddDate)\
ADD_PATIENT_PROPERTY(Comment)\
2021-11-03 16:19:11 +08:00
ADD_PATIENT_PROPERTY(Flag)
2021-10-09 16:38:34 +08:00
2021-10-12 14:11:19 +08:00
#define EDIT_PATIENT()\
ADD_PATIENT_PROPERTY(PatientUID)\
ADD_PATIENT()
enum PatientInformationEnum{
#define ADD_PATIENT_PROPERTY(val) val,
EDIT_PATIENT()
#undef ADD_PATIENT_PROPERTY
};
/**
* @brief this class was designed to be a edit form,
* but now has been change to a detail display class.
*/
class PatientInformation:public QObject{
Q_OBJECT
public:
#define ADD_PATIENT_PROPERTY(val) QString val;
EDIT_PATIENT();
#undef ADD_PATIENT_PROPERTY
2021-11-03 16:19:11 +08:00
PatientInformation(){
this->Flag = QString("0");
}
PatientInformation* Copy()
{
PatientInformation* n=new PatientInformation;
n->PatientUID = this->PatientUID;
n->ID = this->ID;
n->Name = this->Name;
n->BirthDate = this->BirthDate;
n->Sex = this->Sex;
n->Comment = this->Comment;
return n;
}
};
class QToolButton;
2021-10-09 16:38:34 +08:00
class EditPatientForm : public QWidget
{
Q_OBJECT
public:
explicit EditPatientForm(QWidget *parent = nullptr);
~EditPatientForm();
void setPatientInformation(PatientInformation * information);
PatientInformation * getPatientInformation(){
return &store;
}
void clearPatientInformation();
void storePatientInformation();
signals:
void editAccept(PatientInformation * detail,bool & accept);
2021-11-03 16:19:11 +08:00
void editCancel();
2022-01-12 11:24:37 +08:00
signals:
void hideBtnClicked();
2021-10-09 16:38:34 +08:00
private:
Ui::EditPatientForm *ui;
QString currentPatientUID;
QString AddDate;
PatientInformation store;
2021-10-09 16:38:34 +08:00
};
#endif // EDITPATIENTFORM_H