Implementation of the command design pattern with the following objectives:
- Simple model of commands
- Ease reusability of commands accross multiple tools / framework
- Instance of commands can be modified (e.g., name, description, etc...)
- Pluging custom user-command made easy
Metacello new repository: 'github://pharo-spec/Commander2/src'; baseline: 'Commander2'; load
Note: This example is now shipped with the Spec2 integration which is managed by Spec2 project. The code is thus no longer available in this repository.
Commander2-ContactBook package contains an example of Commander2 usage in the context of a Spec application.
The following code should be checked when learning how to use the framework:
CmContactBookCommandand subclasses are the definition of commands required by the example application.
CmContactBookPresenter class>>#buildCommandsGroupWith:forRoot:This method is the entry point to describe commands available to your Spec presenter. One can learn how to build group of commands from this method.
CmContactBookPresenter>>#initializeWidgetsThis method shows how to inject a Spec's
MenuPresenterbuilt from a command group in your presenter.
CmContactBookPresenter>>#initializeWindow:This method shows how to bind the shortcuts defined by your command group to your Spec presenter.