MKI_NOTIFY_* (Plug-In Notification Command) Changed in Version 2023.2

www.CAD6.com

Command defining the action to be performed by a plug-in when called via the MKI_PlugInNotify procedure. The interpretation of the Ext and the Data parameters, as well as the list of expected return values of that procedure will depend on this command. Possible values are:

 

 

Mandatory Commands

The following commands must be supported by all plug-ins that use extended objects:

 

Undo-Aware Entity Creation and Modification

MKI_NOTIFY_MODIFY_INIT New in Version 2023.0

The application starts an undo-aware multi entity modification process in the progress of which any extended object might be modified. Allocate and initialize any data now that you require to log all changes in order to later react correctly.

 

MKI_NOTIFY_MODIFY_FINISH New in Version 2023.0

The undo-aware multi entity modification process started by the application was successfully finished. If required, update all extended objects that were changed and/or update all related resources.

 

MKI_NOTIFY_MODIFY_CANCEL New in Version 2023.0

The undo-aware multi entity modification process started by the application was canceled, all changes were reverted. Free any memory allocated to store the changes and revert any changes you may already have applied to the extended objects.

 

MKI_NOTIFY_EXT_INIT Changed in Version 2020.1

The object Ext shall be initialized, i.e. a new display list shall be created. Since this command may be called while loading a drawing or library file, do not try to access any other object or block in the drawing or any library unless explicitly stated in the call stack pointed to by Data!

 

MKI_NOTIFY_EXT_CREATE New in Version 2023.0

The object Ext has been created, i.e. allocated in memory. Any resource linked to that object shall be initialized now.

 

MKI_NOTIFY_EXT_MODIFY New in Version 2023.0

The object Ext shall be modified, i.e. it shall be multiplied with a matrix.

 

MKI_NOTIFY_EXT_HIDE New in Version 2023.0

The object Ext was hidden, i.e. was made invisible by the undo structure. Any resource linked to that object will usually remain valid.

 

MKI_NOTIFY_EXT_SHOW New in Version 2023.0

The object Ext will become visible again by the undo structure. Any resource linked to that object can be checked and updated if necessary.

 

MKI_NOTIFY_EXT_DESTROY New in Version 2023.0

The object Ext will be destroyed, i.e. permanently removed from memory. Any resource linked to that object shall be freed now.

 

Information Retrieval

MKI_NOTIFY_EXT_GET_TITLEPTR Renamed in Version 2023.0

The plug-in shall return the address of a textual, general description of objects of the same type as Ext (this is used if multiple objects of this type are to be described as a whole). The address returned must point to a static text which permanently exists.

 

MKI_NOTIFY_EXT_GET_CONTENT Renamed in Version 2020.0

The plug-in shall return a textual, specific description of an extended object (this is used to describe this very object as detailed as possible).

 

MKI_NOTIFY_EXT_GET_INFORMATION New in Version 2023.1

The plug-in shall return textual information about an extended object that contains all property-like information that is beyond the content of a MKI_XPROPERTY set (e.g. the 3D space assignment in the 3D plug-in).

 

MKI_NOTIFY_EXT_GET_PROPERTY New in Version 2023.1

The plug-in shall process all properties of the extended object and apply them to the given multi-entity extended property set.

 

Context Menu Handling

MKI_NOTIFY_EXT_CONTEXT_FILL New in Version 2023.2

The plug-in shall fill the given context menu command list based on the given extended object.

 

MKI_NOTIFY_EXT_CONTEXT_APPLY New in Version 2023.2

The plug-in shall apply one of its context menu commands to the extended object. This will be called if the user chose one of the context menu commands previously returned.

 

MKI_NOTIFY_EXT_CONTEXT_HELP New in Version 2023.2

The plug-in shall display help on the given context menu command. This will be called if the user presses F1 over a context menu command previously returned.

 

 

Optional Collection / Pinboard Commands

