IWorkArea Interface
The IWorkArea interface is the common base of all interfaces used for implementing windows.
Purpose
The IWorkArea interface is the common base of all interfaces used for implementing windows. The interface's properties and methods are used for sending messages from the framework to the window and for reading window data through the framework.
IMessageHandable.MessageHandler
IWorkArea is derived from the IMessageHandable interface. This interface inherits a handler for window messages:
void MessageHandler(WindowMessage)
MessageHandler is a method which processes messages from the framework to the plug-in, as with IApplicationComponent.RequestHandler. The following table gives an overview of the most important events and messages sent to the window when the events appear.
Message Type | Event | See |
---|---|---|
Activated | The window was activated. | Element window (Sample 2) |
Deactivated | The window was deactivated. | |
Closing | The window will be closed. | Element window (Sample 2) |
SelectionChanged | The selection was changed. | Selection |
Refresh | Model elements were modified. | Refresh Windows |
SwitchRole | The role or administrator login has changed. | |
Unlocking | Model elements are being unlocked. | Element window (Sample 2) |
IWorkArea.Selection and IWorkArea.SelectionPropagation
ElementSet Selection { get; set; }
SelectionType SelectionPropagation { get; }
Both of these properties regulate the behavior of the window regarding the selection. You can find more information about this in the following sections.
IWorkArea.CanExeCmd and IWorkArea.ExecuteCmd
bool CanExeCmd(object, CanExecuteRoutedEventArgs)
bool ExecuteCmd(object, ExecutedRoutedEventArgs)
Both of these methods have the same functions as they also have in the ICommandDispatchable interface.
Attention
A window can only process commands if it is active, i.e. is in the input focus. The dispatcher methods for all inactive windows are not called when a command is executed.