Ok :)

These methods only exists in Pharo 3.0 :)

Ben

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