Extending Boa Constructor
Boa can be extended by registering new Components, Controllers or Explorers.
Here is a backaground to the classes involved.
Companions
For every control/object that can participate in the Designer, there has to be
a Companion class. Companions implement the interfaces needed to interact with
the Inspector and the Designer. Companions can also define/override new properties
for an object not picked up through reflection.
MVC Pattern
The Boa IDE is built on the Model-View-Controller pattern.
Here is a quick rundown of the roles:
Models
Models usually represent the different types of source files. In the Editor the Model
is the object in the top level notebook. Users do not perform actions on the Model
directly but works through Views or Controllers.
Views
Views are visual classes that display or edit Models. In the Editor, Views plug into
the Model in a second level notebook. Actions on the View are published to the Editor
under the 'Edit' menu.
Controllers
Controllers are a gateway between the user and the Model. Controllers are also
factories for Models and manage the creation from the Palette and recreation from file.
Controllers also publish the available Model actions to the Editor as Toolbar buttons
or Menu items under the 'File' menu.