In which version of Pharo are you working ?

Ben

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