00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_MultiParmTemplate_h__
00017 #define __HOM_MultiParmTemplate_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_ParmTemplate.h"
00021 class HOM_ParmTemplate;
00022
00023 SWIGOUT(%feature("notabstract") HOM_MultiParmTemplate;)
00024 SWIGOUT(%rename(MultiParmTemplate) HOM_MultiParmTemplate;)
00025
00026 class HOM_API HOM_MultiParmTemplate : virtual public HOM_ParmTemplate
00027 {
00028 public:
00029 #ifdef SWIG
00030 #ifdef SWIGPYTHON
00031 %feature("autodoc",
00032 "__init__(self, name, label, default_value=0,"
00033 " disable_when=None, is_hidden=False, help=None, tags={})")
00034 HOM_MultiParmTemplate;
00035 #endif
00036 %extend {
00037 %kwargs HOM_MultiParmTemplate;
00038 HOM_MultiParmTemplate(
00039 const char *name,
00040 const char *label,
00041 int default_value = 0,
00042 bool is_hidden = false,
00043 const char *help = NULL,
00044 const std::map<std::string, std::string> &tags =
00045 HOM_StdMapStringString())
00046 throw(HOM_OperationFailed, HOM_TypeError, HOM_Error)
00047 {
00048 return HOM().newMultiParmTemplate(
00049 name, label, default_value, is_hidden, help, tags);
00050 }
00051 };
00052 #else
00053 HOM_MultiParmTemplate()
00054 { HOM_CONSTRUCT_OBJECT(this) }
00055
00056 HOM_MultiParmTemplate(const HOM_MultiParmTemplate &parm_template)
00057 : HOM_ParmTemplate(parm_template)
00058 { HOM_CONSTRUCT_OBJECT(this) }
00059 #endif
00060
00061 virtual ~HOM_MultiParmTemplate()
00062 { HOM_DESTRUCT_OBJECT(this) }
00063
00064
00065
00066 SWIGOUT(virtual std::string __repr__() throw(HOM_Error);)
00067
00068 virtual int defaultValue() = 0;
00069
00070 SWIGPYTHONOUT(%feature("autodoc",
00071 "parmTemplates(self) -> tuple of ParmTemplates") parmTemplates;)
00072 virtual std::vector<HOM_ElemPtr<HOM_ParmTemplate> > parmTemplates()
00073 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00074
00075 virtual void addParmTemplate(HOM_ParmTemplate &parm_template)
00076 throw(HOM_OperationFailed, HOM_ObjectWasDeleted, HOM_Error) = 0;
00077
00078 virtual void clearParmTemplates()
00079 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00080 };
00081
00082 #endif