The following commands are supported both for standard plug-ins as well as for import and export filters (if they provide a MKI_PlugInNotify procedure at all) and are required if the plug-in creates custom collection and/or pinboard items:

 

MKI_NOTIFY_ITEM_GET_TITLE New in Version 2020.0

The plug-in shall return a textual description of collection or pinboard items of the same type as given in Data (e.g. "Color Gradient" or "DXF Export Settings").

 

MKI_NOTIFY_ITEM_GET_CONTENT New in Version 2020.0

The plug-in shall return a textual description of the specific collection or pinboard item's content.

 

MKI_NOTIFY_ITEM_EDIT_CONTENT New in Version 2022.0

The plug-in shall display a dialog to edit the specific collection or pinboard item's content.

 

MKI_NOTIFY_ITEM_COPY New in Version 2020.0

The user wants to copy this very pinboard item to the collection.

 

 

Optional Commands

The following commands shall only be supported if either indicated by the type of extended objects the plug-in handles or if it offers special implementations of features such as on-screen user feedback, point snapping, object identification, text search, or text attribute resolution:

 

MKI_NOTIFY_EXT_CHECK New in Version 6.41

The object Ext has just been loaded from file or clipboard. It shall now be checked for correct content and adjusted if necessary. Since this command may be called while loading a drawing or library file, do not try to access any other object or block in the drawing or any library!

 

MKI_NOTIFY_EXT_ENUM New in Version 6.31

The plug-in shall enumerate the object Ext based on the information in Data. This action is the result of another plug-in calling MKI_EnumerateExt.

 

User Interaction

MKI_NOTIFY_EXT_SNAP New in Version 6.32

The plug-in shall locate any virtual definition point in an extended object that can be snapped by the user.

 

MKI_NOTIFY_EXT_IDENT New in Version 6.32

The plug-in shall enumerate all data required for object identification of Ext, i.e. all outline elements of Ext that can be identified by the user, based on the information in Data.

 

MKI_NOTIFY_EXT_POINT_IDENT New in Version 2018.0

The plug-in shall (de-)identify points based on the information in Data. This is the result of a point identification requested by the plug-in using the MKI_POINTMODE_EXT_POINT mode.

 

MKI_NOTIFY_EXT_GET_SHORTTEXT New in Version 2020.2

The plug-in shall return the most important textual content of Ext for display and identification purposes (e.g. comments, names, etc.).

 

MKI_NOTIFY_FIND_TEXT New in Version 2016.1

The plug-in shall return the complete textual contents of Ext for searching purposes.

 

MKI_NOTIFY_EDIT_TEXT_SINGLE Changed in Version 2020.2

The plug-in shall display a dialog that allows text editing for one single text within an extended object.

 

MKI_NOTIFY_EDIT_TEXT_MULTI New in Version 2020.2

The plug-in shall display a dialog that allows text editing for all texts within an extended object at once.

 

MKI_NOTIFY_VIEW_TEXT_MULTI New in Version 2020.2

The plug-in shall display a dialog that displays all texts within an extended object at once.

 

MKI_NOTIFY_EDIT_PARAMETER New in Version 2023.2

The plug-in shall display a dialog that allows parameter editing for special parameters within an extended object. Special parameters are beyond the scope of normal property editing as they may change the number, order, or size of data blocks in the extended object itself.

 

MKI_NOTIFY_VIEW_PARAMETER New in Version 2023.2

The plug-in shall display a dialog that displays special parameters within an extended object.

 

MKI_NOTIFY_FIND_ATTRIBUTE New in Version 2018.0

The plug-in shall return the textual value of an "attribute" of the extended object if existing. This will be called during variable resolving.

 

MKI_NOTIFY_EDIT_ATTRIBUTE New in Version 2017.1

The plug-in shall display a dialog that allows attribute editing for a single attribute stored in Data.

 

Temporary Display List

MKI_NOTIFY_LIST_START Changed in Version 2020.1

