HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OBJ_ScriptOperator.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  * NAME: OBJ_ScriptOperator.h (OBJ Library, C++)
7  *
8  * COMMENTS:
9  *
10  */
11 
12 #ifndef __OBJ_ScriptOperator_h__
13 #define __OBJ_ScriptOperator_h__
14 
15 #include "OBJ_API.h"
16 #include <PI/PI_ScriptOperator.h>
17 #include "OBJ_Node.h"
18 
19 class UT_IStream;
20 
21 typedef PRM_Template *(*OBJ_ScriptTemplateFunc)(OBJ_ParmsStyle style);
22 
24 {
25 public:
26  OBJ_ScriptOperator(const OP_OTLDefinition &definition,
27  const char *defaulticon,
28  OP_Constructor construct,
29  const char *child_table_name,
30  int controlsswitcherindex,
31  int controlsswitcherpagenum,
32  OBJ_ScriptTemplateFunc gettemplatefunc);
33  ~OBJ_ScriptOperator() override;
34 
36  UT_IStream &is,
37  const char *filename,
38  UT_String &scriptname,
39  PRM_ScriptImports *&imports) override;
40 
41  bool getHideDefaultParms() const
42  { return myHideDefaultParms; }
43 
44 private:
45  OBJ_ScriptTemplateFunc myGetTemplateFunc;
46  int myControlsSwitcherIndex;
47  int myControlsSwitcherPageNum;
48  bool myHideDefaultParms;
49 };
50 
51 #endif
OBJ_ParmsStyle
Definition: OBJ_Node.h:207
bool getHideDefaultParms() const
std::function< OP_Ptr(OP_Network *, const char *, OP_Operator *)> OP_Constructor
Definition: OP_Operator.h:107
GT_API const UT_StringHolder filename
PRM_Template *(* OBJ_ScriptTemplateFunc)(OBJ_ParmsStyle style)
#define OBJ_API
Definition: OBJ_API.h:10
PRM_Template * loadParmTemplates(UT_IStream &is, const char *filename, UT_String &scriptName, PRM_ScriptImports *&imports) override