On 06 Nov 2013, at 08:21, Bahman Movaqar <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 :)

> 
>> 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 :)

> 
>> 
>> 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 :)

Ben

> 
>> On 06 Nov 2013, at 06:05, Bahman Movaqar <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