mi32/sml.h File Reference

#include <mi32/rvcrgn.h>
#include <mi32/vecfuncs.h>
#include <mi32/tinfuncs.h>
#include <mi32/matrix.h>
#include <mi32/mlist.h>
#include <mi32/smlfuncs.h>
#include <mi32/rvccad.h>
#include <mi32/rvcrast.h>
#include <mi32/rvctext.h>
#include <mi32/rvctin.h>
#include <mi32/rvcvect.h>
#include <mi32/mgui.h>
#include <mi32/mgd.h>

Include dependency graph for sml.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Namespaces

namespace  RVC

Classes

union  SMLARG
 Built-in functions get passed an array of these as their second parameter. More...

class  SMLAUTOCLASS
 A helper class to simplify installing real C++ classes into SML. More...

class  SMLAUTOCLASS_DELETABLE_NOCOPY_T
 A Template class of SMLAUTOCLASS. More...

class  SMLAUTOCLASS_NEW_NOCOPY_T
 A Template class of SMLAUTOCLASS. More...

class  SMLAUTOCLASS_NEW_T
 A Template class of SMLAUTOCLASS. More...

class  SMLAUTOCLASS_NOALLOC_T
 A Template class of SMLAUTOCLASS. More...

class  SMLAUTOCLASS_SMLHEAP_T
 A Template class of SMLAUTOCLASS. More...

struct  SMLCADOBJECT
struct  SMLCALLBACKSTRUCT
 Structure passed to an SML callback. More...

struct  SMLCLASS
 Structure for defining a class in SML. More...

struct  SMLCLASSARRAY
 Functions of type STYPE_ClassArrayFunc should return a pointer to one of these. More...

struct  SMLCLASSCALLBACKLIST
struct  SMLCLASSMEMBER
struct  SMLCLASSSTACK
 This class is used internally by SML to keep track of things like. More...

struct  SMLCONTEXT
 The main class used by SML and DBQuery functions. More...

class  SMLDEVPRIVATE
 This class provides a way to attach private data to an SMLCONTEXT on a per-context basis. More...

class  SMLDOCCODES
 class SMLDOCCODES More...

class  SMLDOCCODES_ANSI
 Pass to SML_GetFuncDoc() to get plain text with ANSI codes for bold, color, etc. More...

class  SMLDOCCODES_HTML
 Pass to SML_GetFuncDoc() to get HTML text. More...

class  SMLDOCCODES_MISTRING
 An intermediate class that SMLDOCCODES_ANSI and SMLDOCCODES_HTML are based on. More...

struct  SMLELEMDATA
 Structure to keep track of database information for a given element type. More...

struct  SMLFILEINFO
struct  SMLFLAG
 Parameter flag value definition. More...

struct  SMLFUNC
 Structure for defining an SML function. More...

struct  SMLFUNCDEF
 Structure for defining SML functions. More...

struct  SMLOBJECT
struct  SMLPARM
struct  SMLRASTEROBJECT
struct  SMLREGIONOBJECT
class  SMLSTRING
 SML string constant representation. More...

class  SMLSYMBOL
 Class for representing variables and functions in SML. More...

struct  SMLTABLEDATA
struct  SMLTEMPMEMHANDLE
 Memory structure used to keep track of pointers on the stack. More...

struct  SMLTINOBJECT
class  SMLTMPSTR
 SMLTMPSTR class simplifies access to the string values in an SMLSTR. More...

class  SMLUSERDATA
 A class which can be used to hang USERDATA off an SMLSTRING or SMLSYMBOL. More...

struct  SMLVECTOROBJECT

Defines

