Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef QMITK_BASECOMPONENT_H
00019 #define QMITK_BASECOMPONENT_H
00020
00021
00042 #include <qstring.h>
00043 #include "QmitkExtExports.h"
00044 #include <qobject.h>
00045 #include <vector>
00046 #include <mitkCommon.h>
00047
00048
00049 class QGroupBox;
00050
00051 class QmitkExt_EXPORT QmitkBaseComponent : public QObject
00052 {
00053 Q_OBJECT
00054
00055 public:
00056
00057
00061 QmitkBaseComponent(QObject *parent=0, const char *name=0);
00062
00063
00067 virtual ~QmitkBaseComponent();
00068
00072 virtual QWidget* CreateControlWidget(QWidget* parent);
00073
00077 virtual void CreateConnections();
00078
00082 virtual void TreeChanged();
00083
00087 void SetFunctionalityName(QString name);
00088
00089 virtual QWidget* GetGUIControls();
00090
00094 virtual QString GetFunctionalityName();
00095
00096
00097
00098 virtual QGroupBox * GetContentContainer();
00099
00100
00101 virtual QGroupBox * GetMainCheckBoxContainer();
00102
00106 virtual void SetContentContainerVisibility(bool);
00107
00108
00114 virtual void Activated();
00115
00121 virtual void Deactivated();
00122
00123
00124
00125
00126
00127
00128 virtual bool IsActivated();
00129
00130
00131
00132
00133
00134
00135 virtual bool IsAvailable();
00136
00137 protected:
00138
00139
00143 virtual void SetAvailability(bool available);
00144
00145 QObject* GetParent();
00146
00150 std::vector<QmitkBaseComponent*> m_AddedChildList;
00151
00152
00153
00154
00155 void AddComponentListener(QmitkBaseComponent* component);
00156
00157 void RemoveComponentListener(QmitkBaseComponent* component);
00158
00159
00163 QString m_FuncName;
00164
00168 QObject * m_Parent;
00169
00170 QWidget* m_GUI;
00171
00172 private:
00176 bool m_Available;
00177
00181 bool m_Activated;
00182
00183 };
00184
00185 #endif
00186