MeVisLabToolboxReference
|
00001 // **InsertLicense** code 00002 //---------------------------------------------------------------------------------- 00007 00012 //---------------------------------------------------------------------------------- 00013 00014 #ifndef __CSOScopeEvents_H 00015 #define __CSOScopeEvents_H 00016 00017 00018 #include "MLCSOIncludes.h" 00019 #include "CSOEvent.h" 00020 00021 ML_START_NAMESPACE 00022 00023 class CSOList; 00024 00026 00028 class MLCSO_EXPORT CSOChangeEventScope 00029 { 00030 public: 00031 CSOChangeEventScope(CSOList* csoList, int id, CSOEvent::CSOEventType eventType); 00032 ~CSOChangeEventScope(); 00033 protected: 00034 CSOList* _csoList; 00035 int _id; 00036 CSOEvent::CSOEventType _eventType; 00037 }; 00038 00040 00043 class MLCSO_EXPORT CSOModuleEventGroupScope 00044 { 00045 public: 00046 CSOModuleEventGroupScope(CSOList* csoList, const std::string& senderType="", 00047 const std::string& senderName="", 00048 const std::string& customMessage=""); 00049 00050 ~CSOModuleEventGroupScope(); 00051 00052 MLuint64 getUniqueId() { return _uniqueId; } 00053 00054 private: 00055 MLuint64 _uniqueId; 00056 00057 std::string _senderType; 00058 std::string _senderName; 00059 std::string _customMessage; 00060 00061 CSOList* _csoList; 00062 }; 00063 00065 00067 class MLCSO_EXPORT CSOAttributeChangeScope : public CSOChangeEventScope 00068 { 00069 public: 00070 CSOAttributeChangeScope(CSOList* csoList, int id, CSOEvent::CSOEventType eventType); 00071 }; 00072 00074 00076 class MLCSO_EXPORT CSOGeometryChangeScope : public CSOChangeEventScope 00077 { 00078 public: 00079 CSOGeometryChangeScope(CSOList* csoList, int id); 00080 }; 00081 00083 00085 class MLCSO_EXPORT CSOClearScope : public CSOChangeEventScope 00086 { 00087 public: 00088 CSOClearScope(CSOList* csoList, int id); 00089 }; 00090 00092 00094 class MLCSO_EXPORT CSOGroupChangeEventScope 00095 { 00096 public: 00097 CSOGroupChangeEventScope(CSOList* csoList, int id, CSOEvent::CSOEventType eventType); 00098 ~CSOGroupChangeEventScope(); 00099 protected: 00100 CSOList* _csoList; 00101 int _id; 00102 CSOEvent::CSOEventType _eventType; 00103 }; 00104 00106 00108 class MLCSO_EXPORT CSOGroupAttributeChangeScope : public CSOGroupChangeEventScope 00109 { 00110 public: 00111 CSOGroupAttributeChangeScope(CSOList* csoList, int id, CSOEvent::CSOEventType eventType); 00112 }; 00113 00115 00117 class MLCSO_EXPORT CSOGroupAddScope 00118 { 00119 public: 00120 CSOGroupAddScope(CSOList* csoList); 00121 ~CSOGroupAddScope(); 00122 void setId(int id) { _id = id; } 00123 private: 00124 CSOList* _csoList; 00125 int _id; 00126 }; 00127 00129 00131 class MLCSO_EXPORT CSOAddScope 00132 { 00133 public: 00134 CSOAddScope(CSOList* csoList); 00135 ~CSOAddScope(); 00136 void setId(int id) { _id = id; } 00137 private: 00138 CSOList* _csoList; 00139 int _id; 00140 }; 00141 00143 00145 class MLCSO_EXPORT CSOSelectionChangeScope 00146 { 00147 public: 00148 CSOSelectionChangeScope(CSOList* csoList); 00149 ~CSOSelectionChangeScope(); 00150 private: 00151 CSOList* _csoList; 00152 }; 00153 00155 00157 class MLCSO_EXPORT CSOGroupSelectionChangeScope 00158 { 00159 public: 00160 CSOGroupSelectionChangeScope(CSOList* csoList); 00161 ~CSOGroupSelectionChangeScope(); 00162 private: 00163 CSOList* _csoList; 00164 }; 00165 00167 00168 ML_END_NAMESPACE 00169 00170 #endif // __CSOScopeEvents_H