On 21 March 2018 at 03:12, dragoncity <dragoncitybr...@gmail.com> wrote:
> Hello, I'm just getting into Pharo, and am trying to
> do the example 'tutorial' UI programs in chapter 2 of The Spec UI Framework
> book. I have  a special interest in end user GUI interfaces for programs. I
> enter the first example code as written and the methods are all accepted
> without errors. And yes, I did generate the accessors.
>
> However , on attempting to execute the code at the bottom of page 6 from the
> latest Spec UI Framework book,
>
>
> | ui |
>
> ui := CustomerSatisfaction newopenWithSpec.
>
> ui close.
>
>
>
> this error message appears, no UI image appears of course.
>
> "SubclassResponsibility:CustomerSatisfaction class had the subclass
> responsibility to implement #defaultSpec"
>
> ======
>
> Not only don't I understand the message, but it implies I have to write
> something called #defaultSpec !, which is not mentioned in the tutorial.

CustomerSatisfaction is a subclass of ComposableModel
(ComposablePresenter in Pharo 7).  If you have a look at the
implementation of #defaultSpec in ComposableModel or
ComposablePresenter (depending on which version of Pharo you are
using) it says that it is up to subclasses to implement the method
(#subclassResponsibility).  Since  you haven't defined it (yet), the
call to #defaultSpec uses the inherited definition from
ComposableModel, which raises the error you are seeing.

CustomerSatisfaction class>>defaultSpec is on page 6 of my version of
the booklet, dated Feb 6, 2107.


Cheers,
Alistair

Reply via email to