sml.h File Reference

#include <mi32/rvccad.h>
#include <mi32/rvctext.h>
#include <mi32/rvcdbase.h>
#include <mi32/mlist.h>
#include <mi32/crypto.h>
#include <mi32/smlfuncs.h>
#include <mi32/rvcvect.h>
#include <rvc/image.h>
#include <mi32/rvcrast.h>
#include <mi32/colormap.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  MGD
namespace  RVC
namespace  SPATREF

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< _TYPE >
 A Template class of SMLAUTOCLASS. More...
class  SMLAUTOCLASS_NEW_NOCOPY_T< _TYPE >
 A Template class of SMLAUTOCLASS. More...
class  SMLAUTOCLASS_NEW_T< _TYPE >
 A Template class of SMLAUTOCLASS. More...
class  SMLAUTOCLASS_NOALLOC_T< _TYPE >
 A Template class of SMLAUTOCLASS. More...
class  SMLAUTOCLASS_SMLHEAP_T< _TYPE >
 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
class  SMLCLASSHASH
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...
class  SMLENCODINGDATA
 Class to store incoding information when running a script directly from the toolbar. 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...
class  SMLHASH
class  SMLNUMHASH
struct  SMLOBJECT
struct  SMLPARM
struct  SMLRASTEROBJECT
struct  SMLSHAPEOBJECT
class  SMLSTRING
 SML string constant representation. More...
