1) UI plugins that can be used within the form system and a standard UI control, will not work. We have developed several for use within Specify (e.g. the Latitude/Longitude data entry widget). The following table describes the interfaces and classes that are used for UI plugins:
| Name |
Description |
Required |
| UIPluginable |
The main interface for a UI plugin. |
Yes |
| GetSetValueIFace |
Provides an interface for getting/setting data to/from the plugin for the form system. |
No |
| UIValidatable |
Enables the UI Plugin to participate in the validation system. |
No |
| UIPluginBase |
This is a handy abstract implementation base class that makes creating plugins easy. |
No |
2) All the main components within Specify are called "task" plugins, this includes all the tools on the tool bar and other components. There are only two required interfaces that need to be implemented to create a Specify plugin. Below is a list of the interfaces that can be used:
| Name |
Description |
Required |
| SecurityOtionIFace |
This enables the plugin to adequately paticipate within the security system. |
Yes |
| Taskable |
This defines the Task plugin |
Yes |
| CommandListener |
Enables the plugin to listen to application level message (e.g. shutdown)
|
No |
| SubPaneMgrListener |
This interface should be implemented if the plugin will display UI. |
No |
| BaseTask |
This is a handy abstract implementation base class that makes creating plugins easy. |
No |
At this time there is only a manual registration within an XML file. In the future there will be UI for installing and managing plugins.