Flexible implementation of the command design pattern.
# Commander 2 [](https://travis-ci.org/pharo-spec/Commander2) [](https://raw.githubusercontent.com/PolyMathOrg/DataFrame/master/LICENSE) [](https://pharo.org/download) 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 ## Install ```Smalltalk Metacello new repository: 'github://pharo-spec/Commander2/src'; baseline: 'Commander2'; load ``` ## Example > Note: This example is now shipped with the Spec2 integration which is managed by [Spec2 project](https://github.com/pharo-spec/Spec). > 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: - `CmContactBookCommand` and 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>>#initializeWidgets` This method shows how to inject a Spec's `MenuPresenter` built 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.