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