| C# | Visual Basic | Visual C++ |
public interface IPlugIn
Public Interface IPlugIn
public interface class IPlugIn
| All Members | Methods | Properties | |||
| Icon | Member | Description |
|---|---|---|
| InitializePlugIn()()() |
Initializes the plug in, called after the main form is displayed.
| |
| LoadPlugIn(IApplicationServices) |
Loads the plugin and stores a reference to the service container.
Called at application startup time.
| |
| PluginDescription |
A brief description of the plugin.
| |
| PluginName |
The descriptive name of the plugin.
| |
| RequestedLoadOrder |
Plugin load order. For external plugins start with values over 1000.
This is a simple way of handling dependencies of other services etc.
| |
| UnloadPlugIn()()() |
Called when the plugin is unloading (typically application shutdown).
|
Plugins are created during the load process. After all plugins are loaded they are sorted by the RequestedLoadOrder property. Next the LoadPlugIn(IApplicationServices) method is called on each in turn supplying a reference to IApplicationServices. Next the main application form is displayed and after all control creation is complete (i.e. after the Form Shown event) a call to InitializePlugIn()()() is made for each loaded plugin. This is where ICommand instances should be created and assigned to buttons, menus etc. These services provide access to the rest of the editor. As the main form is closing down, each plugins UnloadPlugIn()()() method is called.
The PluginLoaderBase class can be used to handle the basics of a plugin class to speed development.