struct  SMLSTYLEOBJECT
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 ARGT_b   1
#define ARGT_c   8
#define ARGT_cc   9
#define ARGT_cU   7
#define ARGT_d   2
#define ARGT_i   3
#define ARGT_pv   5
#define ARGT_pva   10
#define ARGT_U   6
#define ARGT_u   4
#define ARGT_v   0
#define DEFINE_SMLCLASS_AUTO(classname, basename, size, members, createdate, moddate, desc)
#define DEFINE_SMLCLASS_SIMPLE(classname, basename, members, createdate, moddate, desc)
#define DEFSIG
#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 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 DESTOBJ_CreateEmpty   0x0004
#define DESTOBJ_DeleteExisting   0x0002
#define DESTOBJ_DestIsFirstParm   0x0008
#define DESTOBJ_FunctionReturnsObject   0x0010
#define DESTOBJ_OutputCantBeInput   0x0001
#define MIEFORMATSMLCLASSARRAYSIZE   4
#define MsmlCR_Create   0x00000020
#define MsmlCR_Destroy   0x00000040
#define MsmlCR_DestroyBegin   0x00000010
#define MsmlCR_End   0x00000008
#define MsmlCR_Filename   0x00000002
#define MsmlCR_InstallFuncsGRE   0x00000100
#define MsmlCR_InstallFuncsSML   0x00000080
#define MsmlCR_Modified   0x00000001
#define MsmlCR_SymbolAdded   0x00000004
#define NFRAME   512
#define NSTACK   2048
#define PARM_ByRef   0x0002
#define PARM_NeedNextParm   0x0010
#define PARM_Optional   0x0001
#define PARM_Optional2   (PARM_Optional|PARM_NeedNextParm)
#define PARM_TypeConfirmed   0x0008
#define PARM_UndefOK   0x0004
#define QFLAG_AllFuncs   -1000
#define QFLAG_AutoRun   0x0004
#define QFLAG_ComputedField   0x0200
#define QFLAG_DispLayer   0x0040
#define QFLAG_FileExtnSML   0x8000
#define QFLAG_Filename   0x10000
#define QFLAG_Formula   0x0080
#define QFLAG_NoConsole   0x0800
#define QFLAG_NoEdit   0x0400
#define QFLAG_NonModal   0x0100
#define QFLAG_NoShell   0x0002
#define QFLAG_NoViewIcon   0x2000
#define QFLAG_NoWait   0x0008
#define QFLAG_PinMap   0x0020
#define QFLAG_ScriptNoFile   0x4000
#define QFLAG_SetExitOnQuit   0x1000
#define QFLAG_SingleTable   0x0010
#define QFLAG_SML   0x0001
#define QQCurRastSymCol(sym)   ((sym)->u.obj->GetCurElemNum((ELEMTYPE)1))
#define QQCurRastSymLin(sym)   ((sym)->u.obj->GetCurElemNum((ELEMTYPE)0))
#define QTYPE_DBRoot   0x1000
#define QTYPE_Double   0x0300
#define QTYPE_ELEMTYPE_MASK   0x00FF
#define QTYPE_GeoFormula   0x0700
#define QTYPE_MISTRING   0x0800
#define QTYPE_Plain   0x0000
#define QTYPE_Select   0x0100
#define QTYPE_SML   0x0500
#define QTYPE_String   0x0400
#define QTYPE_Style   0x0200
#define QTYPE_UCString   0x0600
#define QTYPE_USAGE_MASK   0x0F00
#define QTYPE_Win32Native   0x2000
#define SML_API_CONFORMANCE   0
#define SML_EArgClassMismatch   ESML_ArgClassMismatch
#define SML_EArgNotArray   ESML_ArgNotArray
#define SML_EArgNotCAD   ESML_ArgNotCAD
#define SML_EArgNotNumber   ESML_ArgNotNumber
#define SML_EArgNotObject   ESML_ArgNotObject
#define SML_EArgNotRaster   ESML_ArgNotRaster
#define SML_EArgNotRegion   ESML_ArgNotRegion
#define SML_EArgNotString   ESML_ArgNotString
#define SML_EArgNotTIN   ESML_ArgNotTIN
#define SML_EArgNotVar   ESML_ArgNotVar
#define SML_EArgNotVector   ESML_ArgNotVector
#define SML_EBadGeoref   ESML_BadGeoref
#define SML_EBadNumOfArgs   ESML_BadNumOfArgs
#define SML_EBadParmAssign   ESML_BadParmAssign
#define SML_EElementTypeMismatch   ESML_ElementTypeMismatch
#define SML_EInvalidFocalSize   ESML_InvalidFocalSize
#define SML_EMatNotSquare   ESML_MatNotSquare
#define SML_EMatWrongSize   ESML_MatWrongSize
#define SML_ENotEnoughArgs   ESML_NotEnoughArgs
#define SML_ETooManyArgs   ESML_TooManyArgs
#define SML_EUndefVector   ESML_UndefObject
#define SML_EWrongParameterType   ESML_WrongParameterType
#define SML_RETIRE_IN_68   "RetireIn6.8"
#define SML_RETIRE_IN_69   "RetireIn6.9"
#define SMLCLASS_NOWIN32_NATIVE(name, base)
#define SMLCLASSBEGIN(name, base, size, constructor, destructor, copyconst)
#define SMLCLASSBEGIN2(name, base, size, constructor, destructor, copyconst, createdate, moddate, desc)
#define SMLCLASSEND   {NULL, STYPE_Num, 0,0,0,0,0,0,0,0,0,0,0,0,0} };
#define SMLCLASSFUNCDEF2(func)   { #func, func##_FuncType, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), 0, SIG_OldStyle, 0, 0 }
#define SMLCLASSFUNCDEF3(func)   { func##_RealName, func##_FuncType, (VOIDFUNC)func, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), 0, SIG_OldStyle, 0, 0 }
#define SMLCLASSFUNCDEF_NOWIN32_NATIVE(func)   {#func, func##_FuncType, NULL, func##_Parms, func##_RetVal, func##_CreateDate, func##_ModDate, 0,0, NULL, sizeof(SMLFUNC), sizeof(SMLPARM), SMLFUNC_NotInWin32, SIG_OldStyle, 0, 0}
#define SMLCLASSINSTALL(c, name)   c->InstallClass(&_SMLCLASS_##name)
#define SMLCLASSINSTALL_NOWIN32NATIVE(c, name)
#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 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_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_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_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_STRUCT_INLINE_RO(smlname, Class, membername, classname, desc)   { smlname, STYPE_ClassRef, 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_ClassRef, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, classname, offsetof(Class, membername), 1, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_STRUCT_PTR_RO(smlname, Class, membername, classname, desc)   { smlname, STYPE_ClassRef, 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_ClassRef, SMLCLASSReadSimple, SMLCLASSWriteSimple, NULL, classname, offsetof(Class::membername), 0, 0, NULL, NULL, NULL, desc}
#define SMLCLASSMEMBER_UINT32FLAG_RO(smlname, Class, membername, flagval, invert, desc)   { smlname, STYPE_Num, 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_Num, SMLCLASSReadULONGFlag, SMLCLASSWriteULONGFlag, NULL, classname, offsetof(Class, membername), flagval, invert, NULL, NULL, NULL, desc}
#define SMLCLASSMETHOD(func)   { #func, STYPE_Constant, NULL, NULL, &FUNC_##func }
#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_CONTRAST   "CONTRAST"
#define SMLCLASSNAME_CTRLEDGE   "CTRLEDGE"
#define SMLCLASSNAME_CTRLPOINT   "CTRLPOINT"
#define SMLCLASSNAME_DATABASE   "DATABASE"
#define SMLCLASSNAME_DATATIP   "DATATIP"
#define SMLCLASSNAME_DATETIME   "DATETIME"
#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_ELEMENTREF   "ELEMENTREF"
#define SMLCLASSNAME_ELEMSELECTPARMS   "ELEMSELECTPARMS"
#define SMLCLASSNAME_FILE   "FILE"
#define SMLCLASSNAME_GC   "GC"
#define SMLCLASSNAME_GEOREF   "GEOREF"
#define SMLCLASSNAME_GPSCALLBACKLIST   "GPSCALLBACKLIST"
#define SMLCLASSNAME_GPSDATA   "GPSDATA"
#define SMLCLASSNAME_GPSPORT   "GPSPORT"
#define SMLCLASSNAME_GPSSYMBOL   "GPSSYMBOL"
#define SMLCLASSNAME_GRAPHICSCONTEXT   "GC"
#define SMLCLASSNAME_GRDEVICE   "GRDEVICE"
#define SMLCLASSNAME_GRDEVICE_MEM_BINARY   "GRDEVICE_MEM_BINARY"
#define SMLCLASSNAME_GRE_GROUP   "GRE_GROUP"
#define SMLCLASSNAME_GRE_LABELS   "GRE_LABELS"
#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_LAYERDC   "GRE_LAYERDC"
#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_VIEW3D   "GRE_VIEW3D"
#define SMLCLASSNAME_GRE_VIEWABLE   "GRE_VIEWABLE"
#define SMLCLASSNAME_GROUPXPOSN   "GROUPXPOSN"
#define SMLCLASSNAME_GROUPYPOSN   "GROUPYPOSN"
#define SMLCLASSNAME_HATCHPATTERN   "HATCHPATTERN"
#define SMLCLASSNAME_HISTOGRAM   "HISTOGRAM"
#define SMLCLASSNAME_INIHANDLE   "INIHANDLE"
#define SMLCLASSNAME_LABELATTACHMENT   "LABELATTACHMENT"
#define SMLCLASSNAME_LABELFRAMEPARMS   "LABELFRAMEPARMS"
#define SMLCLASSNAME_LABELPLACE   "LABELPLACE"
#define SMLCLASSNAME_LABELSTYLE   "LABELSTYLE"
#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_POLYLINE   "POLYLINE"
#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_REGION2D   "REGION2D"
#define SMLCLASSNAME_REGIONDATA   "REGIONDATA"
#define SMLCLASSNAME_REGIONTOOL   "REGIONTOOL"
#define SMLCLASSNAME_ROUTE   "ROUTE"
#define SMLCLASSNAME_RVC_GEOREFERENCE   "RVC_GEOREFERENCE"
#define SMLCLASSNAME_SR_COORDAXIS   "SR_COORDAXIS"
#define SMLCLASSNAME_SR_COORDOPDEF   "SR_COORDOPDEF"
#define SMLCLASSNAME_SR_COORDOPMETHOD   "SR_COORDOPMETHOD"
#define SMLCLASSNAME_SR_COORDOPPARM   "SR_COORDOPPARM"
#define SMLCLASSNAME_SR_COORDREFSYS   "SR_COORDREFSYS"
#define SMLCLASSNAME_SR_COORDSYS   "SR_COORDSYS"
#define SMLCLASSNAME_SR_DATUM   "SR_DATUM"
#define SMLCLASSNAME_SR_ELLIPSOID   "SR_ELLIPSOID"
#define SMLCLASSNAME_SR_PRIMEMERIDIAN   "SR_PRIMEMERIDIAN"
#define SMLCLASSNAME_STATUSCONTEXT   "STATUSCONTEXT"
#define SMLCLASSNAME_STATUSHANDLE   "STATUSHANDLE"
#define SMLCLASSNAME_STOP   "STOP"
#define SMLCLASSNAME_STRINGLIST   "STRINGLIST"
#define SMLCLASSNAME_STYLEOBJECT   "STYLEOBJECT"
#define SMLCLASSNAME_TEXTSTYLE   "TEXTSTYLE"
#define SMLCLASSNAME_TIMEINTERVAL   "TIMEINTERVAL"
#define SMLCLASSNAME_TIMER   "TIMER"
#define SMLCLASSNAME_TOGGLEBUTTONITEM   "TOGGLEBUTTONITEM"
#define SMLCLASSNAME_TOOL   "TOOL"
#define SMLCLASSNAME_TOOLCALLBACKLIST   "TOOLCALLBACKLIST"
#define SMLCLASSNAME_TOOLTIP   "TOOLTIP"
#define SMLCLASSNAME_TRANSMODEL   "TRANSMODEL"
#define SMLCLASSNAME_TRANSPARM   "TRANSPARM"
#define SMLCLASSNAME_UNIT   "UNIT"
#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 SMLFLAG_FreeDesc   0x0002
#define SMLFLAG_FreeFlagArray   0x0004
#define SMLFLAG_FreeName   0x0001
#define SMLFUNC_HasProtoParms   0x00000010
#define SMLFUNC_IsMemberFunc   0x00000004
#define SMLFUNC_NotInWin32   0x00000001
#define SMLFUNC_NotInX   0x00000002
#define SMLFUNC_Prototype   0x00000020
#define SMLFUNC_UseSignature   0x00000008
#define SMLFUNCDEF(func, type, parms)   {#func, type, (VOIDFUNC)func, parms,NULL,0,0,0,0,NULL, sizeof(SMLFUNC), sizeof(SMLPARM)}
#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 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 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 SMLMIE_EXPORTCAD   8
#define SMLMIE_EXPORTDBASE   10
#define SMLMIE_EXPORTRASTER   6
#define SMLMIE_EXPORTTIN   9
#define SMLMIE_EXPORTVECTOR   7
#define SMLMIE_IMPORTCAD   3
#define SMLMIE_IMPORTDBASE   5
#define SMLMIE_IMPORTRASTER   1
#define SMLMIE_IMPORTTIN   4
#define SMLMIE_IMPORTVECTOR   2
#define SMLRUN_BreakAtLine0   0x00000002
#define SMLRUN_StayResident   0x00000001
#define STYPE_Class   STYPE_ClassRef
#define STYPE_ClassFunc   STYPE_ClassRefFunc
#define STYPE_Num   STYPE_Constant
#define STYPE_StrVar   STYPE_StringVar
#define STYPEFLAG_ArraySym   0x0200
#define STYPEFLAG_ClassPtr   0x1000
#define STYPEFLAG_ClassSym   0x0400
#define STYPEFLAG_FuncSym   0x0100
#define STYPEFLAG_List   0x0008
#define STYPEFLAG_ListSym   0x0080
#define STYPEFLAG_ObjSym   0x0040
#define STYPEFLAG_Prototype   0x0800
#define STYPEFLAG_Str   0x0004
#define STYPEFLAG_StrSym   0x0020
#define STYPEFLAG_Sym   0x0002
#define STYPEFLAG_Val   0x0001
#define STYPEFLAG_ValSym   0x0010
#define SYMBOL_DontFree   0x0100
#define SYMBOL_Permanent   0x0200

