pharo-spec / Commander2

Flexible implementation of the command design pattern.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Commander 2

Build Status License Pharo version

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

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. 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.

About

Flexible implementation of the command design pattern.


Languages

Language:Smalltalk 91.9%Language:HTML 8.1%