Home

  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.