HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_shelves.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * COMMENTS:
7  */
8 
9 #ifndef __HOM_shelves_h__
10 #define __HOM_shelves_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_Defines.h"
14 #include "HOM_Errors.h"
15 #include "HOM_EnumValue.h"
16 #include "HOM_EnumModules.h"
17 #include "HOM_ElemPtr.h"
18 #include <map>
19 #include <vector>
20 
22 class HOM_ShelfSet;
23 class HOM_Shelf;
24 class HOM_Tool;
25 
26 SWIGOUT(%rename(shelves) HOM_shelves;)
27 
29 {
30 public:
31  virtual ~HOM_shelves()
32  {}
33 
34  virtual std::string __repr__() = 0;
35 
36  virtual std::map<std::string, HOM_ElemPtr<HOM_ShelfSet> > shelfSets() = 0;
37 
38  virtual std::map<std::string, HOM_ElemPtr<HOM_Shelf> > shelves() = 0;
39 
40  virtual std::map<std::string, HOM_ElemPtr<HOM_Tool> > tools() = 0;
41 
42  SWIGOUT(%newobject tool;)
43  virtual HOM_Tool *tool(const char *tool_name) = 0;
44 
45  virtual bool isToolDeleted(const char *tool_name) = 0;
46 
47  virtual void loadFile(const char *file_path) = 0;
48  virtual void reloadShelfFiles() = 0;
49 
50  virtual HOM_Tool *runningTool() = 0;
51 
52  virtual void beginChangeBlock() = 0;
53  virtual void endChangeBlock() = 0;
54 
55  SWIGOUT(%newobject newShelfSet;)
56  SWIGOUT(%kwargs newShelfSet;)
57  virtual HOM_ShelfSet *newShelfSet(const char *file_path = NULL,
58  const char *name = NULL,
59  const char *label = NULL) = 0;
60 
61  SWIGOUT(%newobject newShelf;)
62  SWIGOUT(%kwargs newShelf;)
63  virtual HOM_Shelf *newShelf(const char *file_path = NULL,
64  const char *name = NULL,
65  const char *label = NULL) = 0;
66 
67  SWIGOUT(%newobject newTool;)
68  SWIGOUT(%kwargs newTool;)
69  virtual HOM_Tool *newTool(const char *file_path = NULL,
70  const char *name = NULL,
71  const char *label = NULL,
72  const char *script = NULL,
73  HOM_EnumValue &language = HOM_scriptLanguage::Python,
74  const char *icon = NULL,
75  const char *help = NULL,
76  const char *help_url = NULL,
77  const std::vector<HOM_NodeTypeCategory *> &network_categories =
78  std::vector<HOM_NodeTypeCategory *>(),
79  const std::vector<HOM_NodeTypeCategory*> &viewer_categories =
80  std::vector<HOM_NodeTypeCategory *>(),
81  const std::vector<HOM_NodeTypeCategory*> &cop_viewer_categories
82  = std::vector<HOM_NodeTypeCategory *>(),
83  const char *network_op_type = NULL,
84  const char *viewer_op_type = NULL,
85  const std::vector<std::string> &locations =
86  std::vector<std::string>(),
87  const std::vector<std::string> &keywords =
88  std::vector<std::string>()) = 0;
89 
90  SWIGOUT(%newobject _newAssetTool;)
91  SWIGOUT(%kwargs _newAssetTool;)
92  virtual HOM_Tool *_newAssetTool(const char *name = NULL,
93  const char *label = NULL,
94  const char *icon = NULL,
95  const char *help = NULL,
96  const char *help_url = NULL) = 0;
97 
98  virtual std::string defaultFilePath() = 0;
99 
100  virtual std::string defaultToolName(const char *nodetype_category_name,
101  const char *nodetype_name) = 0;
102 };
103 
104 #endif
105 
GLuint GLsizei const GLchar * label
Definition: glcorearb.h:2545
virtual std::vector< std::string > keywords()=0
GLsizei const GLchar *const * string
Definition: glcorearb.h:814
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:352
std::string help(const App *app, const Error &e)
Printout the full help string on error (if this fn is set, the old default for CLI11) ...
Definition: CLI11.h:8978
virtual ~HOM_shelves()
Definition: HOM_shelves.h:31
#define HOM_API
Definition: HOM_API.h:13
virtual HOM_EnumValue & language()=0
GLuint const GLchar * name
Definition: glcorearb.h:786
virtual std::string script()=0
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
virtual std::string icon()=0