Files
GUI/src/editpatientform.h

65 lines
1.3 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(Comment)\
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
};
class PatientInformation{
public:
#define ADD_PATIENT_PROPERTY(val) QString val;
EDIT_PATIENT();
#undef ADD_PATIENT_PROPERTY
};
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();
void restorePatientInformation();
void setEditEnable(bool enable);
signals:
void editAccept(PatientInformation * detail);
2021-10-09 16:38:34 +08:00
private:
Ui::EditPatientForm *ui;
QString currentPatientUID;
PatientInformation store;
bool editEnable=false;
QToolButton* btnEditAccept;
QToolButton* btnEditCancel;
2021-10-09 16:38:34 +08:00
};
#endif // EDITPATIENTFORM_H