MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLWEM/WEMBase/WEMModuleBase/WEMInspector.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00007 
00014 #ifndef __WEMInspector_H
00015 #define __WEMInspector_H
00016 
00017 #include "WEMBase/WEM.h"
00018 #include "WEMModule.h"
00019 
00020 
00021 ML_START_NAMESPACE
00022 
00028 class MLWEM_EXPORT WEMInspector : public WEMModule
00029 {
00030 
00031 public:
00032 
00034   WEMInspector(std::string type="WEMInspector", int numInImages=0,int numOutImages=0);
00035 
00036 protected:
00037 
00039   virtual ~WEMInspector();
00040 
00041 
00042   /* FIELDS */
00043 
00046   BoolField* _autoApplyFld;
00049   BoolField* _autoUpdateFld;
00052   BoolField* _autoClearFld;
00054   BaseField* _inputWEMFld;
00056   BoolField* _listenToFinishingNotificationsFld;
00058   BoolField* _listenToRepaintNotificationsFld;
00060   BoolField* _listenToSelectionChangedNotificationsFld;
00061 
00062 
00063   /* STATE VARIABLES */
00064 
00066   WEM* _inWEM;
00067 
00068 
00069   /* METHODS */
00070 
00072   virtual void handleNotification(Field *field);
00074   virtual void activateAttachments();
00076   virtual void _process();
00078   virtual void _inWEMChanged();
00079 
00080 
00081 private:
00082 
00083   /* FIELDS */
00084 
00086   NotifyField* _applyFld;
00087 
00088 
00089   /* STATE VARIABLES */
00090 
00092   bool _isInNotificationCB;
00093 
00094 
00095   /* METHODS */
00096 
00098   static void _wemNotificationCB(void* userData, std::vector<WEMEventContainer> ecList);
00099 
00101   ML_CLASS_HEADER(WEMInspector)
00102 
00103 };
00104 
00106 
00107 ML_END_NAMESPACE
00108 
00109 #endif // __WEMInspector_H