00001 #ifndef __MODULEINTERFACE_H__
00002 #define __MODULEINTERFACE_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <QWidget>
00029 #include <QString>
00030 #include <QUrl>
00031
00032 #include "Types/Patient.h"
00033
00034 class ModuleInterface
00035 {
00036 private:
00037
00038 protected:
00039 QString m_moduleName;
00040 QUrl m_logoSource;
00042 public:
00043 virtual ~ModuleInterface() {}
00044
00045 virtual void createGui(QWidget* parent = 0)=0;
00046 virtual void setPatientData(Patient* pPatient, const QString& folderName)=0;
00047 virtual bool needDisplay()=0;
00048
00049 virtual const QString& name()=0;
00050 virtual const QUrl& imageSource()=0;
00051
00052 virtual QWidget* getWidget()=0;
00053
00054 Q_SIGNAL virtual void clientChanged(Patient* pPatient)=0;
00055 };
00056
00057 Q_DECLARE_INTERFACE(ModuleInterface,
00058 "geekologues.MedCenter.ModuleInterface/1.0")
00059
00060
00103 #endif