00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_Tool_h__
00017 #define __HOM_Tool_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_EnumModules.h"
00021 #include "HOM_ShelfElement.h"
00022
00023 class HOM_NodeTypeCategory;
00024
00025 SWIGOUT(%rename(Tool) HOM_Tool;)
00026
00027 class HOM_API HOM_Tool : virtual public HOM_ShelfElement
00028 {
00029 public:
00030 HOM_Tool()
00031 { HOM_CONSTRUCT_OBJECT(this) }
00032 HOM_Tool(const HOM_Tool &shelftool)
00033 : HOM_ShelfElement(shelftool)
00034 { HOM_CONSTRUCT_OBJECT(this) }
00035 virtual ~HOM_Tool()
00036 { HOM_DESTRUCT_OBJECT(this) }
00037
00038
00039
00040 SWIGOUT(virtual std::string __repr__()
00041 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;)
00042
00043 virtual int __hash__() throw(HOM_Error) = 0;
00044
00045 virtual std::string script()
00046 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00047 virtual void setScript(const char *script)
00048 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_Error) = 0;
00049
00050 SWIGPYTHONOUT(%feature("autodoc",
00051 "language(self) -> hou.scriptLanguage enum value") language;)
00052 virtual HOM_EnumValue &language()
00053 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00054 virtual void setLanguage(HOM_EnumValue &language)
00055 throw(HOM_ObjectWasDeleted, HOM_PermissionError,
00056 HOM_TypeError, HOM_Error) = 0;
00057
00058 virtual std::string icon()
00059 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00060 virtual void setIcon(const char *icon)
00061 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_Error) = 0;
00062
00063 virtual std::string help()
00064 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00065 virtual void setHelp(const char *help)
00066 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_Error) = 0;
00067
00068 virtual std::string helpURL()
00069 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00070 virtual void setHelpURL(const char *help_url)
00071 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_Error) = 0;
00072
00073 SWIGPYTHONOUT(%feature("autodoc",
00074 "toolMenuCategories(self, pane_type) -> tuple of NodeTypeCategories")
00075 toolMenuCategories;)
00076 virtual std::vector<HOM_NodeTypeCategory *> toolMenuCategories(
00077 HOM_EnumValue &pane_type)
00078 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00079 virtual void setToolMenuCategories(HOM_EnumValue &pane_type,
00080 const std::vector<HOM_NodeTypeCategory *> &categories)
00081 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_TypeError,
00082 HOM_Error) = 0;
00083
00084 virtual std::string toolMenuOpType(HOM_EnumValue &pane_type)
00085 throw(HOM_ObjectWasDeleted, HOM_TypeError, HOM_Error) = 0;
00086 virtual void setToolMenuOpType(
00087 HOM_EnumValue &pane_type, const char *op_type)
00088 throw(HOM_ObjectWasDeleted, HOM_PermissionError,
00089 HOM_TypeError, HOM_Error) = 0;
00090
00091 SWIGPYTHONOUT(%feature("autodoc",
00092 "toolMenuLocations(self) -> tuple of strings") toolMenuLocations;)
00093 virtual std::vector<std::string> toolMenuLocations()
00094 throw(HOM_ObjectWasDeleted, HOM_Error) = 0;
00095 virtual void setToolLocations(const std::vector<std::string> &locations)
00096 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_Error) = 0;
00097
00098 SWIGPYTHONOUT(%feature("autodoc",
00099 "setData(self, script='', language=hou.scriptLanguage.Python, "
00100 "icon='', help='', help_url='', "
00101 "network_categories=(), viewer_categories=(), "
00102 "pop_viewer_categories=(), cop_viewer_categories=(), "
00103 "network_op_type='', viewer_op_type='', locations=())") setData;)
00104 SWIGOUT(%kwargs setData;)
00105 virtual void setData(const char *script = NULL,
00106 HOM_EnumValue &language = HOM_scriptLanguage::Python,
00107 const char *icon = NULL,
00108 const char *help = NULL,
00109 const char *help_url = NULL,
00110 const std::vector<HOM_NodeTypeCategory*> &network_categories =
00111 std::vector<HOM_NodeTypeCategory *>(),
00112 const std::vector<HOM_NodeTypeCategory*> &viewer_categories =
00113 std::vector<HOM_NodeTypeCategory *>(),
00114 const std::vector<HOM_NodeTypeCategory*> &pop_viewer_categories
00115 = std::vector<HOM_NodeTypeCategory *>(),
00116 const std::vector<HOM_NodeTypeCategory*> &cop_viewer_categories
00117 = std::vector<HOM_NodeTypeCategory *>(),
00118 const char * network_op_type = NULL,
00119 const char * viewer_op_type = NULL,
00120 const std::vector<std::string> &locations =
00121 std::vector<std::string>())
00122 throw(HOM_ObjectWasDeleted, HOM_PermissionError,
00123 HOM_TypeError, HOM_Error) = 0;
00124
00125 virtual void destroy()
00126 throw(HOM_ObjectWasDeleted, HOM_PermissionError, HOM_Error) = 0;
00127 };
00128
00129 #endif