MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLCSO/CSOBase/CSOScopeEvents.h
Go to the documentation of this file.
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