12 #ifndef __DS_ParmReader__
13 #define __DS_ParmReader__
55 int copy(
const char *sp[],
67 const char *
getString(
int idx)
const {
return myStrings[idx]; }
69 {
return myStringMeanings[idx]; }
94 if ( value ) myValue = ::strdup( value );
95 if ( label ) myLabel = ::strdup( label );
99 if ( myValue ) ::free( myValue );
100 if ( myLabel ) ::free( myLabel );
117 : myToken(0), myValue(0)
119 if (token) myToken = ::strdup(token);
120 if (value) myValue = ::strdup(value);
124 if (myToken) ::free(myToken);
125 if (myValue) ::free(myValue);
142 const char *desc,
const char *
label,
143 const char *default_settings)
144 : myChannelName(0), myType(0), myDesc(0), myLabel(0)
146 if (channelname) myChannelName = ::strdup(channelname);
147 if (type) myType = ::strdup(type);
148 if (desc) myDesc = ::strdup(desc);
149 if (label) myLabel = ::strdup(label);
150 if (default_settings)
151 myDefaultSettings = ::strdup(default_settings);
155 if (myChannelName) ::free(myChannelName);
156 if (myType) ::free(myType);
157 if (myDesc) ::free(myDesc);
158 if (myLabel) ::free(myLabel);
159 if (myDefaultSettings) ::free(myDefaultSettings);
164 const
char *getChannelName()
const {
return myChannelName; }
165 const char *
getType()
const {
return myType; }
166 const char *
getDesc()
const {
return myDesc; }
171 char *myChannelName, *myType, *myDesc, *myLabel, *myDefaultSettings;
178 const char *
type,
const char *prompt,
const char *desc,
179 const char *
mask,
int dragging,
180 const char *menu,
int asterisk,
181 int input_index=-1,
int input_required=0)
182 : myParmName(0), myType(0), myDesc(0), myPrompt(0), myMask(0), myMenu(0)
184 myDragging = dragging;
185 myAsterisk = asterisk;
186 myInputIndex = input_index;
187 myInputRequired = input_required;
188 if (parm_name) myParmName = ::strdup(parm_name);
189 if (type) myType = ::strdup(type);
190 if (prompt) myPrompt = ::strdup(prompt);
191 if (desc) myDesc = ::strdup(desc);
192 if (mask) myMask = ::strdup(mask);
193 if (menu) myMenu = ::strdup(menu);
197 if (myParmName) ::free(myParmName);
198 if (myType) ::free(myType);
199 if (myPrompt) ::free(myPrompt);
200 if (myDesc) ::free(myDesc);
201 if (myMenu) ::free(myMenu);
202 if (myMask) ::free(myMask);
207 const
char *getParmName()
const {
return myParmName; }
208 const char *
getType()
const {
return myType; }
210 const char *
getDesc()
const {
return myDesc; }
213 const char *
getMenu()
const {
return myMenu; }
219 char *myParmName, *myType, *myPrompt, *myDesc, *myMask, *myMenu;
220 int myDragging, myAsterisk;
221 int myInputIndex, myInputRequired;
233 { myControlParm.append( ::strdup(parm) );
234 myControlValue.append( ::strdup(value) ); }
256 void addHelpText(
const char *text);
286 bool setTypeByToken(
const char *token );
287 const char *getTypeToken()
const;
290 bool isInvisible()
const;
292 void setLogarithmic(
bool flag);
293 bool isLogarithmic()
const;
299 void setFlag(
unsigned flag ) { myFlag |= flag; }
300 void clearFlag(
unsigned flag = (
unsigned)-1 ){ myFlag &= ~flag; }
301 unsigned getFlag(
unsigned flag )
const {
return myFlag & flag; }
317 unsigned lightChan = 1 );
322 virtual const char *getClassName()
const;
326 virtual int open(
const char *fileName ) = 0;
327 virtual void close() = 0;
333 virtual int parse() = 0;
339 virtual const char *getScriptTypeName() = 0;
340 virtual const char *getScriptName() = 0;
341 virtual const char *getScriptLabel() = 0;
342 virtual const char *getScriptHelp() = 0;
343 virtual const char *getScriptInfo() = 0;
DS_SelectorList myReservedSelectors
DS_HandleList myBoundHandles
DS_DefaultValue * myDefault
void setFlag(unsigned flag)
virtual const char * getRenderMask()
fpreal * getFloat() const
const char * getPrimMask() const
GLuint GLsizei const GLchar * label
DS_SelectorBinding * mySelector
void clearFlag(unsigned flag=(unsigned)-1)
DS_HandleList & getBoundHandles()
const char * getValue() const
UT_String myRenderManType
OIIO_UTIL_API bool copy(string_view from, string_view to, std::string &err)
int getInputRequired() const
const char * getDesc() const
GLsizei const GLfloat * value
DS_AttributeValue(const char *token, const char *value)
const char * getMenu() const
const char * getPrompt() const
DS_SelectorList myUnboundSelectors
DS_SelectorBinding(const char *parm_name, const char *type, const char *prompt, const char *desc, const char *mask, int dragging, const char *menu, int asterisk, int input_index=-1, int input_required=0)
DS_SelectorList & getUnboundSelectors()
UT_ValArray< DS_SelectorBinding * > DS_SelectorList
PRM_MultiType myMultiType
DS_HandleBinding(const char *channelname, const char *type, const char *desc, const char *label, const char *default_settings)
__hostdev__ float getValue(uint32_t i) const
UT_ValArray< DS_MenuChoice * > DS_Menu
virtual int getNumInputLabels() const
GLint GLint GLsizei GLint GLenum GLenum type
DS_AttributeList myAttributes
UT_StringList & getGroups()
const char * getDesc() const
CH_ScriptLanguage myMenuScriptLanguage
UT_ValArray< DS_AttributeValue * > DS_AttributeList
DS_SelectorList & getReservedSelectors()
#define UT_NON_COPYABLE(CLASS)
Define deleted copy constructor and assignment operator inside a class.
const char * getType() const
DS_HandleList & getReservedHandles()
unsigned getFlag(unsigned flag) const
UT_ValArray< DS_DisableInfo * > DS_DisableList
DS_DisableList myDisableInfo
SYS_FORCE_INLINE UT_StringHolder getToken(Add enum_value)
FS_API bool cleanup(UT_StringArray &removed, UT_StringArray &error_files, exint &memory_freed, bool dry_run, const char *override_path=nullptr)
int isDoingGroups() const
UT_ValArray< DS_HandleBinding * > DS_HandleList
const char * getDefaultSettings() const
virtual const char * getInputLabel(int)
UT_Array< char * > myControlParm
CH_StringMeaning getStringMeaning(int idx) const
GLenum GLsizei GLsizei GLint * values
DS_HandleList myReservedHandles
UT_Array< char * > myControlValue
const char * getString(int idx) const
const char * getLabel() const
const char * getType() const
UT_ValArray< DS_ParmInfo * > DS_ParmInfoList
int getInputIndex() const
PRM_MultiType
This type enum defines the different types of multi (dynamic) parameters.