00001 /*========================================================================= 00002 00003 Program: 3DMed 00004 Date: $Date: 2014-02-25 18:30:00 +0800 $ 00005 Version: $Version: 4.6.0 $ 00006 Copyright: MIPG, Institute of Automation, Chinese Academy of Sciences 00007 00008 =========================================================================*/ 00009 00010 00011 #ifndef __mitkDataModel_h 00012 #define __mitkDataModel_h 00013 00014 #include "mitkModel.h" 00015 00016 class mitkList; 00017 class mitkWidgetModel; 00018 class mitkRenderer; 00019 00020 00025 class MITK_VISUALIZATION_API mitkDataModel : public mitkModel 00026 { 00027 public: 00028 MITK_TYPE(mitkDataModel, mitkModel) 00029 00030 virtual void PrintSelf(ostream &os); 00031 00032 virtual mitkRenderer* GetBasicRenderer() { return NULL; } 00033 00038 void AddWidget(mitkWidgetModel *widget); 00039 00044 void UpdateWidgets(); 00045 00050 void RemoveWidget(mitkWidgetModel *widget); 00051 00055 void RemoveAllWidgets(); 00056 00062 int GetWidgetCount(); 00063 00069 mitkWidgetModel* GetWidgetModel(int index); 00070 00075 bool IsEmpty() { return m_IsEmpty; } 00076 00077 protected: 00078 mitkDataModel(); 00079 virtual ~mitkDataModel(); 00080 00081 mitkList *m_WidgetModels; 00082 bool m_IsEmpty; 00083 00084 private: 00085 mitkDataModel(const mitkDataModel&); 00086 void operator = (const mitkDataModel&); 00087 }; 00088 00089 00090 //#define DEFINED_mitkDataModel 00091 00092 00093 00094 #endif 00095