HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros 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  virtual ~HOM_Tool()
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 int __hash__() = 0;
36 
37  virtual std::string script() = 0;
38  virtual void setScript(const char *script) = 0;
39 
40  virtual HOM_EnumValue &language() = 0;
41  virtual void setLanguage(HOM_EnumValue &language) = 0;
42 
43  virtual std::string icon() = 0;
44  virtual void setIcon(const char *icon) = 0;
45 
46  virtual std::string help() = 0;
47  virtual void setHelp(const char *help) = 0;
48 
49  virtual std::string helpURL() = 0;
50  virtual void setHelpURL(const char *help_url) = 0;
51 
52  virtual std::vector<HOM_NodeTypeCategory *> toolMenuCategories(
53  HOM_EnumValue &pane_type) = 0;
54  virtual void setToolMenuCategories(HOM_EnumValue &pane_type,
55  const std::vector<HOM_NodeTypeCategory *> &categories) = 0;
56 
57  virtual std::string toolMenuOpType(HOM_EnumValue &pane_type) = 0;
58  virtual void setToolMenuOpType(
59  HOM_EnumValue &pane_type, const char *op_type) = 0;
60 
61  virtual std::vector<std::string> toolMenuLocations() = 0;
62  virtual void setToolLocations(const std::vector<std::string> &locations) = 0;
63 
64  virtual std::vector<std::string> keywords() = 0;
65  virtual void setKeywords(const std::vector<std::string> &keywords) = 0;
66 
67 
68  SWIGOUT(%kwargs setData;)
69  virtual void setData(const char *script = NULL,
70  HOM_EnumValue &language = HOM_scriptLanguage::Python,
71  const char *icon = NULL,
72  const char *help = NULL,
73  const char *help_url = NULL,
74  const std::vector<HOM_NodeTypeCategory*> &network_categories =
75  std::vector<HOM_NodeTypeCategory *>(),
76  const std::vector<HOM_NodeTypeCategory*> &viewer_categories =
77  std::vector<HOM_NodeTypeCategory *>(),
78  const std::vector<HOM_NodeTypeCategory*> &cop_viewer_categories
79  = std::vector<HOM_NodeTypeCategory *>(),
80  const char * network_op_type = NULL,
81  const char * viewer_op_type = NULL,
82  const std::vector<std::string> &locations =
83  std::vector<std::string>(),
84  const std::vector<std::string> &keywords =
85  std::vector<std::string>()) = 0;
86 
87  virtual void destroy() = 0;
88 };
89 
90 #endif
HOM_Tool()
Definition: HOM_Tool.h:23
virtual ~HOM_Tool()
Definition: HOM_Tool.h:28
#define HOM_DESTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:981
GLsizei const GLchar *const * string
Definition: glcorearb.h:813
#define SWIGOUT(x)
Definition: HOM_Defines.h:24
#define HOM_API
Definition: HOM_API.h:13
#define HOM_CONSTRUCT_OBJECT(pointer)
Definition: HOM_Module.h:980
HOM_Tool(const HOM_Tool &shelftool)
Definition: HOM_Tool.h:25
virtual int __hash__()=0
virtual std::string __repr__()=0