Class to store incoding information when running a script directly from the toolbar. More...
Namespaces | |
| namespace | CARTOSCRIPT |
Classes | |
| union | ARG |
| Built-in functions get passed an array of these as their second parameter. More... | |
| class | AUTOCLASS |
| A helper class to simplify installing real C++ classes into SML. More... | |
| class | AUTOCLASS_DELETABLE_NOCOPY_T |
| A Template class of SML::AUTOCLASS. More... | |
| class | AUTOCLASS_DELETABLE_T |
| A Template class of SML::AUTOCLASS. More... | |
| class | AUTOCLASS_NEW_NOCOPY_T |
| A Template class of SML::AUTOCLASS. More... | |
| class | AUTOCLASS_NEW_T |
| A Template class of SML::AUTOCLASS. More... | |
| class | AUTOCLASS_NOALLOC_T |
| A Template class of SML::AUTOCLASS. More... | |
| class | CADOBJECT |
| struct | CALLBACKSTRUCT |
| Structure passed to an SML callback. More... | |
| class | CLASS |
| Structure for defining a class in SML. More... | |
| class | CLASSARRAY |
| Class used by SML to hold an array of class structures. More... | |
| struct | CLASSCALLBACKLIST |
| class | CLASSHASH |
| class | CLASSMEMBER |
| class | CONTEXT |
| Main class used by SML functions. More... | |
| class | CONTEXT_REFCOUNT |
| class | DEVPRIVATE |
| This class provides a way to attach private data to an SML::CONTEXT on a per-context basis. More... | |
| class | DOCCODES |
| class SML::DOCCODES More... | |
| class | DOCCODES_ANSI |
| Pass to SML::GetFuncDoc() to get plain text with ANSI codes for bold, color, etc. More... | |
| class | DOCCODES_HTML |
| Pass to SML::GetFuncDoc() to get HTML text. More... | |
| class | DOCCODES_MISTRING |
| An intermediate class that SML::DOCCODES_ANSI and SML::DOCCODES_HTML are based on. More... | |
| class | ENCODINGDATA |
| struct | FILEINFO |
| class | FLAG |
| Parameter flag value definition. More... | |
| class | FUNC |
| Structure for defining an SML function. More... | |
| class | FUNCDEF |
| Structure for defining SML functions. More... | |
| class | GUI_BOOK |
| class | GUI_GADGET |
| struct | GUI_GADGET_POINT |
| struct | GUI_GADGET_POLYLINE |
| struct | GUI_GADGET_RECTANGLE |
| struct | GUI_GADGET_REGION |
| struct | GUI_GADGET_SEGMENT |
| class | GUI_PAGE |
| class | GUI_PANE |
| class | GUI_PANE_BASE |
| class | GUI_PANE_ROOT |
| class | GUI_PANE_XML |
| class | HASH |
| class | NUMHASH |
| class | OBJECT |
| class | PARM |
| class | RASTEROBJECT |
| class | RESTRICTION |
| class | SHAPEOBJECT |
| class | STRING |
| SML string constant representation. More... | |
| class | STRINGHASH |
| class | SYMBOL |
| Class for representing variables and functions in SML. More... | |
| class | TINOBJECT |
| class | USERDATA |
| A class which can be used to hang USERDATA off an SML::STRING or SML::SYMBOL. More... | |
| class | VECTOROBJECT |
Typedefs | |
| typedef union SML::ARG | ARG |
| typedef int(* | FUNCINSTALLER )(CONTEXT *) |
| typedef enum::SMLFUNCSIG | FUNCSIG |
| typedef PTRINT | MACHINEINST |
| typedef enum::SMLSTYPE | STYPE |
Enumerations | |
| enum | CONTEXTTYPE { CONTEXTTYPE_NONE = 0, CONTEXTTYPE_SML = 0x00000001, CONTEXTTYPE_SelectQuery = 0x00000002, CONTEXTTYPE_StyleQuery = 0x00000004, CONTEXTTYPE_GeoFormula = 0x00000008, CONTEXTTYPE_PinMap = 0x00000010, CONTEXTTYPE_DispLayer = 0x00000020, CONTEXTTYPE_ComputedField = 0x00000040, CONTEXTTYPE_DisplayControlScript = 0x00000080, CONTEXTTYPE_LayerControlScript = 0x00000100, CONTEXTTYPE_ToolScript = 0x00000200, CONTEXTTYPE_MacroScript = 0x00000400, CONTEXTTYPE_TNTsim = 0x00000800, CONTEXTTYPE_ANY = 0xFFFFFFFF } |
| enum | USAGE { USAGE_Undefined = 0, USAGE_StandAlone, USAGE_ToolScript, USAGE_MacroScript, USAGE_DisplayControlScript, USAGE_Select, USAGE_GeoFormula, USAGE_StyleScript, USAGE_ComputedField, USAGE_StringExpression, USAGE_Callback, USAGE_ScriptLayer, USAGE_NumericExpression, USAGE_LAST } |
Functions | |
| void | BackgroundReadSMLDOCS () |
| RVCSYSLIBEXPORT void | CLASSReadOnly (CONTEXT *, CLASSMEMBER *, void *, ARG *) |
| void | CLASSReadPassThrough (CONTEXT *, CLASSMEMBER *, void *vdata, ARG *ret) |
| RVCSYSLIBEXPORT void | CLASSReadSimple (CONTEXT *, CLASSMEMBER *, void *, ARG *) |
| RVCSYSLIBEXPORT void | CLASSReadULONGFlag (CONTEXT *, CLASSMEMBER *, void *, ARG *) |
| RVCSYSLIBEXPORT void | CLASSWriteSimple (CONTEXT *, CLASSMEMBER *, void *, ARG *) |
| void | CLASSWriteTableNum (CONTEXT *context, CLASSMEMBER *member, void *vdata, ARG *arg) |
| RVCSYSLIBEXPORT void | CLASSWriteULONGFlag (CONTEXT *, CLASSMEMBER *, void *, ARG *) |
| RVCSYSLIBEXPORT int | CreateContextFromDBHandle (RVC::DATABASEHANDLE *dbhandle, SML::CONTEXT *&context, UINT32 flags) |
| int | FUNCSIG_GetNumParms (SMLFUNCSIG sig) |
| SMLFUNCSIG | FUNCSIG_GetParmType (SMLFUNCSIG sig, int n) |
| SMLFUNCSIG | FUNCSIG_GetRetType (SMLFUNCSIG sig) |
| bool | GetClassDesc (CONTEXT *context, const MISTRING &ClassName, MISTRING &mistr) |
| int | GetClassDoc (CONTEXT *context, const CLASS *Class, DOCCODES &codes, bool bInsert=false, USAGE usage=USAGE_Undefined) |
| int | GetExampleDoc (XMLNODE *node, DOCCODES &codes) |
| int | GetExampleDoc (const MISTRING &name, DOCCODES &codes) |
| bool | GetFuncDesc (CONTEXT *context, const FUNC *smlfunc, MISTRING &mistr) |
| int | GetFuncDoc (CONTEXT *context, USAGE Usage, const SYMBOL *sym, DOCCODES &codes, bool bShortForm=false) |
| int | GetFuncExample (CONTEXT *context, const SYMBOL *sym, MISTRING &mistr) |
| bool | GetKeywordDesc (const char *keyword, MISTRING &desc) |
| int | GetKeywordDoc (const char *keyword, DOCCODES &codes) |
| const char *const * | GetKeywordList () |
| bool | GetOperatorDesc (const char *op, MISTRING &desc) |
| int | GetOperatorDoc (const char *op, DOCCODES &codes) |
| const char *const * | GetOperatorList () |
| XMLNODE * | GetSMLDOCS (bool bInBackground=false) |
| void | InstallGadgetItems (SML::CONTEXT *context) |
| RVCSYSLIBEXPORT void | PrintfSubMISTRING (MISTRING &output, int numargs, SML::ARG *args, UINT8 *type) |
| RVCSYSLIBEXPORT int | SameObject (SML::SYMBOL *, SML::SYMBOL *) |
| int | SearchDocs (CONTEXT *context, const MISTRING &SearchStr, DOCCODES &doc, MISTATUSCONTEXT &StatusContext) |
| ERRVALUE | UpdateDocs (const FILEPATH &docspath, SML::CONTEXT *context) |
Class to store incoding information when running a script directly from the toolbar.
Built-in functions get passed an array of these as their second parameter.
This is also what our stack is made up of.
| typedef int(* SML::FUNCINSTALLER)(CONTEXT *) |
| typedef enum ::SMLFUNCSIG SML::FUNCSIG |
| typedef PTRINT SML::MACHINEINST |
| typedef enum ::SMLSTYPE SML::STYPE |
| enum SML::CONTEXTTYPE |
| enum SML::USAGE |
| void SML::BackgroundReadSMLDOCS | ( | ) |
| RVCSYSLIBEXPORT void SML::CLASSReadOnly | ( | CONTEXT * | , | |
| CLASSMEMBER * | , | |||
| void * | , | |||
| ARG * | ||||
| ) |
! This function is meant to be used as the WriteFunc of an SML::CLASSMEMBER if you don't want anything to write to it.
This is only necessary for STYPE_Class members where the readfunc is returning a pointer. For example: If class FRED had a read-only member "name", to prevent
fred.name = "george"
you only have to set the member's WriteFunc to NULL. But if fred also has a readonly member EyeColor, to prevent
fred.EyeColor.Name = "red"
Setting the WriteFunc to NULL isn't enough. The above only reads EyeColor and leaves a pointer to it on the stack. The write in this case is on a class COLOR. But if you set EyeColor's WriteFunc to SML::CLASSReadOnly, the SML parser will prevent the above assignment.
| void SML::CLASSReadPassThrough | ( | CONTEXT * | , | |
| CLASSMEMBER * | , | |||
| void * | vdata, | |||
| ARG * | ret | |||
| ) |
Function to use as SML::CLASSMEMBER.ReadFunc to simply return pointer to class/struct itself.
This allows a portion or member of a class/struct to be accessed as a member while still retaining the pointer to the class/struct itself.
| RVCSYSLIBEXPORT void SML::CLASSReadSimple | ( | CONTEXT * | , | |
| CLASSMEMBER * | , | |||
| void * | , | |||
| ARG * | ||||
| ) |
! This function is meant to be used as the ReadFunc of an SML::CLASSMEMBER.
It assumes the following based on the member's type:
STYPE_Num: The subtype is one of the SML::CLASSMEMBER::TYPE enums for a numeric data type. The "offset" the offsetof() the member. STYPE_String: If the "smlflags" is set, then the "subtype" is assumed to be one of the integer SML::CLASSMEMBER::TYPEs and the member at "offset" is an integer of the specified type. The flags array is scanned for a flag of the current value and if found, the name of the flag is returned to the SML script as a string. If the member's value is not found in the smlflags array, then the script is given the string "".
If the "smlflags" is not set, then subtype must be either SML::CLASSMEMBER::TYPE_Unicode, SML::CLASSMEMBER::TYPE_String SML::CLASSMEMBER::TYPE_MISTRING. For TYPE_String and TYPE_Unicode, if the "size" member is set, it is assumed that the string is defined inline in the structure as an arry of that many BYTES (just sizeof()) If the size is not set, then it is assumed that the offset points to a (char*) or (MIUNICODE*). Note that SML::CLASSWriteSimple() will free the pointer before and assign a new copy of the string being written. The "size" member is ignored for TYPE_MISTRING
STYPE_Enum: Behaves like STYPE_String with the smlflags field filled in, but instead of getting the list of possible values from the smlflags member, it uses "ResourceName" member to look up a list of possible values.
STYPE_Class Returns a copy to the class data. SML must know how to free the class.
STYPE_ClassRef Returns a reference to the actual class data (not a copy) If "subtype" is 0, then "offset" is assumed to be an offset to a POINTER to the thing in question. If "subtype" is non-zero, then offset is assumed to be an offset to a structure within the structure. | RVCSYSLIBEXPORT void SML::CLASSReadULONGFlag | ( | CONTEXT * | , | |
| CLASSMEMBER * | , | |||
| void * | , | |||
| ARG * | ||||
| ) |
! This function is meant to be used as the ReadFunc of an SML::CLASSMEMBER.
which must be a UINT32 at the "offset" specified in the SML::CLASSMEMBER. This is used when a ULONG has multiple bit-field flags ORd together and you want the SML Class to appear to have boolean members for each flag. The SML::CLASSMEMBER's "subtype" wil be AND'd with the UINT32 for the member, and will return 1 (true) or 0 (false). To reverse the symantics, set the SML::CLASSMEMBER's size to 1.
This function is NOT compatible with C++ enums because you can't depend on them being the same as a UINT32
| RVCSYSLIBEXPORT void SML::CLASSWriteSimple | ( | CONTEXT * | , | |
| CLASSMEMBER * | , | |||
| void * | , | |||
| ARG * | ||||
| ) |
! This function is meant to be used as the WriteFunc of an SML::CLASSMEMBER.
Uses the same assumptions as SML::CLASSReadSimple(), with the following exceptions:
STYPE_Class. If subtype is non-zero, the offset is assumed to point to a structure within a structure. In this case, the assignment will be done by memcpy(). To know how much to memcpy, there are two options. 1. you can set the "size" for the member to the sizeof(). 2. If the member is of another class defined within SML (ie, the "ClassName" is set), it will use that class's size If the subtype is 0, the offset is an offset to a POINTER which will simply be assigned to whatever pointer it's given.
| void SML::CLASSWriteTableNum | ( | CONTEXT * | context, | |
| CLASSMEMBER * | member, | |||
| void * | vdata, | |||
| ARG * | arg | |||
| ) |
Function to use as WriteFunc of SML::CLASSMEMBER to update an INT16 table number field from an SML DBTABLEINFO class (represented by SML::FIELDDATA structure).
The SML::CLASSMEMBER definition have the following settings:
| RVCSYSLIBEXPORT void SML::CLASSWriteULONGFlag | ( | CONTEXT * | , | |
| CLASSMEMBER * | , | |||
| void * | , | |||
| ARG * | ||||
| ) |
! This function is meant to be used as the WriteFunc of an SML::CLASSMEMBER.
It's just like SML::CLASSReadULONGFlag() but it writes.
| RVCSYSLIBEXPORT int SML::CreateContextFromDBHandle | ( | RVC::DATABASEHANDLE * | dbhandle, | |
| SML::CONTEXT *& | context, | |||
| UINT32 | flags | |||
| ) |
| dbhandle | Handle of open database | |
| context | (SML::CONTEXT*) returned | |
| flags | XXX Document flags |
| int SML::FUNCSIG_GetNumParms | ( | SMLFUNCSIG | sig | ) | [inline] |
Inline function to determine the # of parameters an SMLFUNCSIG represents.
| SMLFUNCSIG SML::FUNCSIG_GetParmType | ( | SMLFUNCSIG | sig, | |
| int | n | |||
| ) | [inline] |
Inline function to determine the parameter type a SMLFUNCSIG represents.
| n | Parameter number (starting at 0) |
| SMLFUNCSIG SML::FUNCSIG_GetRetType | ( | SMLFUNCSIG | sig | ) | [inline] |
Inline function to determine the return type a SMLFUNCSIG represents.
Get the description for a class.
This function is not a method of SML::CONTEXT because it's not in rvcsys.dll
| context | Context to work from | |
| mistr | String to fill in with description |
| int SML::GetClassDoc | ( | CONTEXT * | context, | |
| const CLASS * | Class, | |||
| DOCCODES & | codes, | |||
| bool | bInsert = false, |
|||
| USAGE | usage = USAGE_Undefined | |||
| ) |
Retrieve the documentation for an SML class.
By passing a class derived from SML::DOCCODES, you can generate documentation in plaintext, ANSI, or HTML
This function is not a method of SML::CONTEXT because it's not in rvcsys.dll
| context | Context to work from | |
| Class | Function to document | |
| usage | Usage of the current context (to determine class availability) |
| int SML::GetExampleDoc | ( | XMLNODE * | node, | |
| DOCCODES & | codes | |||
| ) |
Get the documentation for a given SML keyword.
| int SML::GetExampleDoc | ( | const MISTRING & | name, | |
| DOCCODES & | codes | |||
| ) |
Get the documentation for a given SML keyword.
| bool SML::GetFuncDesc | ( | CONTEXT * | context, | |
| const FUNC * | smlfunc, | |||
| MISTRING & | mistr | |||
| ) |
Get the description for a function.
This function is not a method of SML::CONTEXT because it's not in rvcsys.dll
| context | Context to work from | |
| smlfunc | Function to document | |
| mistr | String to fill in with description |
| int SML::GetFuncDoc | ( | CONTEXT * | context, | |
| USAGE | Usage, | |||
| const SYMBOL * | sym, | |||
| DOCCODES & | codes, | |||
| bool | bShortForm = false | |||
| ) |
Retrieve the documentation for an SML function.
By passing a class derived from SML::DOCCODES, you can generate documentation in plaintext, ANSI, or HTML
This function is not a method of SML::CONTEXT because it's not in rvcsys.dll
| context | Context to work from | |
| sym | Function to document | |
| bShortForm | Omit example if true |
| int SML::GetFuncExample | ( | CONTEXT * | context, | |
| const SYMBOL * | sym, | |||
| MISTRING & | mistr | |||
| ) |
Get the example code for a function.
This function is not a method of SML::CONTEXT because it's not in rvcsys.dll
| context | Context to work from | |
| sym | Function to document | |
| mistr | String to fill in with example |
| bool SML::GetKeywordDesc | ( | const char * | keyword, | |
| MISTRING & | desc | |||
| ) |
Get the documentation for a given SML keyword.
| int SML::GetKeywordDoc | ( | const char * | keyword, | |
| DOCCODES & | codes | |||
| ) |
Get the documentation for a given SML keyword.
| const char* const* SML::GetKeywordList | ( | ) |
Returns an array of keywords for which we have documentation.
The array is terminated by a NULL pointer
| bool SML::GetOperatorDesc | ( | const char * | op, | |
| MISTRING & | desc | |||
| ) |
Get the documentation for a given SML operator.
| int SML::GetOperatorDoc | ( | const char * | op, | |
| DOCCODES & | codes | |||
| ) |
Get the documentation for a given SML keyword.
| const char* const* SML::GetOperatorList | ( | ) |
Returns an array of operators for which we have documentation.
The array is terminated by a NULL pointer
| XMLNODE* SML::GetSMLDOCS | ( | bool | bInBackground = false |
) |
| void SML::InstallGadgetItems | ( | SML::CONTEXT * | context | ) |
| RVCSYSLIBEXPORT void SML::PrintfSubMISTRING | ( | MISTRING & | output, | |
| int | numargs, | |||
| SML::ARG * | args, | |||
| UINT8 * | type | |||
| ) |
Internal function for implementing SML's printf()-like functions.
| output | String to print into | |
| numargs | number of arguments | |
| args | The printf arguments (numargs of them) | |
| type | the SML::STYPEs of the args |
| RVCSYSLIBEXPORT int SML::SameObject | ( | SML::SYMBOL * | , | |
| SML::SYMBOL * | ||||
| ) |
Returns true if two symbols refer to the same RVC object.
| int SML::SearchDocs | ( | CONTEXT * | context, | |
| const MISTRING & | SearchStr, | |||
| DOCCODES & | doc, | |||
| MISTATUSCONTEXT & | StatusContext | |||
| ) |
| ERRVALUE SML::UpdateDocs | ( | const FILEPATH & | docspath, | |
| SML::CONTEXT * | context | |||
| ) |
1.6.1