#define SML_API_CONFORMANCE   0
#define SML_RETIRE_IN_68   "RetireIn6.8"
#define SML_RETIRE_IN_69   "RetireIn6.9"
#define SMLMIE_IMPORTRASTER   1
#define SMLMIE_IMPORTVECTOR   2
#define SMLMIE_IMPORTCAD   3
#define SMLMIE_IMPORTTIN   4
#define SMLMIE_IMPORTDBASE   5
#define SMLMIE_EXPORTRASTER   6
#define SMLMIE_EXPORTVECTOR   7
#define SMLMIE_EXPORTCAD   8
#define SMLMIE_EXPORTTIN   9
#define SMLMIE_EXPORTDBASE   10
#define SMLCLASSNAME_ALLOCATION   "ALLOCATION"
#define SMLCLASSNAME_BITMAPPATTERN   "BITMAPPATTERN"
#define SMLCLASSNAME_BUTTONITEM   "BUTTONITEM"
#define SMLCLASSNAME_CALLBACKLIST   "CALLBACKLIST"
#define SMLCLASSNAME_CENTER   "CENTER"
#define SMLCLASSNAME_COLOR   "COLOR"
#define SMLCLASSNAME_COLORMAP   "COLORMAP"
#define SMLCLASSNAME_COMPOSITEWIDGET   "COMPOSITEWIDGET"
#define SMLCLASSNAME_CONTEXT   "CONTEXT"
#define SMLCLASSNAME_DATABASE   "DATABASE"
#define SMLCLASSNAME_DATATIP   "DATATIP"
#define SMLCLASSNAME_DBEDITOR   "DBEDITOR"
#define SMLCLASSNAME_DBEDITOR_SINGLERECORDVIEW   "DBEDITOR_SINGLERECORDVIEW"
#define SMLCLASSNAME_DBEDITOR_SINGLERECORDWIDGET   "DBEDITOR_SINGLERECORDWIDGET"
#define SMLCLASSNAME_DBEDITOR_TABULARVIEW   "DBEDITOR_TABULARVIEW"
#define SMLCLASSNAME_DBEDITORTABLE   "DBEDITORTABLE"
#define SMLCLASSNAME_DBFIELDINFO   "DBFIELDINFO"
#define SMLCLASSNAME_DBTABLEINFO   "DBTABLEINFO"
#define SMLCLASSNAME_DBTABLEVAR   "DBTABLEVAR"
#define SMLCLASSNAME_DIALOGSHELL   "DIALOGSHELL"
#define SMLCLASSNAME_DISP   "DISP"
#define SMLCLASSNAME_DISPCALLBACKLIST   "DISPCALLBACKLIST"
#define SMLCLASSNAME_DISPLAYINFO   "DISPLAYINFO"
#define SMLCLASSNAME_ELEMSELECTPARMS   "ELEMSELECTPARMS"
#define SMLCLASSNAME_FILE   "FILE"
#define SMLCLASSNAME_GEOREF   "GEOREF"
#define SMLCLASSNAME_GPSCALLBACKLIST   "GPSCALLBACKLIST"
#define SMLCLASSNAME_GPSDATA   "GPSDATA"
#define SMLCLASSNAME_GPSPORT   "GPSPORT"
#define SMLCLASSNAME_GPSSYMBOL   "GPSSYMBOL"
#define SMLCLASSNAME_GRAPHICSCONTEXT   "GRAPHICSCONTEXT"
#define SMLCLASSNAME_GRE_GROUP   "GRE_GROUP"
#define SMLCLASSNAME_GRE_LAYER   "GRE_LAYER"
#define SMLCLASSNAME_GRE_LAYER_CAD   "GRE_LAYER_CAD"
#define SMLCLASSNAME_GRE_LAYER_GEOFORMULA   "GRE_LAYER_GEOFORMULA"
#define SMLCLASSNAME_GRE_LAYER_MAPGRID   "GRE_LAYER_MAPGRID"
#define SMLCLASSNAME_GRE_LAYER_PINMAP   "GRE_LAYER_PINMAP"
#define SMLCLASSNAME_GRE_LAYER_RASTER   "GRE_LAYER_RASTER"
#define SMLCLASSNAME_GRE_LAYER_REGION   "GRE_LAYER_REGION"
#define SMLCLASSNAME_GRE_LAYER_SCALEBAR   "GRE_LAYER_SCALEBAR"
#define SMLCLASSNAME_GRE_LAYER_SCRIPT   "GRE_LAYER_SCRIPT"
#define SMLCLASSNAME_GRE_LAYER_SHAPE   "GRE_LAYER_SHAPE"
#define SMLCLASSNAME_GRE_LAYER_TEXT   "GRE_LAYER_TEXT"
#define SMLCLASSNAME_GRE_LAYER_TIN   "GRE_LAYER_TIN"
#define SMLCLASSNAME_GRE_LAYER_VECTOR   "GRE_LAYER_VECTOR"
#define SMLCLASSNAME_GRE_LAYERMANAGER   "GRE_LAYERMANAGER"
#define SMLCLASSNAME_GRE_LAYOUT   "GRE_LAYOUT"
#define SMLCLASSNAME_GRE_VECTOR_LABELS   "GRE_VECTOR_LABELS"
#define SMLCLASSNAME_GRE_VECTOR_LINES   "GRE_VECTOR_LINES"
#define SMLCLASSNAME_GRE_VECTOR_NODES   "GRE_VECTOR_NODES"
#define SMLCLASSNAME_GRE_VECTOR_POINTS   "GRE_VECTOR_POINTS"
#define SMLCLASSNAME_GRE_VECTOR_POLYS   "GRE_VECTOR_POLYS"
#define SMLCLASSNAME_GRE_VIEW   "GRE_VIEW"
#define SMLCLASSNAME_GRE_VIEWABLE   "GRE_VIEWABLE"
#define SMLCLASSNAME_GRE_VIEW3D   "GRE_VIEW3D"
#define SMLCLASSNAME_GROUPXPOSN   "GROUPXPOSN"
#define SMLCLASSNAME_GROUPYPOSN   "GROUPYPOSN"
#define SMLCLASSNAME_HISTOGRAM   "HISTOGRAM"
#define SMLCLASSNAME_INIHANDLE   "INIHANDLE"
#define SMLCLASSNAME_LEGENDVIEW   "LEGENDVIEW"
#define SMLCLASSNAME_LINEPATTERN   "LINEPATTERN"
#define SMLCLASSNAME_LINESTYLE   "LINESTYLE"
#define SMLCLASSNAME_LMCOMPONANT   "LMCOMPONANT"
#define SMLCLASSNAME_LMCOMPONENT   SMLCLASSNAME_LMCOMPONANT
#define SMLCLASSNAME_MAPPROJ   "MAPPROJ"
#define SMLCLASSNAME_MAT3X3   "MAT3X3"
#define SMLCLASSNAME_MATRIX   "MATRIX"
#define SMLCLASSNAME_MDISPREGIONTOOL   "MDISPREGIONTOOL"
#define SMLCLASSNAME_MDISPTOOL   "MDISPTOOL"
#define SMLCLASSNAME_MENUITEM   "MENUITEM"
#define SMLCLASSNAME_NETWORK   "NETWORK"
#define SMLCLASSNAME_OBJECT   "OBJECT"
#define SMLCLASSNAME_POINT2D   "POINT2D"
#define SMLCLASSNAME_POINT3D   "POINT3D"
#define SMLCLASSNAME_POINTSTYLE   "POINTSTYLE"
#define SMLCLASSNAME_POINTSYMBOL   "POINTSYMBOL"
#define SMLCLASSNAME_POINTTOOL   "POINTTOOL"
#define SMLCLASSNAME_POLYSTYLE   "POLYSTYLE"
#define SMLCLASSNAME_PORT   "PORT"
#define SMLCLASSNAME_PORTCALLBACKLIST   "PORTCALLBACKLIST"
#define SMLCLASSNAME_PRINTPARMS   "PRINTPARMS"
#define SMLCLASSNAME_PROMPT   "PROMPT"
#define SMLCLASSNAME_PROMPTNUM   "PROMPTNUM"
#define SMLCLASSNAME_PROMPTSTR   "PROMPTSTR"
#define SMLCLASSNAME_PUSHBUTTONITEM   "PUSHBUTTONITEM"
#define SMLCLASSNAME_RASTER   "RASTER"
#define SMLCLASSNAME_RASTERINFO   "RASTERINFO"
#define SMLCLASSNAME_RECT   "RECT"
#define SMLCLASSNAME_REGION   "REGION"
#define SMLCLASSNAME_REGIONDATA   "REGIONDATA"
#define SMLCLASSNAME_REGIONTOOL   "REGIONTOOL"
#define SMLCLASSNAME_ROUTE   "ROUTE"
#define SMLCLASSNAME_STATUSCONTEXT   "STATUSCONTEXT"
#define SMLCLASSNAME_STATUSHANDLE   "STATUSHANDLE"
#define SMLCLASSNAME_STOP   "STOP"
#define SMLCLASSNAME_STYLEOBJECT   "STYLEOBJECT"
#define SMLCLASSNAME_TEXTSTYLE   "TEXTSTYLE"
#define SMLCLASSNAME_TIMER   "TIMER"
#define SMLCLASSNAME_TOGGLEBUTTONITEM   "TOGGLEBUTTONITEM"
#define SMLCLASSNAME_TOOL   "TOOL"
#define SMLCLASSNAME_TOOLCALLBACKLIST   "TOOLCALLBACKLIST"
#define SMLCLASSNAME_TOOLTIP   "TOOLTIP"
#define SMLCLASSNAME_TRANSPARM   "TRANSPARM"
#define SMLCLASSNAME_VECTOR   "VECTOR"
#define SMLCLASSNAME_VECTORINFO   "VECTORINFO"
#define SMLCLASSNAME_VIEWPOINT3D   "VIEWPOINT3D"
#define SMLCLASSNAME_Widget   "Widget"
#define SMLCLASSNAME_XmBulletinBoard   "XmBulletinBoard"
#define SMLCLASSNAME_XmCallbackList   "XmCallbackList"
#define SMLCLASSNAME_XmDrawingArea   "XmDrawingArea"
#define SMLCLASSNAME_XmForm   "XmForm"
#define SMLCLASSNAME_XmFrame   "XmFrame"
#define SMLCLASSNAME_XmHTML   "XmHTML"
#define SMLCLASSNAME_XmLabel   "XmLabel"
#define SMLCLASSNAME_XmManager   "XmManager"
#define SMLCLASSNAME_XmOptionMenu   "XmOptionMenu"
#define SMLCLASSNAME_XmPrimitive   "XmPrimitive"
#define SMLCLASSNAME_XmPushButton   "XmPushButton"
#define SMLCLASSNAME_XmRowColumn   "XmRowColumn"
#define SMLCLASSNAME_XmScale   "XmScale"
#define SMLCLASSNAME_XmScrollBar   "XmScrollBar"
#define SMLCLASSNAME_XmScrolledWindow   "XmScrolledWindow"
#define SMLCLASSNAME_XmSeparator   "XmSeparator"
#define SMLCLASSNAME_XmToggleButton   "XmToggleButton"
#define STYPE_StrVar   STYPE_StringVar
#define STYPE_Num   STYPE_Constant
#define SMLFLAG_FreeName   0x0001
#define SMLFLAG_FreeDesc   0x0002
#define SMLFLAG_FreeFlagArray   0x0004
#define QQCurRastSymLin(sym)   ((sym)->u.obj->GetCurElemNum((ELEMTYPE)0))
#define QQCurRastSymCol(sym)   ((sym)->u.obj->GetCurElemNum((ELEMTYPE)1))
#define MIEFORMATSMLCLASSARRAYSIZE   4
#define SMLCLASSMEMBER_NUM_RO(smlname, Class, membername, subtype, desc)   { smlname, STYPE_Num, SMLCLASSReadSimple, NULL, NULL, NULL, offsetof(Class, membername), subtype, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_NUM_RW(smlname, Class, membername, subtype, desc)   { smlname, STYPE_Num, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, NULL, offsetof(Class, membername), subtype, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STR_PTR_RO(smlname, Class, membername, subtype, desc)   { smlname, STYPE_String, SMLCLASSReadSimple, NULL, NULL, NULL, offsetof(Class, membername), subtype, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STR_PTR_RW(smlname, Class, membername, subtype, desc)   { smlname, STYPE_String, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, NULL, offsetof(Class, membername), subtype, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STR_FIXEDSIZE_RO(smlname, Class, membername, subtype, sizeOf, desc)   { smlname, STYPE_String, SMLCLASSReadSimple, NULL, NULL, NULL, offsetof(Class, membername), subtype, sizeOf, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STR_FIXEDSIZE_RW(smlname, Class, membername, subtype, sizeOf, desc)   { smlname, STYPE_String, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, NULL, offsetof(Class, membername), subtype, sizeOf, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STRUCT_PTR_RO(smlname, Class, membername, classname, desc)   { smlname, STYPE_Class, SMLCLASSReadSimple, NULL, NULL, classname, offsetof(Class::membername), 0, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STRUCT_PTR_RW(smlname, Class, membername, classname, desc)   { smlname, STYPE_Class, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, classname, offsetof(Class::membername), 0, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STRUCT_INLINE_RO(smlname, Class, membername, classname, desc)   { smlname, STYPE_Class, SMLCLASSReadSimple, SMLCLASSReadOnly, NULL, classname, offsetof(Class, membername), 1, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STRUCT_INLINE_RW(smlname, Class, membername, classname, desc)   { smlname, STYPE_Class, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, classname, offsetof(Class, membername), 1, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_UINT32FLAG_RO(smlname, Class, membername, flagval, invert, desc)   { smlname, STYPE_Class, SMLCLASSReadULONGFlag, NULL, NULL, classname, offsetof(Class, membername), flagval, invert, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_UINT32FLAG_RW(smlname, Class, membername, flagval, invert, desc)   { smlname, STYPE_Class, SMLCLASSReadULONGFlag, SMLCLASSWriteULONGFlag, NULL, classname, offsetof(Class, membername), flagval, invert, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_SMLFLAG_RO(smlname, Class, membername, subtype, smlflags, mask, desc)   { smlname, STYPE_String, SMLCLASSReadSimple, NULL, NULL, NULL, offsetof(Class, membername), subtype, size, NULL, NULL, smlflags, desc}
#define SMLCLASSMEMBER_SMLFLAG_RW(smlname, Class, membername, subtype, smlflags, mask, desc)   { smlname, STYPE_String, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, NULL, offsetof(Class, membername), subtype, mask, NULL, NULL, smlflags, desc}
#define SMLCLASSMEMBER_ENUM_RO(smlname, Class, membername, subtype, enumname, mask, desc)   { smlname, STYPE_Enum, SMLCLASSReadSimple, NULL, NULL, NULL, offsetof(Class, membername), subtype, size, NULL, enumname, NULL, desc}
#define SMLCLASSMEMBER_ENUM_RW(smlname, Class, membername, subtype, enumname, mask, desc)   { smlname, STYPE_Enum, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, NULL, offsetof(Class, membername), subtype, mask, NULL, enumname, NULL, desc}
#define SMLCLASSMETHOD(func)   { #func, STYPE_Constant, NULL, NULL, &FUNC_##func }
#define DEFINE_SMLCLASS_SIMPLE(classname, basename, members, createdate, moddate, desc)
#define DEFINE_SMLCLASS_AUTO(classname, basename, size, members, createdate, moddate, desc)
#define SMLCLASS_NOWIN32_NATIVE(name, base)
#define SMLCLASSBEGIN2(name, base, size, constructor, destructor, copyconst , createdate, moddate, desc)
#define SMLCLASSBEGIN(name, base, size, constructor, destructor, copyconst )
#define SMLCLASSEND   {NULL, STYPE_Num, 0,0,0,0,0,0,0,0,0,0,0,0,0} };
#define SMLCLASSINSTALL(c, name)   c->InstallClass(&_SMLCLASS_##name)
#define SMLCLASSINSTALL_NOWIN32NATIVE(c, name)
#define PARM_Optional   0x0001
#define PARM_ByRef   0x0002
#define PARM_UndefOK   0x0004
#define PARM_TypeConfirmed   0x0008
#define PARM_NeedNextParm   0x0010
#define PARM_Optional2   (PARM_Optional|PARM_NeedNextParm)
#define SYMBOL_DontFree   0x0100
#define SYMBOL_Permanent   0x0200
#define ARGT_v   0
#define ARGT_b   1
#define ARGT_d   2
#define ARGT_i   3
#define ARGT_u   4
#define ARGT_pv   5
#define ARGT_U   6
#define ARGT_cU   7
#define ARGT_c   8
#define ARGT_cc   9
#define DEFSIG0(ret)   (ret)
#define DEFSIG1(ret, a)   (a << 4) | ret
#define DEFSIG2(ret, a, b)   (b << 8) | (a << 4) | ret
#define DEFSIG3(ret, a, b, c)   (c << 12) | (b << 8) | (a << 4) | ret
#define DEFSIG4(ret, a, b, c, d)   (d << 16) | (c << 12) | (b << 8) | (a << 4) | ret
#define DEFSIG5(ret, a, b, c, d, e)   (d <<20) | (d << 16) | (c << 12) | (b << 8) | (a << 4) | ret
#define DEFSIG_0(LHS, TYPE, RHS, N)   LHS##TYPE = (RHS | (ARGT_##TYPE << ((N)*4))),
#define DEFSIG_1(LHS, TYPE, RHS, N)
#define DEFSIG_2(LHS, TYPE, RHS, N)
#define DEFSIG
#define SMLFUNC_NotInWin32   0x00000001
#define SMLFUNC_NotInX   0x00000002
#define SMLFUNC_IsMemberFunc   0x00000004
#define SMLFUNC_UseSignature   0x00000008
#define SMLFUNC_HasProtoParms   0x00000010
#define DEFINE_SMLVOIDFUNC_NOWIN32(smlname, func, parms, createdate, modifydate, desc)   { smlname, STYPE_BProcedure, NULL, parms, 0, createdate, modifydate, 0, 0, desc, sizeof(SMLFUNC), sizeof(SMLPARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0 }
#define DEFINE_SMLDOUBLEFUNC_NOWIN32(smlname, func, parms, createdate, modifydate, desc)   { smlname, STYPE_BFunction, NULL, parms, 0, createdate, modifydate, 0, 0, desc, sizeof(SMLFUNC), sizeof(SMLPARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0 }
#define DEFINE_SMLSTRINGFUNC_NOWIN32(smlname, func, parms, createdate, modifydate, desc)   { smlname, STYPE_BSFunction, NULL, parms, 0, createdate, modifydate, 0, 0, desc, sizeof(SMLFUNC), sizeof(SMLPARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0 }
#define DEFINE_SMLCLASSFUNC_NOWIN32(smlname, func, parms, classname, createdate, modifydate, desc)   { smlname, STYPE_ClassFunc, NULL, parms, classname, createdate, modifydate, 0, 0, desc, sizeof(SMLFUNC), sizeof(SMLPARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0 }
#define DEFINE_SMLFUNC_NOWIN32(smlname, func, signature, parms, createdate, modifydate, classname)   DEFINE_SMLFUNC(name, func, signature, parms, createdate, modifydate, classname, false)
#define SMLCLASSFUNCDEF2(func)   { #func, STYPE_ClassFunc, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), 0, SIG_OldStyle, 0, 0 }
#define SMLFUNCDEF2(func)   { #func, func##_FuncType, (VOIDFUNC)func, func##_Parms, NULL, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), 0, SIG_OldStyle, 0, 0 }
#define SMLCLASSFUNCDEF_NOWIN32_NATIVE(func)   {#func, STYPE_ClassFunc, NULL, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0}
#define SMLFUNCDEF_NOWIN32_NATIVE(func)   {#func, func##_FuncType, NULL, func##_Parms, NULL, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0}
#define SMLFUNCDEF(func, type, parms)   {#func, type, (VOIDFUNC)func, parms,NULL,0,0,0,0,NULL, sizeof(SMLFUNC), sizeof(SMLPARM)}
#define SMLFUNCDEFP(func, type)   {#func, type, (VOIDFUNC)func, func##Parms,NULL,0,0,0,0,NULL, sizeof(SMLFUNC), sizeof(SMLPARM)}
#define SMLFUNCDEFC(func, objclass)   {#func, STYPE_ClassFunc, (VOIDFUNC)func, func##Parms, objclass,0,0,0,0,NULL, sizeof(SMLFUNC), sizeof(SMLPARM)}
#define SMLCLASSFUNCDEF(func)   {#func, STYPE_ClassFunc, (VOIDFUNC)func, func##Parms, func##RetVal,0,0,0,0,NULL, sizeof(SMLFUNC), sizeof(SMLPARM)}
#define SMLFUNCDEF3(func)   {func##_RealName, func##_FuncType, (VOIDFUNC)func, func##_Parms, NULL, func##_CreateDate, func##_ModDate,0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), 0, SIG_OldStyle, 0, 0}
#define SMLCLASSFUNCDEF3(func)   { func##_RealName, STYPE_ClassFunc, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), 0, SIG_OldStyle, 0, 0 }
#define QFLAG_SML   0x0001
#define QFLAG_NoShell   0x0002
#define QFLAG_AutoRun   0x0004
#define QFLAG_NoWait   0x0008
#define QFLAG_SingleTable   0x0010
#define QFLAG_PinMap   0x0020
#define QFLAG_DispLayer   0x0040
#define QFLAG_Formula   0x0080
#define QFLAG_NonModal   0x0100
#define QFLAG_ComputedField   0x0200
#define QFLAG_NoEdit   0x0400
#define QFLAG_NoConsole   0x0800
#define QFLAG_SetExitOnQuit   0x1000
#define QFLAG_NoViewIcon   0x2000
#define QFLAG_ScriptNoFile   0x4000
#define QFLAG_FileExtnSML   0x8000
#define QFLAG_AllFuncs   -1000
#define QTYPE_ELEMTYPE_MASK   0x00FF
#define QTYPE_Plain   0x0000
#define QTYPE_Select   0x0100
#define QTYPE_Style   0x0200
#define QTYPE_Double   0x0300
#define QTYPE_String   0x0400
#define QTYPE_SML   0x0500
#define QTYPE_UCString   0x0600
#define QTYPE_GeoFormula   0x0700
#define QTYPE_USAGE_MASK   0x0F00
#define QTYPE_DBRoot   0x1000
#define QTYPE_Win32Native   0x2000
#define STYPEFLAG_Val   0x0001
#define STYPEFLAG_Sym   0x0002
#define STYPEFLAG_Str   0x0004
#define STYPEFLAG_List   0x0008
#define STYPEFLAG_ValSym   0x0010
#define STYPEFLAG_StrSym   0x0020
#define STYPEFLAG_ObjSym   0x0040
#define STYPEFLAG_ListSym   0x0080
#define STYPEFLAG_FuncSym   0x0100
#define STYPEFLAG_ArraySym   0x0200
#define STYPEFLAG_ClassSym   0x0400
#define SML_ENotEnoughArgs   ESML_NotEnoughArgs
#define SML_ETooManyArgs   ESML_TooManyArgs
#define SML_EBadNumOfArgs   ESML_BadNumOfArgs
#define SML_EArgNotRaster   ESML_ArgNotRaster
#define SML_EArgNotArray   ESML_ArgNotArray
#define SML_EMatNotSquare   ESML_MatNotSquare
#define SML_EMatWrongSize   ESML_MatWrongSize
#define SML_EArgNotString   ESML_ArgNotString
#define SML_EArgNotVar   ESML_ArgNotVar
#define SML_EArgNotNumber   ESML_ArgNotNumber
#define SML_EBadParmAssign   ESML_BadParmAssign
#define SML_EBadGeoref   ESML_BadGeoref
#define SML_EArgClassMismatch   ESML_ArgClassMismatch
#define SML_EArgNotObject   ESML_ArgNotObject
#define SML_EElementTypeMismatch   ESML_ElementTypeMismatch
#define SML_EUndefVector   ESML_UndefObject
#define SML_EArgNotVector   ESML_ArgNotVector
#define SML_EArgNotCAD   ESML_ArgNotCAD
#define SML_EArgNotTIN   ESML_ArgNotTIN
#define SML_EArgNotRegion   ESML_ArgNotRegion
#define SML_EWrongParameterType   ESML_WrongParameterType
#define SML_EInvalidFocalSize   ESML_InvalidFocalSize
#define MsmlCR_Modified   0x00000001
#define MsmlCR_Filename   0x00000002
#define MsmlCR_SymbolAdded   0x00000004
#define MsmlCR_End   0x00000008
#define MsmlCR_DestroyBegin   0x00000010
#define MsmlCR_Create   0x00000020
#define MsmlCR_Destroy   0x00000040
#define MsmlCR_InstallFuncsSML   0x00000080
#define MsmlCR_InstallFuncsGRE   0x00000100
#define NSTACK   2048
#define NFRAME   512
#define SMLRUN_StayResident   0x00000001
#define SMLRUN_BreakAtLine0   0x00000002
#define DESTOBJ_OutputCantBeInput   0x0001
#define DESTOBJ_DeleteExisting   0x0002
#define DESTOBJ_CreateEmpty   0x0004

