00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef __HOM_shelves_h__
00017 #define __HOM_shelves_h__
00018
00019 #include "HOM_API.h"
00020 #include "HOM_Defines.h"
00021 #include "HOM_Errors.h"
00022 #include "HOM_EnumValue.h"
00023 #include "HOM_EnumModules.h"
00024 #include "HOM_ElemPtr.h"
00025 #include <map>
00026 #include <vector>
00027
00028 class HOM_NodeTypeCategory;
00029 class HOM_ShelfSet;
00030 class HOM_Shelf;
00031 class HOM_Tool;
00032
00033 SWIGOUT(%rename(shelves) HOM_shelves;)
00034
00035 class HOM_API HOM_shelves
00036 {
00037 public:
00038 virtual ~HOM_shelves()
00039 {}
00040
00041 virtual std::string __repr__() throw(HOM_Error) = 0;
00042
00043 SWIGPYTHONOUT(%feature("autodoc",
00044 "shelfSets(self) -> dict of strings to ShelfSets") shelfSets;)
00045 virtual std::map<std::string, HOM_ElemPtr<HOM_ShelfSet> > shelfSets()
00046 throw(HOM_Error) = 0;
00047
00048 SWIGPYTHONOUT(%feature("autodoc",
00049 "shelves(self) -> dict of strings to Shelfs") shelves;)
00050 virtual std::map<std::string, HOM_ElemPtr<HOM_Shelf> > shelves()
00051 throw(HOM_Error) = 0;
00052
00053 SWIGPYTHONOUT(%feature("autodoc",
00054 "tools(self) -> dict of strings to Tools") tools;)
00055 virtual std::map<std::string, HOM_ElemPtr<HOM_Tool> > tools()
00056 throw(HOM_Error) = 0;
00057
00058 SWIGPYTHONOUT(%feature("autodoc",
00059 "runningTool(self) -> Tool or None") runningTool;)
00060 virtual HOM_Tool *runningTool()
00061 throw(HOM_Error) = 0;
00062
00063 SWIGOUT(%newobject newShelfSet;)
00064 SWIGOUT(%kwargs newShelfSet;)
00065 virtual HOM_ShelfSet *newShelfSet(const char *file_path = NULL,
00066 const char *name = NULL,
00067 const char *label = NULL)
00068 throw(HOM_PermissionError, HOM_Error) = 0;
00069
00070 SWIGOUT(%newobject newShelf;)
00071 SWIGOUT(%kwargs newShelf;)
00072 virtual HOM_Shelf *newShelf(const char *file_path = NULL,
00073 const char *name = NULL,
00074 const char *label = NULL)
00075 throw(HOM_PermissionError, HOM_Error) = 0;
00076
00077 SWIGPYTHONOUT(%feature("autodoc",
00078 "newTool(self, file_path=None, name=None, label=None, script=None,"
00079 " language=hou.scriptLanguage.Python, icon=None, help=None,"
00080 " help_url=None, network_categories=(), viewer_categories=(),"
00081 " pop_viewer_categories=(), cop_viewer_categories=(),"
00082 " network_op_type=None, viewer_op_type=None, locations=())"
00083 " -> Tool") newTool;)
00084 SWIGOUT(%newobject newTool;)
00085 SWIGOUT(%kwargs newTool;)
00086 virtual HOM_Tool *newTool(const char *file_path = NULL,
00087 const char *name = NULL,
00088 const char *label = NULL,
00089 const char *script = NULL,
00090 HOM_EnumValue &language = HOM_scriptLanguage::Python,
00091 const char *icon = NULL,
00092 const char *help = NULL,
00093 const char *help_url = NULL,
00094 const std::vector<HOM_NodeTypeCategory *> &network_categories =
00095 std::vector<HOM_NodeTypeCategory *>(),
00096 const std::vector<HOM_NodeTypeCategory*> &viewer_categories =
00097 std::vector<HOM_NodeTypeCategory *>(),
00098 const std::vector<HOM_NodeTypeCategory*> &pop_viewer_categories
00099 = std::vector<HOM_NodeTypeCategory *>(),
00100 const std::vector<HOM_NodeTypeCategory*> &cop_viewer_categories
00101 = std::vector<HOM_NodeTypeCategory *>(),
00102 const char *network_op_type = NULL,
00103 const char *viewer_op_type = NULL,
00104 const std::vector<std::string> &locations =
00105 std::vector<std::string>())
00106 throw(HOM_PermissionError, HOM_TypeError, HOM_Error) = 0;
00107
00108 virtual std::string defaultFilePath()
00109 throw(HOM_Error) = 0;
00110 };
00111
00112 #endif
00113