Classes | Typedefs | Enumerations | Functions

Classes

struct  BatchConvert_Info
 Batch convert state info. More...
 

Typedefs

typedef void(* SystemFunc_NewDesignFile )(WCharCP fileP, NewDesignFileReason state)
 UserFunction called when a new design file is opened. More...
 
typedef bool(* SystemFunc_UnloadProgram )(UnloadProgramReason reason)
 UserFunction called during the unload of an application. More...
 
typedef StatusInt(* SystemFunc_CompressDgnFile )(WCharP errorMessage, CompressType type)
 UserFunction called during a file compress. More...
 
typedef void(* SystemFunc_CompressDgnModel )(DgnModelP dgnModel, CompressType type)
 UserFunction called during a file compress for each model. More...
 
typedef void(* SystemFunc_ModelChange )(DgnModelRefP modelRef, ModelChangeType changeTypeId)
 UserFunction called when a model is changed. More...
 
typedef void(* SystemFunc_MdlChildTerminated )(MdlChildTerminated const *terminatedChild)
 UserFunction called during the unload of a child application started by the current application. More...
 
typedef void(* SystemFunc_ReloadProgram )(int argc, WCharCP argv[])
 UserFunction called for each app when an MDL app is reloaded. More...
 
typedef void(* SystemFunc_ExitDesignFileState )()
 UserFunction called when exiting design file. More...
 
typedef void(* SystemFunc_AllMdlUnloads )(MdlDesc *unloadedApp, short exitReason, WCharCP taskId, bool keepStub)
 UserFunction called for each app when all MDL apps are unloaded. More...
 
typedef bool(* SystemFunc_MenuBarChange )(WCharCP oldTaskIdP, WCharCP newTaskIdP, bool isNewTask, bool afterMenuBarActivated, DialogItem *menuBarDiP, WCharCP menuItemLabelP)
 UserFunction called when a menu bar changes. More...
 
typedef bool(* SystemFunc_WindowClose )(MSWindowP gwP, int closeReason)
 UserFunction called when a window is closed. More...
 
typedef void(* SystemFunc_CmdWindowOpen )(void *cmdWindow)
 UserFunction called when the Status Bar or Command Window has been created. More...
 
typedef ElmDscrToFile_Status(* SystemFunc_ElmDscrToFile )(ElmDscrToFile_Actions action, DgnModelRefP modelRef, UInt32 filePos, MSElementDescrP newEdP, MSElementDescrCP oldEdP, MSElementDescrH replacementEdPP)
 
The userSystem_elmDscrToFile function is called by MicroStation before

an element descriptor is written to the design file. More...

 
typedef void(* SystemFunc_ColorMapChange )(int screen, byte *colorTable, UInt32 *colorMap, DgnModelRefP modelRef)
 UserFunction called when the colormap changes. More...
 
typedef void(* SystemFunc_FenceChanged )(FenceChangedType changeType)
 UserFunction called when a fence is created or cleared. More...
 
typedef void(* SystemFunc_FileSaveAs )(bool postSave, WCharCP destinationFileName)
 UserFunction called when a file is saved to a different name. More...
 
typedef void(* SystemFunc_FileSave )(DgnPlatform::ProcessChangesWhen when, DgnPlatform::DgnFileChanges changesFlag, DgnPlatform::DgnSaveReason reason, double timestamp, DgnFileP pFile)
 
UserFunction called to notify applications that a file is being

processed for "save changes". More...

 
typedef void *(* SystemFunc_DialogFind )(RscType dialogType, RscId dialogId, MdlDescP ownerMD)
 UserFunction called during a mdlDialog_findByTypeAndId call. More...
 
typedef StatusInt(* SystemFunc_CreateLibraryCell )(MSElementDescrH elmdscrPP)
 UserFunction called when a cell is added to a cell library (old method). More...
 
typedef void(* SystemFunc_SaveSettings )()
 UserFunction called when the settings are saved. More...
 
typedef StatusInt(* SystemFunc_ReferenceAttach )(WCharP fileName, WCharCP fullSavedPath, DgnModelRefP parentModelRef, WCharCP providerId, DgnPlatform::ElementId attachmentId)
 UserFunction called before a reference is attached. More...
 
typedef StatusInt(* SystemFunc_ReferenceDetach )(DgnModelRefP modelRef)
 UserFunction called before a reference is detached. More...
 
typedef void(* SystemFunc_ReferenceAttached )(DgnModelRefP modelRef, DgnPlatform::DgnAttachmentAttachedReason cause)
 UserFunction called after a reference is attached. More...
 
typedef void(* SystemFunc_ReferenceDetached )(DgnModelRefP modelRef, WCharCP fileName, DgnPlatform::DgnAttachmentDetachedReason cause)
 UserFunction called after a reference is detached. More...
 
typedef void(* SystemFunc_ReferenceModified )(DgnAttachmentCP pOldRef, DgnAttachmentCP pNewRef, DgnModelRefP modelRef, bool changesWritten, bool isUndo)
 UserFunction called when a reference is changed. More...
 
typedef void(* SystemFunc_AcsOperation )(WCharCP name, WCharCP description, DgnPlatform::ACSType acsType, AcsChangeType changeTypeId, IAuxCoordSysP acs, DgnPlatform::ACSEventType eventType)
 UserFunction called when ACS changes. More...
 
typedef void(* SystemFunc_DgnFileLoaded )(DgnFileP dgnFile)
 UserFunction called after a DGN file is loaded. More...
 
typedef void(* SystemFunc_DgnFileUnloading )(DgnFileP dgnFile)
 UserFunction called before a DGN file is unloaded. More...
 
typedef void(* SystemFunc_DgnCacheFilled )(DgnModelP dgnCache, DgnPlatform::DgnModelSections sections, DgnModelFillContextP context)
 UserFunction called after a DGN cache is filled. More...
 
typedef void(* SystemFunc_DgnCacheFill )(DgnModelP dgnCache, DgnPlatform::DgnModelSections sections, DgnModelFillContextP context)
 UserFunction called before a DGN cache is filled. More...
 
