You've defined this as an instance method, not a class method
Thanks for that observation! On closer read indeed I had missed the
'class' word in the defaultSpec text on page 6, it
took a little fiddling to get a Class method defined.
Its 'almost' working :-)
When I run the
|ui | ... etc.... from a Playground, I don't get a working UI Form, but
I get a correctly defined static image
layout of the form under 'Morph' IN the Playground.
I expected the CustomerSatisfaction UI form to appear as a independent
item on the Pharo 'world'.
Now what am I doing wrong ? :-)
On 21/03/18 19:02, Alistair Grant wrote:
On 21 March 2018 at 08:37, dragoncity <dragoncitybr...@gmail.com> wrote:
I had already defined & accepted defaultSpec , as per page 6.
Attached is my CustomerSatisfaction.st file : I assume Pharo will suck it
back in !
You've defined this as an instance method, not a class method.
If what I've said doesn't make sense, let us know and we can point you
to a description (which I don't have handy). One tip: Assuming you're
using Pharo 6, in the System Browser, roughly in the middle is a
"Class" button. Pressing that will show you the class methods.
HTH,
Alistair
On 21/03/18 17:55, Alistair Grant wrote:
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
--
Cheers,
Brett
--
Cheers,
Brett