00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_Dialog_h__
00017 #define __HOM_Dialog_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Errors.h"
00022 #include "HOM_Module.h"
00023
00024 SWIGOUT(%rename(Dialog) HOM_Dialog;)
00025
00026 class HOM_API HOM_Dialog
00027 {
00028 public:
00029 HOM_Dialog()
00030 { HOM_CONSTRUCT_OBJECT(this) }
00031 HOM_Dialog(const HOM_Dialog &)
00032 { HOM_CONSTRUCT_OBJECT(this) }
00033 virtual ~HOM_Dialog()
00034 { HOM_DESTRUCT_OBJECT(this) }
00035
00036 virtual std::string __repr__() throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00037
00038 virtual void destroy()
00039 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00040
00041 virtual void setValue(const char *name, const char *value)
00042 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00043 HOM_Error) = 0;
00044 virtual void setValue(const char *name, int value)
00045 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00046 virtual void setValue(const char *name, float value)
00047 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00048
00049 SWIGOUT(%ignore boostAnyValue;)
00050 virtual boost::any boostAnyValue(const char *name)
00051 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00052 HOM_Error) = 0;
00053
00054 virtual void enableValue(const char *name, bool onoff)
00055 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00056 HOM_Error) = 0;
00057
00058 SWIGOUT(%ignore addOpaqueCallback;)
00059 virtual void addOpaqueCallback(const char *name, void *callback)
00060 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00061 HOM_Error) = 0;
00062
00063 SWIGOUT(%ignore removeOpaqueCallback;)
00064 virtual void removeOpaqueCallback(const char *name, void *callback)
00065 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00066 HOM_Error) = 0;
00067
00068 SWIGOUT(%ignore opaqueCallbacks;)
00069 virtual std::vector<void *> opaqueCallbacks(const char *name)
00070 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00071 HOM_Error) = 0;
00072
00073 virtual void waitForValueToChangeTo(const char *name, const char *new_value)
00074 throw(HOM_OperationFailed, HOM_OperationInterrupted, HOM_TypeError,
00075 HOM_ObjectWasDeleted, HOM_Error) = 0;
00076
00077 virtual void waitForValueToChangeTo(const char *name, int new_value)
00078 throw(HOM_OperationFailed, HOM_OperationInterrupted, HOM_TypeError,
00079 HOM_ObjectWasDeleted, HOM_Error) = 0;
00080
00081 #ifdef SWIG
00082 %extend
00083 {
00084 InterpreterObject value(const char *name)
00085 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00086 HOM_Error)
00087 { return HOMboostAnyToInterpreterObject(self->boostAnyValue(name)); }
00088
00089 virtual void addCallback(const char *name, InterpreterObject callback)
00090 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00091 HOM_Error)
00092 { self->addOpaqueCallback(name, callback); }
00093
00094 virtual void removeCallback(const char *name, InterpreterObject callback)
00095 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00096 HOM_Error)
00097 { self->removeOpaqueCallback(name, callback); }
00098
00099
00100
00101
00102 std::vector<InterpreterObject> callbacks(const char *name)
00103 throw(HOM_OperationFailed, HOM_TypeError, HOM_ObjectWasDeleted,
00104 HOM_Error)
00105 {
00106 std::vector<void *> opaque_callbacks(self->opaqueCallbacks(name));
00107
00108 std::vector<InterpreterObject> callbacks;
00109 for (int i=0; i< opaque_callbacks.size(); ++i)
00110 callbacks.push_back((InterpreterObject)opaque_callbacks[i]);
00111 return callbacks;
00112 }
00113 }
00114 #endif
00115 };
00116
00117 #endif