typedef void(* SystemFunc_DgnCacheUnloading )(DgnModelP dgnCache)
 UserFunction called when after a DGN cache is about to be unloaded. More...
 
typedef void(* SystemFunc_ViewGroupCacheChange )(WCharCP nameP, WCharCP descriptionP, ViewGroupChangeType changeTypeId)
 UserFunction called when ViewGroup cache changes. More...
 
typedef bool(* SystemFunc_QueryHasPending )(DgnFileP pDgnFileObj)
 UserFunction called during a save to allow listeners to say that there are changes and the file must be saved. More...
 
typedef void(* SystemFunc_DimStyleChange )(DgnModelRefP modelRef, DgnPlatform::ElementId styleIdIn, DimensionStyleChangeType changeType)
 UserFunction called when a Dimension Style is changed. More...
 
typedef void(* SystemFunc_TextStyleChange )(DgnModelRefP modelRef, UInt32 styleId, TextStyleChangeType changeTypeId)
 UserFunction called when a Text Style is changed. More...
 
typedef void(* SystemFunc_ApplicationAreaChange )()
 UserFunction called when the Application Area is changed. More...
 
typedef void(* SystemFunc_ModelRefDestroy )(DgnModelRefP modelRef)
 UserFunction called after the master file is closed. More...
 
typedef void(* SystemFunc_MasterfileClosed )()
 UserFunction called after the master file is closed. More...
 
typedef bool(* SystemFunc_NativeExceptionHandler )(int exceptionCode, void *exceptionPointersP, MdlDesc *applicationCausingException)
 UserFunction called when a call into native code results in an operating system exception (such as an access violation). More...
 
typedef StatusInt(* SystemFunc_CellLibraryChange )(CellLibAsyncMsgP pCellLibAsyncMsg)
 UserFunction called when the Cell Library changes. More...
 
typedef void(* SystemFunc_MonitorViewCommands )(bool starting)
 UserFunction called when MicroStation starts or exits from a viewing command. More...
 
typedef void(* SystemFunc_ElmDscrCopy )(EditElementHandleR eeh, DgnModelRefP sourceModelRef, DgnModelRefP destModelRef, bool preCopy)
 UserFunction called when MicroStation is making a copy of persistent elements. More...
 
typedef void(* SystemFunc_UpdateSequenceChanged )(DgnModelRefP modelRef, UpdateSequenceListP sequence)
 UserFunction called when MicroStation is setting the update sequence for a modelRef. More...
 
typedef bool(* SystemFunc_FileOutdated )(DgnFileP dgnFile, DgnModelRefP modelRef, FileOutdatedCheck_Reason reason)
 UserFunction called when MicroStation is checking to see whether a file that it is using is outdated. More...
 
typedef void(* SystemFunc_ReferenceNesting )(DgnModelRefP refModelRef, DgnPlatform::RefAttachNestMode nestFlag, int nestDepth, DgnPlatform::RefAttachNestMode previousNestFlag, int previousNestDepth, bool changeExisting)
 UserFunction called after user has selected a refernce file/model and established the attachment settings, just before the nested references are loaded. More...
 
typedef void(* SystemFunc_LockChanged )(LockChanged_Events eventType)
 UserFunction called after one of the MicroStation "locks" has been changed. More...
 
typedef void(* SystemFunc_ActiveParamChanged )(UInt32 paramType)
 UserFunction called after one of the MicroStation "active parameters" has been changed. More...
 
typedef void(* SystemFunc_MonitorBatchProcessing )(BatchProcessing_States state)
 UserFunction called when Batch Processing start, pauses, resumes, and stops. More...
 
typedef void(* SystemFunc_MonitorBatchConvert )(BatchConvert_Info const *info)
 UserFunction called when Batch Convert start, pauses, resumes, and stops. More...
 
typedef void(* SystemFunc_MultilineStyleChanged )(MlineStyleMsgType reason, MlineStyleAsynchP asynchData)
 Called when multi-line styles are added, deleted, or modified in the file. More...
 
typedef void(* SystemFunc_SymbologyChanged )(SymbChangeMsgType reason, SymbChangeAsynchP asynchData)
 Called when the active symbology is changed. More...
 
typedef void(* SystemFunc_UpgradeV7ToV8 )(DgnFileP dgnFileObj, bool permanent, bool firstInBatchUpgrade)
 UserFunction called when BatchConvert upgrades a file from V7 to V8. More...
 
typedef bool(* SystemFunc_WindowsKeystrokeMessage )(void *windowID, UInt32 messageNumber, uintptr_t wParam, intptr_t lParam, long x, long y)
 UserFunction called for keystroke messages from Windows. More...
 
typedef void(* SystemFunc_BeforeReferenceWrite )(DgnModelRefP modelRef, bool newAttachment)
 UserFunction called before writing a reference attachment element. More...
 
typedef void(* SystemFunc_BeforeViewsOpen )()
 UserFunction called just before the views open. More...
 
typedef void(* SystemFunc_WorkspaceChanged )()
 UserFunction called when the workspace has changed. More...
 
typedef void(* SystemFunc_MessageCenterWrite )(DgnPlatform::OutputMessagePriority messageType, WCharCP pMessage, WCharCP pDetail, long detailMessageAttributes)
 UserFunction called when a message is written to the Message Center. More...
 
typedef void(* SystemFunc_PromptOutput )(WCharCP pText, WCharCP pCombinedText, int fieldNumber)
 UserFunction called when a prompt is written to the status bar. More...
 
typedef void(* SystemFunc_StatusOutput )(WCharCP pText, int fieldNumber)
 UserFunction called when a status message is written to the status bar. More...
 
typedef void(* SystemFunc_SelectedViewChanged )(int oldViewIndex, int newViewIndex, bool bFromButtonEvent)
 UserFunction called when the selected View window changes. More...
 
