PlugIns
From RealWorld Wiki
Plug-ins are the core of RealWorld Designer. Almost everything that could have been designed as plug-in, is a plug-in, usually following the cooperating plug-ins design pattern. The reason is simple - flexibility and power. It is very seldom necessary to modify existing code, addition of new component and reconfiguration is usually sufficient.
[edit] Types of plug-ins
- Image format recognitor / decoder and encoder - 3 types of plug-ins actually
- Storage - access persistent storages
- Document factory - recognize file format and read document from persistent storage
- Document creator - create new documents using wizards
- Operation - execute an operation on a document
- Transformation - create a document from another one
- Menu commands - a sub-tree with executable commands (1 plug-in = multiple commands)
- View - visualize and modify data of a document
- Renderer - render 3D scene to an image or to a window
- Custom icons - icons used throughout the user interface
- Application tools (deprecated) - document independent menu commands and custom status bar panes
- Drawing tools - modify image with interactive tools
- Fill styles - define how to fill shapes
- Scripting interface - expose internal data or provide speed-optimized services for scripted operations.
- Global configuration - the recommended way to preserve application-global data.
- Intelli-hints - system for delivering context dependent hints to the user in an unified manner.
[edit] Implementation
Plug-in is a COM class placed in a COM category. Each type of plug-in has an associated COM category. One COM class can be placed in multiple categories.