Typedefs

typedef enum SMLSTYPE SMLSTYPE
typedef enum SMLSCOPE SMLSCOPE
typedef long SMLMACHINEINST
typedef SMLARG SMLARG
typedef void(* VOIDFUNC )(int, SMLARG *, UINT8 *, SMLCONTEXT *)
typedef void(SOMECLASS::* METHODPTR )()
typedef void(* FUNCPTR_v )()
typedef double(* FUNCPTR_d )()
typedef bool(* FUNCPTR_b )()
typedef INT32(* FUNCPTR_i )()
typedef UINT32(* FUNCPTR_u )()
typedef void *(* FUNCPTR_vp )()
typedef UNICODE *(* FUNCPTR_U )()
typedef const UNICODE *(* FUNCPTR_cU )()
typedef char *(* FUNCPTR_c )()
typedef const char *(* FUNCPTR_cc )()
typedef void(* FUNCPTR_v_b )(bool)

Enumerations

enum  SMLSTYPE {
  STYPE_Constant = 0, STYPE_NumVar, STYPE_StringVar, STYPE_Array,
  STYPE_Raster, STYPE_Vector, STYPE_CAD, STYPE_Region,
  STYPE_TIN, STYPE_RESERVERD, STYPE_Keyword, STYPE_Intrinsic,
  STYPE_UFunction, STYPE_UProcedure, STYPE_BFunction, STYPE_BSFunction,
  STYPE_BProcedure, STYPE_Table, STYPE_TableVar, STYPE_AnyVal,
  STYPE_String, STYPE_AnyObject, STYPE_NumList, STYPE_StrList,
  STYPE_List, STYPE_RecList, STYPE_VectFunc, STYPE_RegionFunc,
  STYPE_CADFunc, STYPE_TINFunc, STYPE_ClassFunc, STYPE_ClassVar,
  STYPE_Class, STYPE_RastListVar, STYPE_VectListVar, STYPE_CADListVar,
  STYPE_TINListVar, STYPE_RegListVar, STYPE_Enum, STYPE_StrField,
  STYPE_NumField, STYPE_ClassArrayFunc, STYPE_ClassArrayVar, STYPE_MAXTYPE
}
enum  SMLSCOPE {
  SCOPE_NONE = 0, SCOPE_TABLE = 272, SCOPE_BFUNCTION = 280, SCOPE_KEYWORD = 311,
  SCOPE_GLOBAL = 336, SCOPE_LOCAL = 337, SCOPE_PERMANENT = 1000
}
enum  SMLFUNCSIG {
  SIG_OldStyle = 0, SIG_v_i_i_b = DEFSIG3(ARGT_v, ARGT_i, ARGT_i, ARGT_b), SIG_v_i_i_i = DEFSIG3(ARGT_v, ARGT_i, ARGT_i, ARGT_i), SIG_v_i_i_i_b = DEFSIG4(ARGT_v, ARGT_i, ARGT_i, ARGT_i, ARGT_b),
  SIG_v_d_d_b = DEFSIG3(ARGT_v, ARGT_d, ARGT_d, ARGT_b), SIG_v_d_d_d = DEFSIG3(ARGT_v, ARGT_d, ARGT_d, ARGT_d), SIG_v_d_d_d_d = DEFSIG4(ARGT_v, ARGT_d, ARGT_d, ARGT_d, ARGT_d), SIG_v_pv_i_u_i_i = DEFSIG5(ARGT_v, ARGT_pv, ARGT_i, ARGT_u, ARGT_i, ARGT_i),
  SIG_v_pv_cU_i = DEFSIG3(ARGT_v, ARGT_pv, ARGT_cU, ARGT_i), SIG_v_pv_pv_pv = DEFSIG3(ARGT_v, ARGT_pv, ARGT_pv, ARGT_pv), SIG_v_pv_pv_d = DEFSIG3(ARGT_v, ARGT_pv, ARGT_pv, ARGT_d), SIG_LAST
}
enum  SMLCONTEXTTYPE {
  SMLCONTEXTTYPE_NONE = 0, SMLCONTEXTTYPE_SML = 0x00000001, SMLCONTEXTTYPE_SelectQuery = 0x00000002, SMLCONTEXTTYPE_StyleQuery = 0x00000004,
  SMLCONTEXTTYPE_GeoFormula = 0x00000008, SMLCONTEXTTYPE_PinMap = 0x00000010, SMLCONTEXTTYPE_DispLayer = 0x00000020, SMLCONTEXTTYPE_ComputedField = 0x00000040,
  SMLCONTEXTTYPE_ANY = 0xFFFFFFFF
}

