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 > <mailto: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 >>> <mailto: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> >>>>> <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> >>>>>>> <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)
signature.asc
Description: OpenPGP digital signature