Typedefs

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

Enumerations

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
}
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_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_i_pv_b_pv = DEFSIG3(ARGT_i, ARGT_pv, ARGT_b, ARGT_pv), SIG_LAST
}
enum  SMLSCOPE {
  SCOPE_NONE = 0, SCOPE_TABLE = 272, SCOPE_BFUNCTION = 280, SCOPE_KEYWORD = 311,
  SCOPE_GLOBAL = 336, SCOPE_LOCAL = 337, SCOPE_PERMANENT = 1000, SCOPE_PROTOTYPE = 1001
}
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_RESERVED27,
  STYPE_CADFunc, STYPE_TINFunc, STYPE_ClassRefFunc, STYPE_ClassVar,
  STYPE_ClassRef, STYPE_RastListVar, STYPE_VectListVar, STYPE_CADListVar,
  STYPE_TINListVar, STYPE_RegListVar, STYPE_Enum, STYPE_StrField,
  STYPE_NumField, STYPE_ClassHashFunc, STYPE_NumHashFunc, STYPE_FuncProto,
  STYPE_StrFuncProto, STYPE_ClassFuncProto, STYPE_ProcProto, STYPE_ClassCopy,
  STYPE_ClassCopyFunc, STYPE_ClassHashVar, STYPE_NumHashVar, STYPE_Shape,
  STYPE_Style, STYPE_ClassConstRef, STYPE_MAXTYPE
}

