On 11/06/2013 11:07, Benjamin wrote:
In which version of Pharo are you working ?
Pharo2.0
Latest update: #20607
On 11/06/2013 10:56, Benjamin wrote:
On 06 Nov 2013, at 08:21, Bahman
Movaqar <Bahman@BahmanM.com
<mailto:Bahman@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 <Bahman@BahmanM.com
<mailto:Bahman@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)