M-Files UI Extensibility Framework
Project Overview
Description
M-Files UI Extensibility Framework reference documentation.
Interfaces
Class ModuleDescription
ICommands interface provides methods for managing user defined (custom) commands
ICommonFunctions interface provides helper methods for M-Files API object creation, error handling and data persistency. This interface is accessible directly through the MFiles variable.
IDashboard interface can be used from the dashboard's implementation. It enables access to the parent object and the underlying window. Also the access to the custom data that was passed to the dashboard when it was opened is provided.
IEvents interface allows explicit event handler registrations to be made. The alternative is to use the implicit mechanism by implementing the event handlers with pre-defined names e.g. Event_Started -> OnStarted, Event_Stop -> OnStop etc. 
ISearchPane interface provides means to manage search pane visibility and to query its availability.
The IShellFrame is the central interface that models the whole M-Files Shell. It provides access to all the other UI parts: listing, side panes, search pane and task pane. It enables access to the custom commands creation interface.
IShellItems is an interface for accessing the content of M-Files Shell listing items. The set of all items currently visible in the listing are represented as an IShellItems as well as the set of currently selected items.
The IShellListing interface enables managing the listing in M-Files Shell. The items in the listing as well as the selection can be tracked and modified.
IShellPaneContainer is a common interface for the embedded bottom pane and right pane. The interface enables managing the pane content, size and visibility.
An interface for managing a shell pane tab.
The IShellUI interface corresponds to the Windows Explorer window. It outlives the IShellFrame instances that get destroyed and re-created every time the folder or view is changed. IShellUI makes it possible to control the Windows Explorer window, to show message boxes and dashboards so that the dashboards' parent object is not invalidated when navigating to a different view in the M-Files and it also makes it possible to send notifications to the scripts that are executed in the vaultui or vaultcore environments.
ITaskPane interface provides means to manage task pane commands, graphics, visibility and to query its availability.
Enables accessing and controlling the content of the top pane in the M-Files client application.
IVaultUI interface is the root interface that is given to the scripts that are executed in the vaultcore environment.
The IVaultEntry interface acts as a mediator between the IVaultCore and the IVaultUI interfaces. The scripts executed in the vaultcore environment receive the IVaultCore interface as the root interface but the actual main interface that is used is the IVaultEntry that can be retrieved from the IVaultCore. IVaultEntry supports all the M-Files Client events.
IVaultUI interface is the root interface that is given to the scripts that are executed in the vaultui environment. It enables showing message boxes and dashboards from MFStatus.exe.
IWindow interface makes it possible to control dashboard's outer window object when it has been opened as a popup.
Public Enumerations
EnumerationDescription
The "BuiltinCommand" enumeration contains all the IDs of the built-in commands that can be hidden, shown, disabled, or enabled in the menus and on the task area. This enumeration is used in conjunction with the SetCommandState method.
The CommandLocation enumeration specifies the location for the M-Files command when it is displayed in the user interface. This enumeration is used in conjunction with the SetCommandState method.
The CommandState enumeration specifies the visibility state for the M-Files command when it is displayed in the user interface. This enumeration is used in conjunction with the SetCommandState method.
The DefaultIcon enumeration contains all default icons built in to the M-Files.
The Event enumeration collectively lists all events.
It is recommended to use the event name instead of its corresponding numeric value.
The platform type of the application.
Enumerations for the emptiness state of a listing.
The MenuLocaton enumeration contains all context menu locations into which the custom commands can be added.
Enumerations for the contents of navigation history.
Enumerations for search features.
The TaskPaneGroup enumerates the built in task pane command groups.