Functions

RVCAPPLIBEXPORT int _SML_CreateContextFromDBHandle (int did, SMLCONTEXT **contextp, UINT32 flags)
int DBQuery_CreateContextFromDBHandle (int did, SMLCONTEXT **contextp, UINT32 flags)
int DBQuery_CreateObjectContext (SMLCONTEXT **contextp, const RVC::OBJITEM &item)
int DBQuery_CreateObjectContext (SMLCONTEXT **contextp, const MIUNICODE *fname, INT32 inode, UINT32 flags)
int DBQuery_DrawOptimizedLabels (SMLCONTEXT *context, ELEMTYPE ElemType, UINT8 *bitarray, INT32 NumElem)
int DBQuery_EditMISTRING (MDLGPARENT parent, SMLCONTEXT *context, int segment, MISTRING &qstring, UINT32 flags)
int DBQuery_EditUC (MDLGPARENT parent, SMLCONTEXT *context, int segment, MIUNICODE **string, UINT32 flags)
MGD::CONTEXTDBQuery_GetCurrentMgdGC (SMLCONTEXT *context)
int DBQuery_GetDefaultQTYPE (int objtype)
int DBQuery_GetMgdExtents (SMLCONTEXT *context, DRECT2D *extents)
int DBQuery_LineStyleSetGC (SMLCONTEXT *context, MGD::CONTEXT *gc, const TRANS2D_MAPGEN &tmg)
int DBQuery_LineStyleSetPoints (SMLCONTEXT *context, const DPOINT2D *pts, INT32 NumPts, int CloseMode)
void DBQuery_SetMdispLayer (SMLCONTEXT *context, void *layer, void *view, int ExtentsOnly)
void DBQuery_SetMgdDisplay (SMLCONTEXT *context, MGD::CONTEXT *ggc, const TRANS2D_MAPGEN &tmg, int StyleObject)
int DBQuery_SetupStyleDraw (SMLCONTEXT *context, MGD::CONTEXT *ggc, const TRANS2D_MAPGEN &tmg, bool Is3D, SMLSYMBOL *DrawDoneSym)
void * MIEHandleConstructor (void *, SMLCONTEXT *, SMLCLASS *)
void MIEHandleDestructor (void *, SMLCONTEXT *, SMLCLASS *)
int MxQueryAddCallback (SMLEDITOR *handle, McbCallbackFunc func, void *cbdata, UINT32 reason)
int MxQueryCheckSyntax (MDLGPARENT parent, SMLEDITOR *handle)
int MxQueryCloseChildren (SMLEDITOR *handle)
int MxQueryCreate (SMLEDITOR **handle, UINT32 flags)
int MxQueryOpenScript (SMLEDITOR *vdata, MIUNICODE *fname, INT32 inode, RVCQUERYINFO *info)
void MxQueryRemoveCallback (SMLEDITOR *handle, McbCallbackFunc func, void *cbdata, UINT32 reason)
int MxQuerySetContext (SMLEDITOR *handle, SMLCONTEXT *context, int segment)
void MxQuerySetScriptFilepath (SMLEDITOR *handle, const FILEPATH &filepath)
void MxQuerySetScriptObject (SMLEDITOR *handle, const RVC::OBJITEM &objitem)
void SML_AddWidgetDestroyCallback (SMLCONTEXT *context, Widget widget, XtCallbackProc func, void *cbdata)
int SML_CheckExit (MDLGPARENT parent)
int SML_CreateContext (int file, INT32 inode, SMLCONTEXT **pcontext, UINT32 flags)
ERRVALUE SML_EditScript (MDLGPARENT dlgparent, MISTRING &scriptstr, SMLCONTEXT *smlcontext, int smlsegment=0, UINT32 flags=0)
int SML_ExecuteMain (MDLGPARENT toplevel, int(*InstallDisplayFunctions)(SMLCONTEXT *), const MIUNICODE *fname, const MIUNICODE *objname, UINT32 flags, void *encdata=NULL)
int SML_GetClassDoc (SMLCONTEXT *context, const SMLCLASS *Class, SMLDOCCODES &codes, bool bShortForm=false, bool bInsert=false)
bool SML_GetFuncDesc (SMLCONTEXT *context, const SMLFUNC *smlfunc, MISTRING &mistr)
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_GetKeywordDoc (const char *keyword, SMLDOCCODES &codes)
const char *const * SML_GetKeywordList ()
int SML_GetOperatorDoc (const char *op, SMLDOCCODES &codes)
const char *const * SML_GetOperatorList ()
MDLGPARENT SML_GetParent (SMLCONTEXT *context)
int SML_InitExt (SMLCONTEXT **)
void SML_InstallCartoScriptFunctions (SMLCONTEXT *context)
void SML_LongToDate (INT32 date, char *dateStr)
int SML_Main (MDLGPARENT toplevel, SMLCONTEXT *context, const char **argv, int argc, UINT32 flags=0)
int SML_NoEditMain (MDLGPARENT toplevel, SMLCONTEXT *context, const MIUNICODE *fname, const MIUNICODE *objname, UINT32 flags, void *encdata=NULL)
int SML_ReadScript (const MIUNICODE *filename, RVCQUERYINFO *info, char *encoding, MIUNICODE *password, int(*CryptoPromptPassword)(void *data, MIUNICODE *password), void *PromptPasswordData, MCRYPTOHDR *crypto, MIUNICODE **pbuf, UINT32 flags=0)
ERRVALUE SML_ReadScript (const FILEPATH &filepath, RVCQUERYINFO *info, MISTRING &scriptstr, char *encoding=0, MIUNICODE *password=0, int(*CryptoPromptPassword)(void *data, MIUNICODE *password)=0, void *PromptPasswordData=0, MCRYPTOHDR *crypto=0, UINT32 flags=0)
int SML_ReadScript (const FILEPATH &filepath, RVCQUERYINFO *info, MIUNICODE **pbuf, char *encoding=0, MIUNICODE *password=0, int(*CryptoPromptPassword)(void *data, MIUNICODE *password)=0, void *PromptPasswordData=0, MCRYPTOHDR *crypto=0, UINT32 flags=0)
int SML_ReadScript (MDLGPARENT parent, const FILEPATH &filepath, RVCINODENUM inode, MIUNICODE *password, MISTRING &script, MISTRING &WhatToShowUser, const char *charencoding=0)
RVCAPPLIBEXPORT int SML_SameObject (SMLSYMBOL *, SMLSYMBOL *)
DEPRECATED void SML_SetConsole (SMLCONTEXT *context, void *console)
void SML_SetParent (SMLCONTEXT *context, MDLGPARENT parent)
DEPRECATED void * SMLCLASSCopyRefcount (void *)
void SMLCLASSReadImpExpParm (SMLCONTEXT *context, SMLCLASSMEMBER *member, void *vdata, SMLARG *ret)
RVCAPPLIBEXPORT void SMLCLASSReadOnly (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
void SMLCLASSReadPassThrough (SMLCONTEXT *, SMLCLASSMEMBER *, void *vdata, SMLARG *ret)
RVCAPPLIBEXPORT void SMLCLASSReadSimple (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
RVCAPPLIBEXPORT void SMLCLASSReadULONGFlag (SMLCONTEXT *, struct SMLCLASSMEMBER *, void *, SMLARG *)
void SMLCLASSWriteImpExpParm (SMLCONTEXT *context, SMLCLASSMEMBE