HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HOM_Tool.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_Tool_h__
10 #define __HOM_Tool_h__
11 
12 #include "HOM_API.h"
13 #include "HOM_EnumModules.h"
14 #include "HOM_ShelfElement.h"
15 
17 
18 SWIGOUT(%rename(Tool) HOM_Tool;)
19 
20 class HOM_API HOM_Tool : virtual public HOM_ShelfElement
21 {
22 public:
24  { HOM_CONSTRUCT_OBJECT(this) }
25  HOM_Tool(const HOM_Tool &shelftool)
26  : HOM_ShelfElement(shelftool)
27  { HOM_CONSTRUCT_OBJECT(this) }
28  ~HOM_Tool() override
29  { HOM_DESTRUCT_OBJECT(this) }
30 
31  // Let swig know we're overriding __repr__ for this class so it doesn't
32  // provide its own __repr__.
33  SWIGOUT(virtual std::string __repr__() = 0;)
34 
35  virtual bool __lt__(HOM_Tool &other) = 0;
36 
37  virtual int __hash__() = 0;
38 
39  virtual std::string script() = 0;
40  virtual void setScript(const char *script) = 0;
41 
42  virtual HOM_EnumValue &language() = 0;
43  virtual void setLanguage(HOM_EnumValue &language) = 0;
44 
45  virtual std::string icon() = 0;
46  virtual void setIcon(const char *icon) = 0;
47 
48  virtual std::string help() = 0;
49  virtual void setHelp(const char *help) = 0;
50 
51  virtual std::string helpURL() = 0;
52  virtual void setHelpURL(const char *help_url) = 0;
53 
54  virtual std::vector<HOM_NodeTypeCategory *> toolMenuCategories(
55  HOM_EnumValue &pane_type) = 0;
56  virtual void setToolMenuCategories(HOM_EnumValue &pane_type,
57  const std::vector<HOM_NodeTypeCategory *> &categories) = 0;
58 
59  virtual std::string toolMenuOpType(HOM_EnumValue &pane_type) = 0;
60  virtual void setToolMenuOpType(
61  HOM_EnumValue &pane_type, const char *op_type) = 0;
62 
63  virtual std::vector<std::string> toolMenuLocations() = 0;
64  virtual void setToolLocations(const std::vector<std::string> &locations) = 0;
65 
66  virtual std::vector<std::string> keywords() = 0;
67  virtual void setKeywords(const std::vector<std::string> &keywords) = 0;
68 
69 
70  SWIGOUT(%kwargs setData;)
71  virtual void setData(const char *script = NULL,
72  HOM_EnumValue &language = HOM_scriptLanguage::Python,
73  const char *icon = NULL,
74  const char *help = NULL,
75  const char *help_url = NULL,
76  const std::vector<HOM_NodeTypeCategory*> &network_categories =
77  std::vector<HOM_NodeTypeCategory *>(),
78  const std::vector<HOM_NodeTypeCategory*> &viewer_categories =
79  std::vector<HOM_NodeTypeCategory *>(),
80  const std::vector<HOM_NodeTypeCategory*> &cop_viewer_categories
81  = std::vector<HOM_NodeTypeCategory *>(),
82  const char * network_op_type = NULL,
83  const char * viewer_op_type = NULL,
84  const std::vector<std::string> &locations =
85  std::vector<std::string>(),
86  const std::vector<std::string> &keywords =
87  std::vector<std::string>()) = 0;
88 
89  virtual void destroy() = 0;
90 };
91 
92 #endif
HOM_Tool()
Definition: HOM_Tool.h:23
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1210
OIIO_API bool rename(string_view from, string_view to, std::string &err)
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
string __repr__(VtArray< T > const &self)
Definition: wrapArray.h:349
GLsizei GLenum * categories
Definition: glew.h:2581
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:1209
~HOM_Tool() override
Definition: HOM_Tool.h:28
GLsizei const GLchar *const * string
Definition: glew.h:1844
GLsizei const GLint * locations
Definition: glew.h:14386
HOM_Tool(const HOM_Tool &shelftool)
Definition: HOM_Tool.h:25
virtual int __hash__()=0