Functions

int SML_GetFuncDoc (SMLCONTEXT *context, const SMLSYMBOL *sym, SMLDOCCODES &codes, bool bShortForm=false)
int SML_GetFuncExample (SMLCONTEXT *context, const SMLSYMBOL *sym, MISTRING &mistr)
int SML_GetClassDoc (SMLCONTEXT *context, const SMLCLASS *Class, SMLDOCCODES &codes, bool bShortForm=false, bool bInsert=false)
int SML_GetKeywordDoc (const char *keyword, SMLDOCCODES &codes)
int SML_GetOperatorDoc (const char *op, SMLDOCCODES &codes)
const char *const * SML_GetKeywordList ()
const char *const * SML_GetOperatorList ()
RVCAPPLIBEXPORT void SMLCLASSReadSimple (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
RVCAPPLIBEXPORT void SMLCLASSWriteSimple (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
RVCAPPLIBEXPORT void SMLCLASSReadOnly (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
void SMLCLASSReadPassThrough (SMLCONTEXT *, SMLCLASSMEMBER *, void *vdata, SMLARG *ret)
RVCAPPLIBEXPORT void SMLCLASSReadULONGFlag (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
RVCAPPLIBEXPORT void SMLCLASSWriteULONGFlag (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
void SMLCLASSWriteTableNum (SMLCONTEXT *context, SMLCLASSMEMBER *member, void *vdata, SMLARG *arg)
void SMLCLASSReadImpExpParm (SMLCONTEXT *context, SMLCLASSMEMBER *member, void *vdata, SMLARG *ret)
void SMLCLASSWriteImpExpParm (SMLCONTEXT *context, SMLCLASSMEMBER *member, void *vdata, SMLARG *val)
void * MIEHandleConstructor (void *, SMLCONTEXT *, SMLCLASS *)
void MIEHandleDestructor (void *, SMLCONTEXT *, SMLCLASS *)
void * SMLCLASSCopyRefcount (void *)
int SMLFUNCSIG_GetNumParms (SMLFUNCSIG sig)
SMLFUNCSIG SMLFUNCSIG_GetRetType (SMLFUNCSIG sig)
SMLFUNCSIG SMLFUNCSIG_GetParmType (SMLFUNCSIG sig, int n)
SMLFUNC DEFINE_SMLVOIDFUNC (const char *smlname, void(*func)(int numargs, SMLARG *args, UINT8 *argtypes, SMLCONTEXT *context), SMLPARM *parms, INT32 createdate, INT32 modifydate, const char *description)
SMLFUNC DEFINE_SMLDOUBLEFUNC (const char *smlname, double(*func)(int numargs, SMLARG *args, UINT8 *argtypes, SMLCONTEXT *context), SMLPARM *parms, INT32 createdate, INT32 modifydate, const char *description)
SMLFUNC DEFINE_SMLSTRINGFUNC (const char *smlname, SMLSTRING *(*func)(int numargs, SMLARG *args, UINT8 *argtypes, SMLCONTEXT *context), SMLPARM *parms, INT32 createdate, INT32 modifydate, const char *description)
SMLFUNC DEFINE_SMLCLASSFUNC (const char *smlname, void *(*func)(int numargs, SMLARG *args, UINT8 *argtypes, SMLCONTEXT *context), SMLPARM *parms, const char *classname, INT32 createdate, INT32 modifydate, const char *description)
SMLFUNC DEFINE_SMLFUNC (const char *name, VOIDFUNC func, SMLFUNCSIG signature, SMLPARM *parms, INT32 CreateDate, INT32 ModifyDate=0, const char *ClassName=0, bool bInWin32=true, bool bInX=true)
SMLFUNC DEFINE_SMLFUNC (const char *name, METHODPTR func, SMLFUNCSIG signature, SMLPARM *parms, INT32 CreateDate, INT32 ModifyDate=0, const char *ClassName=0, bool bInWin32=true, bool bInX=true)
RVCAPPLIBEXPORT int _SML_CreateContextFromDBHandle (int did, SMLCONTEXT **contextp, UINT32 flags)
RVCAPPLIBEXPORT int SML_GetErrorUC (SMLCONTEXT *context, UNICODE **errtext, INT32 *position)
RVCAPPLIBEXPORT int SML_SameObject (SMLSYMBOL *, SMLSYMBOL *)
int SML_InitExt (SMLCONTEXT **)
int DBQuery_CreateObjectContext (SMLCONTEXT **contextp, const UNICODE *fname, INT32 inode, UINT32 flags)
int DBQuery_CreateObjectContext (SMLCONTEXT **contextp, const RVC::OBJITEM &item)
int DBQuery_CreateContextFromDBHandle (int did, SMLCONTEXT **contextp, UINT32 flags)
int SML_CreateContext (int file, INT32 inode, SMLCONTEXT **pcontext, UINT32 flags)
void SML_InstallCartoScriptFunctions (SMLCONTEXT *context)
void SML_LongToDate (INT32 date, char *dateStr)
int DBQuery_GetDefaultQTYPE (int objtype)
int DBQuery_DrawOptimizedLabels (SMLCONTEXT *context, ELEMTYPE ElemType, UINT8 *bitarray, INT32 NumElem)
int DBQuery_SetupStyleDraw (SMLCONTEXT *context, MGD::CONTEXT *ggc, const TRANS2D_MAPGEN &tmg, bool Is3D, SMLSYMBOL *DrawDoneSym)
int DBQuery_LineStyleSetPoints (SMLCONTEXT *context, const DPOINT2D *pts, INT32 NumPts, int CloseMode)
int DBQuery_LineStyleSetGC (SMLCONTEXT *context, MgdGC gc, const TRANS2D_MAPGEN &tmg)
void DBQuery_SetMgdDisplay (SMLCONTEXT *context, MgdGC ggc, const TRANS2D_MAPGEN &tmg, int StyleObject)
int DBQuery_GetMgdExtents (SMLCONTEXT *context, DRECT2D *extents)
MgdGC DBQuery_GetCurrentMgdGC (SMLCONTEXT *context)
void DBQuery_SetMdispLayer (SMLCONTEXT *context, void *layer, void *view, int ExtentsOnly)
int SML_GetHistInfo (SMLCONTEXT *context, SMLOBJECT *obj)
void SML_SetConsole (SMLCONTEXT *context, void *console)
MDLGPARENT SML_GetParent (SMLCONTEXT *context)
void SML_SetParent (SMLCONTEXT *context, MDLGPARENT parent)
int SML_ExecuteMain (MDLGPARENT toplevel, int(*InstallDisplayFunctions)(SMLCONTEXT *), const UNICODE *fname, const UNICODE *objname, UINT32 flags)
int SML_Main (MDLGPARENT toplevel, SMLCONTEXT *context, const char **argv, int argc, UINT32 flags=0)
int SML_NoEditMain (MDLGPARENT toplevel, SMLCONTEXT *context, const UNICODE *fname, const UNICODE *objname, UINT32 flags)
int SML_CheckExit (MDLGPARENT parent)
void SML_AddWidgetDestroyCallback (SMLCONTEXT *context, Widget widget, XtCallbackProc func, void *cbdata)
int MxQueryCreate (SMLEDITOR **handle, UINT32 flags)
int MxQuerySetContext (SMLEDITOR *handle, SMLCONTEXT *context, int segment)
int MxQueryAddCallback (SMLEDITOR *handle, McbCallbackFunc func, void *cbdata, UINT32 reason)
void MxQueryRemoveCallback (SMLEDITOR *handle, McbCallbackFunc func, void *cbdata, UINT32 reason)
int MxQueryCheckSyntax (MDLGPARENT parent, SMLEDITOR *handle)
int MxQueryOpenScript (SMLEDITOR *vdata, UNICODE *fname, INT32 inode, RVCQUERYINFO *info)
int DBQuery_EditMISTRING (MDLGPARENT parent, SMLCONTEXT *context, int segment, MISTRING &qstring, UINT32 flags)
int DBQuery_EditUC (MDLGPARENT parent, SMLCONTEXT *context, int segment, UNICODE **string, UINT32 flags)
ERRVALUE SML_EditScript (MDLGPARENT dlgparent, MISTRING &scriptstr, SMLCONTEXT *smlcontext, int smlsegment=0, UINT32 flags=0)
int SML_ReadScript (MDLGPARENT parent, const FILEPATH &filepath, RVCINODENUM inode, UNICODE *password, MISTRING &script, MISTRING &WhatToShowUser, const char *charencoding=0)
int SML_ReadScript (const FILEPATH &filepath, RVCQUERYINFO *info, UNICODE **pbuf, char *encoding=0, UNICODE *password=0, int(*CryptoPromptPassword)(void *data, UNICODE *password)=0, void *PromptPasswordData=0, MCRYPTOHDR *crypto=0, UINT32 flags=0)
ERRVALUE SML_ReadScript (const FILEPATH &filepath, RVCQUERYINFO *info, MISTRING &scriptstr, char *encoding=0, UNICODE *password=0, int(*CryptoPromptPassword)(void *data, UNICODE *password)=0, void *PromptPasswordData=0, MCRYPTOHDR *crypto=0, UINT32 flags=0)
int SML_ReadScript (const UNICODE *filename, RVCQUERYINFO *info, char *encoding, UNICODE *password, int(*CryptoPromptPassword)(void *data, UNICODE *password), void *PromptPasswordData, MCRYPTOHDR *crypto, UNICODE **pbuf, UINT32 flags=0)
ERRVALUE SMLEdit (MDLGPARENT parent, SMLCONTEXT *context, int segment, MISTRING &query, UINT32 flags)


Define Documentation

#define ARGT_b   1
 

Definition at line 3327 of file sml.h.

#define ARGT_c   8
 

Definition at line 3334 of file sml.h.

#define ARGT_cc   9
 

Definition at line 3335 of file sml.h.

#define ARGT_cU   7
 

Definition at line 3333 of file sml.h.

#define ARGT_d   2
 

Definition at line 3328 of file sml.h.

#define ARGT_i   3