Somehow it’s true. And you could try it :)

But while doing Spec I also fixed a lot of bugs in the morphic widgets 
themselves :)

Try with the latest spec, and tell me :P
Ben

On 07 Nov 2013, at 05:38, Bahman Movaqar <bah...@bahmanm.com> wrote:

> On 11/06/2013 20:35, Benjamin wrote:
>> Ok :)
>> 
>> These methods only exists in Pharo 3.0 :)
> 
> Hmm...I don't understand.  Please correct me if I'm wrong but I thought Spec 
> is a UI library, so it doesn't matter if I'm using it in Pharo 2.0 or 3.0 as 
> long as I have the correct version of Spec.
> 
>> 
>> 
>> On 06 Nov 2013, at 08:38, Bahman Movaqar <bah...@bahmanm.com> wrote:
>> 
>>> On 11/06/2013 11:07, Benjamin wrote:
>>>> In which version of Pharo are you working ?
>>> 
>>> Pharo2.0
>>> Latest update: #20607
>>> 
>>>> 
>>>> On 06 Nov 2013, at 08:31, Bahman Movaqar <bah...@bahmanm.com> wrote:
>>>> 
>>>>> On 11/06/2013 10:56, Benjamin wrote:
>>>>>> On 06 Nov 2013, at 08:21, Bahman Movaqar <bah...@bahmanm.com
>>>>>> <mailto:bah...@bahmanm.com>> wrote:
>>>>>> 
>>>>>>> On 11/06/2013 10:41, Benjamin wrote:
>>>>>>>> This is the expected behaviour :)
>>>>>>> 
>>>>>>> Oh!  A bit unorthodox, specially considering the shortcut (CTRL+S)
>>>>>>> --I was expecting something like ENTER :-)
>>>>>> 
>>>>>> There is also acceptOnCr :)
>>>>> 
>>>>> That clearly shows I have to work on my "exploration" skills :-)
>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>>> But what you can do (and actually what you wanna do) is to accept
>>>>>>>> the text at each keyStroke :)
>>>>>>>> 
>>>>>>>>> initializePresenter
>>>>>>>>> self instantiateModels: #(
>>>>>>>>>        textName             TextModel
>>>>>>>>>        labelGreeting    LabelModel
>>>>>>>>>        buttonGreet        ButtonModel 
>>>>>>>>>    ).
>>>>>>>>> labelGreeting text: ''.
>>>>>>>>>    buttonGreet label: 'Greet Me!'; disable.
>>>>>>>> 
>>>>>>>> should be turned into:
>>>>>>>> 
>>>>>>>> #initializePresenter
>>>>>>>> textName := self newTextInput.
>>>>>>>> labelGreeting := self newLabel.
>>>>>>>> buttonGreet := self newButton.
>>>>>>> 
>>>>>>> Would you please explain the RHS of the statements?  I don't
>>>>>>> understand `self newTextInput`.
>>>>>> 
>>>>>> It’s equivalent to self instantiateModels: #(textName
>>>>>> TextInputFieldModel).
>>>>>> It simply creates a new sub model for you :)
>>>>> 
>>>>> Hmm...Pharo rejects those lines, e.g. with "Unknown select
>>>>> newTextInput".  I guess I'm sub-classing the wrong class.  Here's my
>>>>> class definition:
>>>>> 
>>>>> <code>
>>>>> ComposableModel subclass: #FirstSpec
>>>>>    instanceVariableNames: 'textName labelGreeting buttonGreet'
>>>>>    classVariableNames: ''
>>>>>    poolDictionaries: ''
>>>>>    category: 'Bahman-Spec'
>>>>> </code>
>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>>> 
>>>>>>>> labelGreeting text: ''.
>>>>>>>> buttonGreet label: 'Greet Me!'; disable.
>>>>>>>> textName autoAccept: true.
>>>>>>> 
>>>>>>> It's certainly no big deal but I'm just curious; any special reason
>>>>>>> why `autoAccept` doesn't default to true?
>>>>>> 
>>>>>> That’s actually a good question :)
>>>>>> I guess the answer is historical :)
>>>>> 
>>>>> Ancestral remains, huh? :-)
>>>>> 
>>>>>> 
>>>>>>> 
>>>>>>>> On 06 Nov 2013, at 06:05, Bahman Movaqar <bah...@bahmanm.com
>>>>>>>> <mailto:bah...@bahmanm.com>> wrote:
>>>>>>>> 
>>>>>>>>> Hi all,
>>>>>>>>> 
>>>>>>>>> I'm writing a simple graphical version of the legendary "Hello,
>>>>>>>>> world".  I have a window with a text field, a button and a label. 
>>>>>>>>> What I'm trying to do is to make the button (which is initially
>>>>>>>>> disabled) enabled upon user entering text.  However, it seems that
>>>>>>>>> the user first must "Accept" the text for the action to be fired.
>>>>>>>>> 
>>>>>>>>> Here's some snippets of code:
>>>>>>>>> 
>>>>>>>>> <code>
>>>>>>>>> initializePresenter
>>>>>>>>>    textName whenTextChanged: [
>>>>>>>>>        buttonGreet enable ].
>>>>>>>>>    buttonGreet action: [
>>>>>>>>>        labelGreeting text: 'Hello, ', textName text, '!'.
>>>>>>>>>        buttonGreet disable ].
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> initializeWidgets
>>>>>>>>>    self instantiateModels: #(
>>>>>>>>>        textName             TextModel
>>>>>>>>>        labelGreeting    LabelModel
>>>>>>>>>        buttonGreet        ButtonModel
>>>>>>>>>    ).
>>>>>>>>> 
>>>>>>>>>    labelGreeting text: ''.
>>>>>>>>>    buttonGreet label: 'Greet Me!'; disable.
>>>>>>>>> </code>
>>>>>>>>> 
>>>>>>>>> What am I doing wrong?
>>>>>>>>> 
>>>>>>>>> TIA,
>>>>>>>>> 
>>>>>>>>> PS:  I have tried `whenTextChanged` to no avail --it shows the same
>>>>>>>>> behaviour.
>>>>>>> 
> 
> -- 
> Bahman Movaqar  (http://BahmanM.com)
> 
> ERP Evaluation, Implementation & Deployment Consultant
> PGP Key ID: 0x6AB5BD68 (keyserver2.pgp.com)

Reply via email to