12 #ifndef __OP_OperatorTable_h__
13 #define __OP_OperatorTable_h__
31 class OP_ScriptIndexFile;
60 int *aliasedScriptedOp = 0,
61 bool exact_type =
false);
65 std::ostream *err =
nullptr);
69 {
return myPrimarySubnet; }
73 void addScriptIndexFile(
const char *indexpath,
74 const char *indexfile,
76 const char *extrainfo,
81 bool loadScriptOperator(
const char *opname,
UT_IStream &is,
84 bool canReuseOperator(
95 bool loadDSO(
const char *dso_file);
101 bool english=
true)
const;
104 bool filterhidden =
false)
const;
111 {
return myUniqueOpTypeID; }
120 {
return myScriptDirectory; }
123 unsigned getStatus()
const;
124 void setDefaultType(
const char *type);
125 const char *getDefaultType()
const;
128 bool setOpRename(
const char *optype,
const char *newname,
129 std::ostream *err =
nullptr);
131 void outputOpRenames(std::ostream &os)
const;
134 bool setOpAlias(
const char *optype,
136 std::ostream *err =
nullptr);
140 bool setOpFirstName(
const char *type,
141 const char *firstname,
142 std::ostream *err =
nullptr);
144 void outputOpAliases(std::ostream &os)
const;
146 void outputOpFirstNames(std::ostream &os)
const;
148 void getOpAliases(
const char *opname,
151 const char *getOpFromAlias(
const char *alias)
const;
153 bool addOpExcluded(
const char *opname,
154 std::ostream *err =
nullptr);
156 bool isOpExcluded(
const char *opname)
const;
158 void outputOpExcluded(std::ostream &os)
const;
160 bool addOpHidden(
const char *opname,
161 std::ostream *err =
nullptr);
163 void delOpHidden(
const char *opname);
165 bool isOpHidden(
const char *opname)
const;
170 bool isOpExperimental(
const UT_StringRef &opname)
const;
172 bool addOpExperimental(
const char *opname,
173 std::ostream *err =
nullptr);
176 bool setOpDeprecated(
const char *opname,
178 const char *replacement = 0,
179 std::ostream *err =
nullptr);
181 bool isOpDeprecated(
const char *opname)
const;
184 bool getDeprecationInfo(
const char *opname,
188 void outputOpDeprecated(std::ostream &os)
const;
193 std::ostream *err =
nullptr);
197 bool hasSpecificOpDefaultColor(
200 void clearOpDefaultColors();
202 void outputOpDefaultColors(std::ostream &os)
const;
207 std::ostream *err =
nullptr);
211 bool hasSpecificOpDefaultShape(
214 void clearOpDefaultShapes();
216 void outputOpDefaultShapes(std::ostream &os)
const;
225 void getDefaultNodeName(
const char *type,
UT_String &name);
229 const char *getScriptedSubnetIndex()
const;
234 void notifyUpdateTableSinksOfUpdate();
237 {
return theLoadDSOFlag; }
239 { theLoadDSOFlag = i; }
240 static unsigned getPermissionMask(
const OP_Operator *op);
241 static void clearPermissionMask(
const OP_Operator *op);
245 static void initializeOpThemes();
250 static void buildOpTypeNamespaceHierarchy();
254 static const char *getOpTypeNamespaceHierarchyPref();
262 void getCandidateOperatorNamesInPrecedenceOrder(
278 const char *getPreferredOperatorName(
const char *opname,
288 static bool alwaysReuseScriptOperatorCallback(
291 static bool neverReuseScriptOperatorCallback(
300 void notifyUpdateTableSinksOfDelete();
304 std::ostream *err =
nullptr);
305 int loadScriptIndexFile(OP_ScriptIndexFile &sif,
310 {
return myOpNamespaceHierarchy; }
319 const char *opname,
bool exact_opname);
330 int myUniqueOpTypeID;
331 static int theLoadDSOFlag;
345 bool isEmpty()
const;
358 bool myIsExperimental:1;
367 static UT_String theOpTypeNamespaceHierarchyPref;
368 static bool theOpThemesInitialized;
378 { removeAllTableSinks(); }
382 { removeUpdateTableSink(table); }
388 table->addUpdateTableSink(
this);
389 myOpTables.append(table, 1);
394 table->removeUpdateTableSink(
this);
395 myOpTables.findAndRemove(table);
399 for(
int i = myOpTables.entries(); i --> 0; )
400 removeUpdateTableSink(myOpTables(i));
bool(* OP_ScriptCanReuseFunc)(const OP_ScriptOperator *script_operator, const OP_OTLDefinition &new_definition)
virtual ~OP_UpdateTableSink()
void removeAllTableSinks()
OP_Operator * getPrimarySubnetOperator()
static void setLoadDSOFlag(int i)
static int getLoadDSOFlag()
int getUniqueOpTypeID() const
GLuint const GLchar * name
GLenum GLenum GLsizei void * table
UT_SymbolMap< OP_OperatorTable * > OP_OperatorTableMap
UT_ValArray< OP_OperatorTable * > OP_OperatorTableList
GT_API const UT_StringHolder version
virtual void tableDeleted(OP_OperatorTable *table)
OP_ScriptOperator *(* OP_ScriptCreatorFunc)(const OP_OTLDefinition &definition)
const UT_String & getName() const
void removeUpdateTableSink(OP_OperatorTable *table)
const UT_String & getScriptPath() const
void addUpdateTableSink(OP_OperatorTable *table)