MeVisLabToolboxReference
MeVisLab/Standard/Sources/ML/MLParser/mlEditObject.h
Go to the documentation of this file.
00001 // **InsertLicense** code
00002 //----------------------------------------------------------------------------------
00004 
00009 //----------------------------------------------------------------------------------
00010 
00011 #ifndef __EditObject_H
00012 #define __EditObject_H
00013 
00014 #include "mlParserSystem.h"
00015 #include "mlEngine.h"
00016 #include "mlOperatorIncludes.h"
00017 
00018 ML_START_NAMESPACE
00019 
00022   class PARSER_EXPORT EditObject : public Engine
00023   {
00024     public:
00025 
00027       typedef enum {
00028         AutoUpdateModeDoNothing = 0,
00029         AutoUpdateModeAutoClear,
00030         AutoUpdateModeAutoUpdate,
00031         AutoUpdateModeCount
00032       } AutoUpdateMode;
00033 
00035       EditObject();     
00036       
00038       ~EditObject();
00039 
00041       virtual void deleteObject(void);
00042 
00044       virtual int loadObject(void);
00045 
00047       virtual int updateObject(void);      
00048       
00049       NotifyField *_fldUpdateButton;   
00050       NotifyField *_fldLoadButton;     
00051       NotifyField *_fldDeleteButton;   
00052 
00053       EnumField   *_fldAutoUpdateMode; 
00054       
00055       BoolField   *_fldAutoLoad;       
00056       BoolField   *_fldUpToDate;       
00057 
00058       StringField *_fldObjectString;   
00059 
00060       BaseField   *_fldBaseOutput;     
00061       BaseField   *_fldBaseInput;      
00062 
00063       StringField *_fldStatus;         
00064    
00065     protected:
00066 
00069       virtual void activateAttachments();      
00070 
00072       virtual void handleNotification (Field *field);
00073 
00075       Base        *_outputObject;      
00076 
00078       Base        *_inputObject;      
00079 
00081       char        *_objectString;
00082 
00083     private:
00084 
00086       ML_BASEOP_CLASS_HEADER(EditObject);
00087 
00089       static const char* AutoUpdateModeNames[];
00090 
00091   }; // class EditObject
00092 
00093 ML_END_NAMESPACE
00094 
00095 #endif