typedef void(* SystemFunc_TaskNavigationTaskChanged )(WCharCP pTaskPath, WCharCP pTaskName, int viewIndex, const void *pIconRsc)
 UserFunction called after the current UI task (e.g. More...
 
typedef void(* SystemFunc_MainToolBoxTaskChanged )(WCharCP previousPath, WCharCP newPath)
 UserFunction called after the current UI "main" task (e.g. More...
 
typedef StatusInt(* SystemFunc_LevelPreChange )(DgnModelRefP modelRef, UInt32 levelIdIn, LevelChangeType changeType)
 UserFunction called when MicroStation before a level is changed. More...
 
typedef void(* SystemFunc_LevelChange )(DgnModelRefP modelRef, UInt32 levelId, LevelChangeType changeTypeId)
 UserFunction called when a level is changed. More...
 
typedef void(* SystemFunc_LevelMaskCacheChange )(DgnModelRefP modelRef, UInt32 viewNumber)
 UserFunction called when MicroStation before the level mask cached is changed. More...
 
typedef void(* SystemFunc_FilterChange )(WCharCP pFilterTableName, UInt32 filterId, FilterChangeType changeTypeId)
 UserFunction called when the level filter is changed. More...
 
typedef void(* SystemFunc_ReferenceAttachQueue )(SystemRefAttachQueueState state)
 UserFunction called when MicroStation starts and ends processing of the reference attachment queue. More...
 
typedef void(* SystemFunc_TaskNavigationTaskChanging )(bool *cancelTaskChange, WCharCP currentPath, WCharCP newPath)
 UserFunction called before the active task is changed. More...
 
typedef void(* SystemFunc_ActiveElementTemplateChanged )(WCharCP previousPath, WCharCP newPath)
 UserFunction called after the active element template has changed. More...
 
typedef void(* SystemFunc_ClipboardUpdated )()
 UserFunction called when the Clipboard has been updated. More...
 
typedef void(* SystemFunc_DgnLibsChanged )(MstnPlatform::DgnLibSelector selectors)
 UserFunction called when the set of DgnLibs has been changed. More...
 
typedef void(* SystemFunc_RibbonBackstageOpened )()
 UserFunction called when the Ribbon's Backstage is opened. More...
 

Enumerations

enum  LockChanged_Events {
  LOCKCHANGED_Snap = 1, LOCKCHANGED_Grid = 2, LOCKCHANGED_Unit = 3, LOCKCHANGED_Angle = 5,
  LOCKCHANGED_Textnode = 6, LOCKCHANGED_Axis = 7, LOCKCHANGED_Scale = 8, LOCKCHANGED_GraphicGroup = 9,
  LOCKCHANGED_Level = 10, LOCKCHANGED_CellStretch = 11, LOCKCHANGED_ConstructionPlane = 13, LOCKCHANGED_Isometric = 14,
  LOCKCHANGED_Association = 15, LOCKCHANGED_Depth = 16, LOCKCHANGED_ConstructionPlanePerp = 17, LOCKCHANGED_FenceMode = 18,
  LOCKCHANGED_IsometricPlane = 19, LOCKCHANGED_UseAnnotationScale = 20, LOCKCHANGED_ACSContext = 21, LOCKCHANGED_ElementTemplateAssociation = 22,
  LOCKCHANGED_SharedCells = 23
}
 The types of lock-changed events that can be monitored. More...
 
enum  BatchProcessing_States {
  PROCESSSTATE_Inactive = 0, PROCESSSTATE_Processing = 1, PROCESSSTATE_Paused = 2, PROCESSSTATE_Done = 3,
  PROCESSSTATE_Cancelled = 4, PROCESSSTATE_OpeningFile = 5, PROCESSSTATE_AnalyzeFile = 6, PROCESSSTATE_ClosedFile = 7
}
 The possible batch processing states returned from mdlSystem_getBatchProcessingState. More...
 
enum  MlineStyleMsgType {
  MLINESTYLE_PreActivate = 0, MLINESTYLE_PostActivate, MLINESTYLE_PostAdd, MLINESTYLE_PostDelete,
  MLINESTYLE_PostChange, MLINESTYLE_UndoDelete, MLINESTYLE_UndoAdd, MLINESTYLE_UndoModify,
  MLINESTYLE_RedoDelete, MLINESTYLE_RedoAdd, MLINESTYLE_RedoModify, MLINESTYLE_PreActivateByName
}
 The reasons that SystemFunc_MultilineStyleChanged is called. More...
 
enum  SymbChangeMsgType {
  SYMBCHANGE_PreColorChange = 0, SYMBCHANGE_PostColorChange, SYMBCHANGE_PreWeightChange, SYMBCHANGE_PostWeightChange,
  SYMBCHANGE_PreLinestyleChange, SYMBCHANGE_PostLinestyleChange
}
 The reasons that SystemFunc_SymbologyChanged is called. More...
 

Functions

BatchProcessing_States mdlSystem_getBatchProcessingState ()
 Retrieve the current state of batch processing. More...
 

Detailed Description

Typedef Documentation

typedef void(* SystemFunc_AcsOperation)(WCharCP name, WCharCP description, DgnPlatform::ACSType acsType, AcsChangeType changeTypeId, IAuxCoordSysP acs, DgnPlatform::ACSEventType eventType)

UserFunction called when ACS changes.

Parameters
[in]nameThe ACS name.
[in]descriptionThe ACS description.
[in]acsTypeType of the ACS.
[in]changeTypeIdThe type of change that occurred.
[in]acsThe ACS
[in]eventTypeThe Event
typedef void(* SystemFunc_ActiveElementTemplateChanged)(WCharCP previousPath, WCharCP newPath)

UserFunction called after the active element template has changed.

If the path returned in enpty then the element template was set to "None".

Parameters
[out]previousPathThe previous element template path.
[out]newPathThe new element template path.
typedef void(* SystemFunc_ActiveParamChanged)(UInt32 paramType)

UserFunction called after one of the MicroStation "active parameters" has been changed.

Parameters
[in]paramTypeId of parameter that was just changed.
typedef void(* SystemFunc_AllMdlUnloads)(MdlDesc *unloadedApp, short exitReason, WCharCP taskId, bool keepStub)

UserFunction called for each app when all MDL apps are unloaded.

Parameters
[in]unloadedAppThe current application being unloaded
[in]exitReasonThe reason the application is exiting.
[in]taskIdThe task ID for the application being unloaded.
[in]keepStubWhether we should keep the stub.
typedef void(* SystemFunc_ApplicationAreaChange)()

UserFunction called when the Application Area is changed.

typedef void(* SystemFunc_BeforeReferenceWrite)(DgnModelRefP modelRef, bool newAttachment)

UserFunction called before writing a reference attachment element.

typedef void(* SystemFunc_BeforeViewsOpen)()

UserFunction called just before the views open.

typedef StatusInt(* SystemFunc_CellLibraryChange)(CellLibAsyncMsgP pCellLibAsyncMsg)

UserFunction called when the Cell Library changes.

Parameters
[in]startingPointer to a struct that can be used with mdlCellLibAsync_* functions.
Returns
A non-zero return will prevent the operation (attach or detach) from occurring.
typedef void(* SystemFunc_ClipboardUpdated)()

UserFunction called when the Clipboard has been updated.

typedef void(* SystemFunc_CmdWindowOpen)(void *cmdWindow)

UserFunction called when the Status Bar or Command Window has been created.

Parameters
[in]cmdWindowThe command window.
typedef void(* SystemFunc_ColorMapChange)(int screen, byte *colorTable, UInt32 *colorMap, DgnModelRefP modelRef)

UserFunction called when the colormap changes.

Parameters
[in]screenScreen this is applied to
[in]colorTableColor table.
[in]colorMapColor map.
[in]modelRefModelRef that the color map is in.
Returns
Return
typedef StatusInt(* SystemFunc_CompressDgnFile)(WCharP errorMessage, CompressType type)

UserFunction called during a file compress.

Parameters
[out]errorMessageError message to display if failure is returned. Maximum of 256 characters.
[in]typeWhether it's before or after compression.
Returns
Returning anything other than SUCCESS when type is PRE_COMPRESS_DGNFILE will abort the compress and display the error message.
typedef void(* SystemFunc_CompressDgnModel)(DgnModelP dgnModel, CompressType type)

UserFunction called during a file compress for each model.

Parameters
[in]dgnModel.Model to compress.
[in]typeWhether it's before or after compression.
typedef StatusInt(* SystemFunc_CreateLibraryCell)(MSElementDescrH elmdscrPP)

UserFunction called when a cell is added to a cell library (old method).

This will not be called when a model is created by directly editing a cell library.

Parameters
[in,out]elmdscrPPCell element descriptor being added.
Returns
Returning anything other than SUCCESS will stop the cell from being added.
typedef void(* SystemFunc_DgnCacheFill)(DgnModelP dgnCache, DgnPlatform::DgnModelSections sections, DgnModelFillContextP context)

UserFunction called before a DGN cache is filled.

Parameters
[in]dgnCachethe cache that is to be filled.
[in]sectionsthe sections that are to be filled.
[in]contextthe fill context.
typedef void(* SystemFunc_DgnCacheFilled)(DgnModelP dgnCache, DgnPlatform::DgnModelSections sections, DgnModelFillContextP context)

UserFunction called after a DGN cache is filled.

Parameters
[in]dgnCachethe cache that was filled.
[in]sectionsthe sections that were filled.
typedef void(* SystemFunc_DgnCacheUnloading)(DgnModelP dgnCache)

UserFunction called when after a DGN cache is about to be unloaded.

Parameters
[in]dgnCachethe cache that is unloading.
typedef void(* SystemFunc_DgnFileLoaded)(DgnFileP dgnFile)

UserFunction called after a DGN file is loaded.

NOTE: the DgnCaches have not yet been filled.

Parameters
[in]dgnFilethe file object that was loaded
typedef void(* SystemFunc_DgnFileUnloading)(DgnFileP dgnFile)

UserFunction called before a DGN file is unloaded.

Parameters
[in]dgnFilethe file object that is being unloaded
typedef void(* SystemFunc_DgnLibsChanged)(MstnPlatform::DgnLibSelector selectors)

UserFunction called when the set of DgnLibs has been changed.

NOTE: The user function is always called between closing one master file and opening the next.

Parameters
[in]selectorsThe set of selectors that were changed (one bit is set for each selector).
typedef void*(* SystemFunc_DialogFind)(RscType dialogType, RscId dialogId, MdlDescP ownerMD)

UserFunction called during a mdlDialog_findByTypeAndId call.

Parameters
[in]dialogTypeThe type of dialog being sought.
[in]dialogIdThe id of dialog being sought.
[in]ownerMDThe MDL app that owns the dialog.
Returns
If the application wants to provide a different dialog, it should be returned; else return NULL.
typedef void(* SystemFunc_DimStyleChange)(DgnModelRefP modelRef, DgnPlatform::ElementId styleIdIn, DimensionStyleChangeType changeType)

UserFunction called when a Dimension Style is changed.

Parameters
[in]modelRefThe modelRef containing the style.
[in]styleIdInthe ID of the style.
[in]changeTypeIdThe type of change that occurred.
typedef void(* SystemFunc_ElmDscrCopy)(EditElementHandleR eeh, DgnModelRefP sourceModelRef, DgnModelRefP destModelRef, bool preCopy)

UserFunction called when MicroStation is making a copy of persistent elements.

Parameters
[in]eehif preCopy, the original element handle to be copied; if !preCopy, the copy of the original element
[in]sourceModelRefwhere edPP is being copied from.
[in]destModelRefwhere edPP is being copied to.
[in]preCopytrue if pre-copy, false is post-copy.
Remarks
Note that the first argument, eeh, is the old element on the first (pre-copy) call and becomes the new element on the second (post-copy) call.
typedef ElmDscrToFile_Status(* SystemFunc_ElmDscrToFile)(ElmDscrToFile_Actions action, DgnModelRefP modelRef, UInt32 filePos, MSElementDescrP newEdP,MSElementDescrCP oldEdP,MSElementDescrH replacementEdPP)

The userSystem_elmDscrToFile function is called by MicroStation before

an element descriptor is written to the design file.

The function may modify the element(s) before they are written, or it may stop the operation from occurring at all.

Parameters
[in]actionindicates the reason that MicroStation called userSystem_elmDscrToFile. Possible values are:
Value for action Called when
ELMDTF_ACTION_APPEND New elements are added to the end of the file.
ELMDTF_ACTION_DELETE Existing elements are deleted from the file.
ELMDTF_ACTION_REPLACE Elements are overwritten in place.
[in]modelRefmodel containing this element
[in]filePosfile pos to modify
[in]newEdPthe new element being written to the file (or NULL when action==ELMDTF_ACTION_DELETE)
[in]oldEdPthe element in it's original state, in the case of ELMDTF_ACTION_DELETE or ELMDTF_ACTION_REPLACE. (NULL in the case of ELMDTF_ACTION_APPEND).
[out]replacementEdPPa pointer to a pointer to an element descriptor that is allocated and then returned by userSystem_elmDscrToFile. If userSystem_elmDscrToFile returns ELMDTF_STATUS_REPLACE, MicroStation writes this element descriptor to the file rather than the one pointed to by newEdP. Ownership of replacementEdPP is passed to MicroStation. It frees this element descriptor when it is done with it.
Returns
userSystem_elmDscrToFile function must return one of the following values:
Return Status Meaning
ELMDTF_STATUS_SUCCESS Proceed with operation unchanged.
ELMDTF_STATUS_ABORT Do not allow operation. Command that initiated the write receives a "write failed" status.
ELMDTF_STATUS_REPLACE Continue with the operation using the element descriptor pointed to by replacementEdPP. Not valid if action is ELMDTF_ACTION_DELETE.
Remarks
Implementations of this function can modify the element written to the file or replace the descriptor with a new descriptor. Alternatively, returning a status of ELMDTF_STATUS_ABORT causes the write to fail and the element is not added to the file.
This callback is established by calling SystemCallback::SetElmDscrToFileFunction.
newEdP and oldEdP are pointers to element descriptors that have the new and old element(s) respectively. When the value of action is ELMDTF_ACTION_APPEND, oldEdP is NULL. When the value of action is ELMDTF_ACTION_DELETE, newEdP is NULL.
typedef void(* SystemFunc_ExitDesignFileState)()

UserFunction called when exiting design file.

typedef void(* SystemFunc_FenceChanged)(FenceChangedType changeType)

UserFunction called when a fence is created or cleared.

Parameters
[in]changeTypeIndicates whether the fence was created or cleared.
typedef bool(* SystemFunc_FileOutdated)(DgnFileP dgnFile, DgnModelRefP modelRef, FileOutdatedCheck_Reason reason)

UserFunction called when MicroStation is checking to see whether a file that it is using is outdated.

(for example, to see whether a reference needs to be reloaded).

Parameters
[in]dgnFiledgnFileObjP to check
[in]modelRefdgnModelRefP, if checking whether a reference needs to be reloaded.
[in]reasonreason the file-outdated check was triggered.
Returns
Your function should return true if the local copy of the file is outdated, false otherwise
typedef void(* SystemFunc_FileSave)(DgnPlatform::ProcessChangesWhen when, DgnPlatform::DgnFileChanges changesFlag, DgnPlatform::DgnSaveReason reason, double timestamp, DgnFileP pFile)

UserFunction called to notify applications that a file is being

processed for "save changes".

Parameters
[in]whenindicates whether changes have been processed yet
[in]changesFlagindicates the changes processing action
[in]reasonindicates whether a user-request prompted the save action
[in]timestampthe system clock time value at the save action
[in]pFilethe file to which the changes are being saved
typedef void(* SystemFunc_FileSaveAs)(bool postSave, WCharCP destinationFileName)

UserFunction called when a file is saved to a different name.

Parameters
[in]postSaveIndicates whether the the call is before or after the save.
[in]destinationFileNameIf postSave is true AND it's an export, the created file name. Otherwise NULL.
typedef void(* SystemFunc_FilterChange)(WCharCP pFilterTableName, UInt32 filterId, FilterChangeType changeTypeId)

UserFunction called when the level filter is changed.

Parameters
[in]pFilterTableNameThe Filter Table name.
[in]filterIdthe ID of the filter.
[in]changeTypeIdThe type of change that occurred.
typedef void(* SystemFunc_LevelChange)(DgnModelRefP modelRef, UInt32 levelId, LevelChangeType changeTypeId)

UserFunction called when a level is changed.

Parameters
[in]modelRefThe modelRef identifying the file that contains the level.
[in]levelIdThe id of the level being changed.
[in]changeTypeIdThe type of change that occurred.
typedef void(* SystemFunc_LevelMaskCacheChange)(DgnModelRefP modelRef, UInt32 viewNumber)

UserFunction called when MicroStation before the level mask cached is changed.

Parameters
[in]modelRefThe model ref to indicate the file with the changing level mask.
[in]viewNumberThe view number.
typedef StatusInt(* SystemFunc_LevelPreChange)(DgnModelRefP modelRef, UInt32 levelIdIn, LevelChangeType changeType)

UserFunction called when MicroStation before a level is changed.

Parameters
[in]modelRefThe model ref to indicate the file.
[in]levelIdInThe level ID for the level being modified.
[in]changeTypeThe type of change.
Returns
Return a non-zero value to abort the change.
typedef void(* SystemFunc_LockChanged)(LockChanged_Events eventType)

UserFunction called after one of the MicroStation "locks" has been changed.

Parameters
[in]eventTypetype of lock that was just changed.
typedef void(* SystemFunc_MainToolBoxTaskChanged)(WCharCP previousPath, WCharCP newPath)

UserFunction called after the current UI "main" task (e.g.

via task navigation) has changed.

Parameters
[in]previousPathThe previous path used as the "main" task.
[in]newPathThe new (current) path used in the "main" task.
typedef void(* SystemFunc_MasterfileClosed)()

UserFunction called after the master file is closed.

typedef void(* SystemFunc_MdlChildTerminated)(MdlChildTerminated const *terminatedChild)

UserFunction called during the unload of a child application started by the current application.

Parameters
[in]terminatedChildThe application being terminated.
typedef bool(* SystemFunc_MenuBarChange)(WCharCP oldTaskIdP, WCharCP newTaskIdP, bool isNewTask, bool afterMenuBarActivated, DialogItem *menuBarDiP, WCharCP menuItemLabelP)

UserFunction called when a menu bar changes.

Parameters
[in]oldTaskIdPThe task ID for the old menu item.
[in]newTaskIdPThe task ID for the new menu item.
[in]isNewTaskTrue if it is calling the new task which is implementing the menubar, false if it is calling the old task.
[in]afterMenuBarActivatedFalse when called before the change, true when called after the change.
[in]menuBarDiPThe Dialog Item pointer for the menubar.
[in]menuItemLabelPThe menu item label.
Returns
Return true if the menubar changes.
typedef void(* SystemFunc_MessageCenterWrite)(DgnPlatform::OutputMessagePriority messageType, WCharCP pMessage, WCharCP pDetail, long detailMessageAttributes)

UserFunction called when a message is written to the Message Center.

Parameters
[in]messageTypeA message type/priority from msdefs.h (Eg. OutputMessagePriority::Error).
[in]pMessageThe message written to the Message Center.
[in]pDetailMore detail regarding the message. May be NULL.
[in]detailMessageAttributesAttributes for the detailed message MLTextItem.
typedef void(* SystemFunc_ModelChange)(DgnModelRefP modelRef, ModelChangeType changeTypeId)

UserFunction called when a model is changed.

Parameters
[in]modelRefThe modelRef being changed.
[in]changeTypeIdThe type of change that occurred.
typedef void(* SystemFunc_ModelRefDestroy)(DgnModelRefP modelRef)

UserFunction called after the master file is closed.

Parameters
[in]modelRefThe modelref being destroyed.
typedef void(* SystemFunc_MonitorBatchConvert)(BatchConvert_Info const *info)

UserFunction called when Batch Convert start, pauses, resumes, and stops.

Parameters
[in]infoThe Information about the current state of the batch conversion process
typedef void(* SystemFunc_MonitorBatchProcessing)(BatchProcessing_States state)

UserFunction called when Batch Processing start, pauses, resumes, and stops.

Parameters
[in]stateThe state, one of the BatchProcessing_State enum values.
typedef void(* SystemFunc_MonitorViewCommands)(bool starting)

UserFunction called when MicroStation starts or exits from a viewing command.

Parameters
[in]startingtrue when the viewing command is starting, false when it is exiting.
typedef void(* SystemFunc_MultilineStyleChanged)(MlineStyleMsgType reason, MlineStyleAsynchP asynchData)

Called when multi-line styles are added, deleted, or modified in the file.

Also called when the active multi-line style is changed.

Parameters
[in]reasonThe reason the asynch is called. See MlineStyleMsgType.
[in]asynchDataAn opaque pointer to the information. See mdlMlineStyleAsynch_getNew, mdlMlineStyleAsynch_getOld, and mdlMlineStyleAsynch_getModelRef.
typedef bool(* SystemFunc_NativeExceptionHandler)(int exceptionCode, void *exceptionPointersP, MdlDesc *applicationCausingException)

UserFunction called when a call into native code results in an operating system exception (such as an access violation).

Parameters
[in]exceptionCodecode number for native OS exception that occurred
[in]exceptionPointersPpointer to native EXCEPTION_POTERS structure
[in]applicationCausingExceptionthe current MDL descriptor at the time the application occurred.
Returns
this function can return true to indicate that the application should be unloaded as a result of the exception.
typedef void(* SystemFunc_NewDesignFile)(WCharCP fileP, NewDesignFileReason state)

UserFunction called when a new design file is opened.

Parameters
[in]filePThe name of the file being opened.
[in]stateWhether the call is when the old file is closed or just after the new one is opened.
typedef void(* SystemFunc_PromptOutput)(WCharCP pText, WCharCP pCombinedText, int fieldNumber)

UserFunction called when a prompt is written to the status bar.

Parameters
[in]pTextThe prompt text.
[in]pCombinedTextThe built prompt with command and prompt text.
[in]fieldNumberThe fieldNumber. 0-Status, 1-Message, 2-Command, 3-Prompt, 4-Keyin, 5-Error
typedef bool(* SystemFunc_QueryHasPending)(DgnFileP pDgnFileObj)

UserFunction called during a save to allow listeners to say that there are changes and the file must be saved.

Parameters
[in]pDgnFileObjThe file being tested.
Returns
Return true if the file has pending changes and should be saved.
typedef StatusInt(* SystemFunc_ReferenceAttach)(WCharP fileName, WCharCP fullSavedPath, DgnModelRefP parentModelRef, WCharCP providerId, DgnPlatform::ElementId attachmentId)

UserFunction called before a reference is attached.

Parameters
[in,out]fileNameThe filename of the reference.
[in]fullSavedPathThe full path to the reference.
[in]parentModelRefThe modelRef that the reference is being attached to.
[in]providerIdThe provider.
[in]attachmentIdElement ID for the newly created reference element.
Returns
Returning anything other than SUCCESS will stop the reference from being attached.
typedef void(* SystemFunc_ReferenceAttached)(DgnModelRefP modelRef, DgnPlatform::DgnAttachmentAttachedReason cause)

UserFunction called after a reference is attached.

Parameters
[in]modelRefThe modelRef containing the reference.
[in]fileNameThe name of the reference file being detached.
[in]causeThe reason the message was sent.
typedef void(* SystemFunc_ReferenceAttachQueue)(SystemRefAttachQueueState state)

UserFunction called when MicroStation starts and ends processing of the reference attachment queue.

Parameters
[in]stateThe queue state.
typedef StatusInt(* SystemFunc_ReferenceDetach)(DgnModelRefP modelRef)

UserFunction called before a reference is detached.

Parameters
[in]modelRefThe modelRef for the reference.
Returns
Returning anything other than SUCCESS will stop the reference from being detached.
typedef void(* SystemFunc_ReferenceDetached)(DgnModelRefP modelRef, WCharCP fileName, DgnPlatform::DgnAttachmentDetachedReason cause)

UserFunction called after a reference is detached.

Parameters
[in]modelRefThe modelRef containing the reference.
[in]fileNameThe name of the reference file being detached.
[in]causeThe reason the message was sent.
typedef void(* SystemFunc_ReferenceModified)(DgnAttachmentCP pOldRef, DgnAttachmentCP pNewRef, DgnModelRefP modelRef, bool changesWritten, bool isUndo)

UserFunction called when a reference is changed.

Parameters
[in]pOldRefThe reference before the change.
[in]pNewRefThe reference after the change.
[in]modelRefThe modelRef being containing the references.
[in]changesWrittenWhether the changes have been written.
[in]isUndoWhether the changes are a result of undo operation.
typedef void(* SystemFunc_ReferenceNesting)(DgnModelRefP refModelRef, DgnPlatform::RefAttachNestMode nestFlag, int nestDepth, DgnPlatform::RefAttachNestMode previousNestFlag, int previousNestDepth, bool changeExisting)

UserFunction called after user has selected a refernce file/model and established the attachment settings, just before the nested references are loaded.

This hook can be used to make sure the nested references are available before MicroStation attempts to load them.

Parameters
[in]refModelRefthe reference modelRef that is getting attached
[in]nestFlagone of RefAttachNestMode::None, RefAttachNestMode::Copy, RefAttachNestMode::Display
[in]nestDepththe nesting depth requested for the new attachment
[in]previousNestFlagthe previous nesting flag of the attachment
[in]previousNestDepththe previous nesting depth of the attachment
[in]changeExistingtrue for an existing attachment, false for a new attachment
typedef void(* SystemFunc_ReloadProgram)(int argc, WCharCP argv[])

UserFunction called for each app when an MDL app is reloaded.

The arguments are the same as a call to MdlMain().

Parameters
[in]argcNumber of arguments in argv.
[in]argvAn array of strings containing the arguments to the application.
typedef void(* SystemFunc_RibbonBackstageOpened)()

UserFunction called when the Ribbon's Backstage is opened.

typedef void(* SystemFunc_SaveSettings)()

UserFunction called when the settings are saved.

typedef void(* SystemFunc_SelectedViewChanged)(int oldViewIndex, int newViewIndex, bool bFromButtonEvent)

UserFunction called when the selected View window changes.

Parameters
[in]oldViewIndex0-based index of the View window which had been previously selected.
[in]newViewIndex0-based index of the View window being selected.
[in]bFromButtonEventTrue if the call is from a user button event.
typedef void(* SystemFunc_StatusOutput)(WCharCP pText, int fieldNumber)

UserFunction called when a status message is written to the status bar.

Parameters
[in]pTextThe status text.
[in]fieldNumberThe fieldNumber. 0-Status, 1-Message, 2-Command, 3-Prompt, 4-Keyin, 5-Error
typedef void(* SystemFunc_SymbologyChanged)(SymbChangeMsgType reason, SymbChangeAsynchP asynchData)

Called when the active symbology is changed.

This includes color, weight, and line style. Note that it is possible for applications to change the values in the TCB directly and circumvent these messages. However, most applications will use a call to mdlParams_setActive or the keyins for ACTIVE COLOR, etc.

Parameters
[in]reasonThe reason the asynch is called. See SymbChangeMsgType.
[in]asynchDataAn opaque pointer to the information. See mdlSymbChangeAsynch_getOldColor, mdlSymbChangeAsynch_getNewColor, mdlSymbChangeAsynch_getOldWeight, mdlSymbChangeAsynch_getNewWeight, mdlSymbChangeAsynch_getOldLineStyle, mdlSymbChangeAsynch_getNewLineStyle.
typedef void(* SystemFunc_TaskNavigationTaskChanged)(WCharCP pTaskPath, WCharCP pTaskName, int viewIndex, const void *pIconRsc)

UserFunction called after the current UI task (e.g.

via task navigation) has changed.

Parameters
[in]pTaskPathPath to the current task.
[in]pTaskNameDisplay name of the current task.
[in]viewIndexIndex of the associated view; -1 if Task Navigation not configured to be "in views".
[in]pIconRscIconRsc associated with the current task.
See also
SystemFunc_TaskNavigationTaskChanging
typedef void(* SystemFunc_TaskNavigationTaskChanging)(bool *cancelTaskChange, WCharCP currentPath, WCharCP newPath)

UserFunction called before the active task is changed.

This allows users to cancel the task change, leaving the current task active. As soon as the first listener sets cancelTaskChange, further changes to cancelTaskChange are ignored, and the task change will be cancelled.

Remarks
Under normal circumstances, the TaskChanging async will be issued, and if not cancelled, will immediately be followed by a TaskChanged async for the same task. Exceptions to this rule include:
1. When a workflow is selected in the task navigation dialog, the workflow
itself will first send the TaskChanging event to validate whether
the workflow can be activated. If valid, this will NOT be followed
by a TaskChanged event. Instead, it will be followed by a second
TaskChanging event for the task within the workflow that is activated.
Assuming success at this point, a TaskChanged message will be sent
for the task that was just activated.

2. When a task navigation dialog first opens, it will issue a TaskChanging
event to validate the dialog root, which will not be followed up by an
an immediate TashChanged event; similar to #1 above. Additionally, if
the 'All Tasks' task navigation dialog is already open and a user cancels
a new dialog's root path, no additional events will be fired (as the
existing 'All Tasks' dialog is focused and left in its current state);
as opposed to the initial open task's changing and changed events.

Additionally, keep in mind that this async should be used for validation only. This specifically means that you should NOT perform any actions that affect the state of the task navigation dialog or toolbox. Performing any such actions during this async could place the dialog or toolbox in an invalid state.

Parameters
[out]cancelTaskChangeIf set to true, the task change will be cancelled.
[in]currentPathThe current task path.
[in]newPathThe proposed task path to activate.
typedef void(* SystemFunc_TextStyleChange)(DgnModelRefP modelRef, UInt32 styleId, TextStyleChangeType changeTypeId)

UserFunction called when a Text Style is changed.

Parameters
[in]modelRefThe modelRef containing the style.
[in]styleIdthe ID of the style.
[in]changeTypeIdThe type of change that occurred.
typedef bool(* SystemFunc_UnloadProgram)(UnloadProgramReason reason)

UserFunction called during the unload of an application.

Parameters
[in]reasonThe reason that the application is exiting.
Returns
Return true to prevent the application from unloading.
typedef void(* SystemFunc_UpdateSequenceChanged)(DgnModelRefP modelRef, UpdateSequenceListP sequence)

UserFunction called when MicroStation is setting the update sequence for a modelRef.

Parameters
[in]modelRefmodelRef for which update sequence is being set.
[in]sequencethe update sequence
typedef void(* SystemFunc_UpgradeV7ToV8)(DgnFileP dgnFileObj, bool permanent, bool firstInBatchUpgrade)

UserFunction called when BatchConvert upgrades a file from V7 to V8.

Parameters
[in]dgnFileObjFile being upgraded
[in]permanent
[in]firstInBatchUpgrade
typedef void(* SystemFunc_ViewGroupCacheChange)(WCharCP nameP, WCharCP descriptionP, ViewGroupChangeType changeTypeId)

UserFunction called when ViewGroup cache changes.

Parameters
[in]namePThe ViewGroup name.
[in]descriptionPThe ViewGroup description.
[in]changeTypeIdThe type of change that occurred.
typedef bool(* SystemFunc_WindowClose)(MSWindowP gwP, int closeReason)

UserFunction called when a window is closed.

Parameters
[in]gwPThe window being closed.
[in]closeReasonThe reason for the async call. Values from HideReasonCode enum.
Returns
Return true if the window can be closed and false to keep it open.
typedef bool(* SystemFunc_WindowsKeystrokeMessage)(void *windowID, UInt32 messageNumber, uintptr_t wParam, intptr_t lParam, long x, long y)

UserFunction called for keystroke messages from Windows.

Parameters
[in]windowIDThe ID of the window.
[in]messageNumberWindows message.
[in]wParamMessage parameters.
[in]lParamMessage parameters.
[in]xX coordinate.
[in]yY coordinate.
Returns
Return true if the message has been handled.
typedef void(* SystemFunc_WorkspaceChanged)()

UserFunction called when the workspace has changed.

Enumeration Type Documentation

The possible batch processing states returned from mdlSystem_getBatchProcessingState.

or in BatchConvert_Info structure.

Enumerator
PROCESSSTATE_Inactive 
PROCESSSTATE_Processing 
PROCESSSTATE_Paused 
PROCESSSTATE_Done 
PROCESSSTATE_Cancelled 
PROCESSSTATE_OpeningFile 
PROCESSSTATE_AnalyzeFile 
PROCESSSTATE_ClosedFile 

The types of lock-changed events that can be monitored.

Enumerator
LOCKCHANGED_Snap 
LOCKCHANGED_Grid 
LOCKCHANGED_Unit 
LOCKCHANGED_Angle 
LOCKCHANGED_Textnode 
LOCKCHANGED_Axis 
LOCKCHANGED_Scale 
LOCKCHANGED_GraphicGroup 
LOCKCHANGED_Level 
LOCKCHANGED_CellStretch 
LOCKCHANGED_ConstructionPlane 
LOCKCHANGED_Isometric 
LOCKCHANGED_Association 
LOCKCHANGED_Depth 
LOCKCHANGED_ConstructionPlanePerp 
LOCKCHANGED_FenceMode 
LOCKCHANGED_IsometricPlane 
LOCKCHANGED_UseAnnotationScale 
LOCKCHANGED_ACSContext 
LOCKCHANGED_ElementTemplateAssociation 
LOCKCHANGED_SharedCells 

The reasons that SystemFunc_MultilineStyleChanged is called.

Enumerator
MLINESTYLE_PreActivate 

Called before a multi-line style is activated.

MLINESTYLE_PostActivate 

Called after a multi-line style is activated.

MLINESTYLE_PostAdd 

Called before a multi-line style is added to the file.

Return anything other than SUCCESS to block the operation. Called after a multi-line style is added to the file.

MLINESTYLE_PostDelete 

Called before a multi-line style is deleted from the file.

Return anything other than SUCCESS to block the operation. Called after a multi-line style is deleted from the file.

MLINESTYLE_PostChange 

Called before a multi-line style is modified in the file.

Return anything other than SUCCESS to block the operation. Called after a multi-line style is changed in the file.

MLINESTYLE_UndoDelete 

Called after a multi-line style delete is undone.

This is an add operation.

MLINESTYLE_UndoAdd 

Called after a multi-line style add is undone.

This is a delete operation.

MLINESTYLE_UndoModify 

Called after a multi-line style modification is undone.

MLINESTYLE_RedoDelete 

Called after a multi-line style delete is redone.

This is a delete operation.

MLINESTYLE_RedoAdd 

Called after a multi-line style add is redone.

This is an add operation.

MLINESTYLE_RedoModify 

Called after a multi-line style modification is redone.

MLINESTYLE_PreActivateByName 

Called before a multi-line style is activated by name; this allows the dialog to apply any local modifications.

The reasons that SystemFunc_SymbologyChanged is called.

Enumerator
SYMBCHANGE_PreColorChange 
SYMBCHANGE_PostColorChange 
SYMBCHANGE_PreWeightChange 
SYMBCHANGE_PostWeightChange 
SYMBCHANGE_PreLinestyleChange 
SYMBCHANGE_PostLinestyleChange 

Function Documentation

BatchProcessing_States mdlSystem_getBatchProcessingState ( )

Retrieve the current state of batch processing.

Remarks
The Batch processing state is set by the batchprocess app.
Returns
the current batch processing state.
Remarks
Required Library: mdlbltin.lib

Copyright © 2017 Bentley Systems, Incorporated. All rights reserved.