The plug-in shall create a temporary display list for the object Ext. This temporary display list will then be used by the application for any kind of read-only operation (such as displaying, snapping, identification).

 

MKI_NOTIFY_LIST_END New in Version 2018.0

The plug-in shall delete the temporary display list for the object Ext, the application no longer needs it.

 

Property Editing

MKI_NOTIFY_PROPERTY_INIT

The plug-in shall prepare for a property editing of any extended objects it knows, e.g. allocate memory used to store the properties during editing.

 

MKI_NOTIFY_PROPERTY_SETALL New in Version 2016.0

All flags for multi-entity editing of the extended object type stated in Data shall be set to "modify".

 

MKI_NOTIFY_PROPERTY_FILL

The plug-in shall use the properties of Ext to fill in a structure that is used for property editing. All standard properties of Ext shall be copied to Data, if applicable.

 

MKI_NOTIFY_PROPERTY_SINGLE

The plug-in shall display a dialog that allows property editing for a single object of the same type as Ext.

 

MKI_NOTIFY_PROPERTY_MULTIPLE

The plug-in shall display a dialog that allows property editing for multiple objects of the same type as Ext.

 

MKI_NOTIFY_PROPERTY_APPLY Changed in Version 6.10

The plug-in shall apply the properties stored in the structure related to Ext, plus all standard properties set in Data, if applicable.

 

MKI_NOTIFY_PROPERTY_EXIT

The plug-in shall end the property editing, e.g. free memory allocated to store the properties.

 

MKI_NOTIFY_PROPERTY_BASEAPPLY New in Version 2013.0

The plug-in shall apply only the standard properties set in Data, if applicable.

 

Additional On-Screen Feedback

MKI_NOTIFY_DISPLAY_INIT New in Version 6.30

The serving application starts a screen buffer output. The plug-in shall display any additional feedback data that shall lie behind the drawing's objects.

 

MKI_NOTIFY_DISPLAY_EXT_START New in Version 2013.0

The plug-in shall display any additional feedback related to the object Ext. This action takes place each time before the application starts parsing the display list of Ext during screen display.

 

MKI_NOTIFY_DISPLAY_CALLBACK New in Version 6.30

The plug-in shall display additional feedback related to a callback object in the display list of Ext. This action takes place each time the application finds an object of type MKI_OBJ_CALLBACK in the display list of Ext during screen display.

 

MKI_NOTIFY_DISPLAY_EXT_END New in Version 2013.0

The plug-in shall display any additional feedback related to the object Ext. This action takes place each time after the application has finished parsing the display list of Ext during screen display.

 

MKI_NOTIFY_DISPLAY_EXIT New in Version 6.30

The serving application ends a screen buffer output. The plug-in shall display any additional feedback data that shall lie in front of the drawing's objects. This action takes place each time the application redraws a part of a drawing window during screen display.

 

MKI_NOTIFY_DISPLAY_TEMP New in Version 6.40

The serving application ends a screen output. The plug-in shall display any additional, object-independent feedback data that shall lie in front of the drawing area. This action takes place each time the application redraws a part of a drawing window or the cursor is moved.

 

MKI_NOTIFY_DISPLAY_IDENT New in Version 2018.0

The plug-in shall display any additional, identification-related feedback data (such as selected points or outlines). This action takes place each time the application redraws a part of a drawing window.

 

Notification of Global Data Change

MKI_NOTIFY_UPDATE_DATABASE New in Version 2012.1

Notifies the plug-in of the fact that a database's content has changed. Any plug-in using data from that database shall update all effected entities.

 

MKI_NOTIFY_UPDATE_ELEMENTS New in Version 2022.2

Notifies the plug-in of the fact that elements of the drawing (such as layers, pens, etc.) have been changed and that it should update any data that depends on those changes.

 

CAD6interface 2024.2 - Copyright 2024 Malz++Kassner® GmbH