[Pharo-dev] [Spec] ComposableModel renamed to ComposablePresenter

Pavel Krivanek pavel.krivanek at gmail.com
Thu Oct 12 07:47:07 EDT 2017


Hello, important change for the Spec users.

In "The Spec UI Framework" book you can read:

Considering the construction and orchestration of the different widgets in
> a user interface, Spec is inspired by the Model-View-Presenter pattern. The
> model that is defined in Spec corresponds to a presenter in the MVP triad.
> Note that because of this, future versions of Spec may rename the
> ComposableModel into ComposablePresenter for naming consistency.


This change was done in the Pharo 7 development images by this pull request:
https://github.com/pharo-project/pharo/pull/344

All other Spec presenters that use suffix -Model were renamed too to end
with -Presenter suffix. This is the complete list:

AbstractFormButtonModel
AbstractWidgetModel
ButtonModel
CheckBoxModel
ComposableModel
ContainerModel
DateModel
DialogWindowModel
DiffModel
DropListModel
DynamicComposableModel
FastTableModel
IconListModel
ImageModel
LabelModel
ListModel
ListSelectionModel
MenuGroupModel
MenuItemModel
MenuModel
MultiColumnListModel
PickListModel
RadioButtonGroupModel
RadioButtonModel
SliderModel
TabManagerModel
TabModel
TableContainerModel
TestingComposableModel
TextInputFieldModel
TextModel
TickingWindowModel
TransferModel
TreeColumnModel
TreeModel
TreeNodeModel
WindowModel
WorldModel

To be sure that most of the current code which uses the old name will work,
we created for every renamed class a subclass with the old name. These
subclasses are moved (mostly) into Spec-Deprecated package. Currently such
deprecation does not make any action so no exception is generated nor no
code is rewritten. We will add such mechanisms in future as soon as most
users and documentation will adopt his change.

This deprecation can cause problems in two cases: you use code like
'isKindOf:' or if your package adds extension methods to the basic Spec
classes.

To rename these classes was only the first step. We need to rename some
Spec tests classes and mainly touch methods like *instantiateModels:* and
later make them deprecated.

We are sorry for troubles that these changes can cause but it is necessary
to make the Spec code less confusing.

Cheers,
-- Pavel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20171012/5d04bae6/attachment-0002.html>


More information about the Pharo-dev mailing list