Hi Peter,

I tried to not update the model, when the text change because model can be more that a simple String.

In RTEditableLabel you can find these methods to handle events based on Rubric-events.

onPressingEnter:
onKeystroke:


By other hand you can check the example editableSearchField.

Cheers,
Milton



2015-02-24 19:36 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com>:
Milton?

Alexandre


> On Feb 13, 2015, at 9:22 AM, Peter Uhnák <i.uhnak@gmail.com> wrote:
>
> Yes!
>
> This is exactly what I was looking for... I've already started integrating it. :)
>
> Few things:
>
> * Text is not updated as expected
> -------------------
> v := RTView new.
>
> shape := RTEditableLabel new.
> shape text: 'Old Text'.
> el := shape element.
>
> v add: el @ RTDraggable.
> v open.
>
> el shape text: 'New Text'. "this is not propagated as it would with RTLabel"
> el update.
> v signalUpdate.
> ------------------------
> This could be circumvented by RTEditableLabel>>textFor: not making check whether the text is already set and instead set it always (probably not the best way)
>
> * Model is not updated
> This is perhaps broader issue and looking at RTLabelTest>>testEditableLabel it seems like intended behavior.
> Considering that going from shape to model to change the text may not be straightforward (in the test the model is number, not string, so casting would be required)...
> perhaps there could be either callback (whenTextChanged: aBlock, although that sounds very Spec-y), or using an event -
> e.g. "TRShapeEvent subclass: #TRTextChanged". Having a shape event sounds at least to me much more appropriate.
>
>
> There are also couple minor things, like the way it is invoked (I would prefer keyboard shortcuts... e.g. <esc> to cancel, <enter> to confirm (for single-line), <f2> to edit... but that is just my muscle memory from Modelio (GEF Eclipse)).
> Speaking of single-line I really like the distinction, since very often I want to keep labels always single-line.
>
> Thanks!
>
> Peter
>
>
> On Thu, Feb 12, 2015 at 9:25 PM, milton mamani <akevalion@gmail.com> wrote:
> Hi Peter,
>
> Can you get the last Roassal Version and try the next piece of code?
>
> .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
>       | v shape |
>       v := RTView new.
>       1 to: 20 do: [ :i |
>                       shape := RTEditableLabel new.
>                       shape text:
> 'Red
> Yellow
> Green'.
>                       v add: shape element@RTDraggable.
>       ].
>       RTGridLayout on: v elements.
>
>       v open
> .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
>
> or simple line
>
> .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
>
>       | v shape |
>       v := RTView new.
>       1 to: 20 do: [ :i |
>                       shape := RTEditableLabel new.
>                       shape text: 'Hello World'.
>                       v add: shape element@RTDraggable.
>       ].
>       RTGridLayout on: v elements.
>
>       v open
> .=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=.=
>
> Press double-click over one element to edit the text of that shape.
>
> Please, tell me what do you think about this.
>
> Cheers,
> Milton
>
> 2015-02-02 14:19 GMT-03:00 Alexandre Bergel <alexandre.bergel@me.com>:
>
> Hi Peter!
>
> We will have a look at your code.
>
> Cheers,
> Alexandre
>
>
>
> > Le 1 févr. 2015 à 18:21, Peter Uhnák <i.uhnak@gmail.com> a écrit :
> >
> > Hi,
> >
> > is it possible to embed (any) editable text field inside Roassal?
> >
> > I managed to add the editor morph inside Trachel's athens canvas, however there is no way I can access it... my guess is that TRMorph takes all the events, or drawing the morph on the canvas destroys something.
> >
> > I tried it with PluggableTextFieldMorph (shows the border of the edit field, but no text), and TxTextEditorMorph (shows text).
> >
> > Is there any way around this? Adding the morph inside AthensWrapMorph works correctly, so my guess is that TRMorph must be doing something... perhaps I should also add it as a submorph of TRMorph somehow?
> >
> > My testing code follows:
> >
> > ------------------------------------------------
> > "opening the canvas and adding custom shape"
> > trCanvas := TRCanvas new.
> >
> > text := SBEditableTextShape new.
> > trCanvas addShape: text.
> >
> > trCanvas open.
> > ------------------------------------------------
> >
> > ------------------------------------------------
> > "content of SBEditableTextShape - same as the attachement"
> > 'From Pharo4.0 of 18 March 2013 [Latest update: #40470] on 1 February 2015 at 10:13:04.069249 pm'!
> > TRShape subclass: #SBEditableTextShape
> >       instanceVariableNames: 'txMorph txModel wrapMorph textMorph'
> >       classVariableNames: ''
> >       poolDictionaries: ''
> >       category: '_Sandbox'!
> >
> > !SBEditableTextShape methodsFor: 'drawing' stamp: 'PeterUhnak 2/1/2015 22:10'!
> > drawOn: aCanvas
> > "     aCanvas fullDrawMorph: textMorph."
> >       aCanvas fullDrawMorph: txMorph.! !
> >
> >
> > !SBEditableTextShape methodsFor: 'initialization' stamp: 'PeterUhnak 2/1/2015 22:07'!
> > initialize
> >       | string |
> >       super initialize.
> >       string := 'quick brown fox jumps over the lazy dog'.
> >
> >       txModel := string asTxModel.
> >       txMorph := TxTextEditorMorph text: txModel.
> >       txMorph extent: 150 @ 50.
> >
> >       textMorph := PluggableTextFieldMorph new.
> >       textMorph extent: 150 @ 50.
> >       textMorph setText: string.
> >       textMorph ghostText: 'ghost text'.! !
> > ------------------------------------------------
> >
> > Any help is appreciated,
> > Peter
> >
> > <SBEditableTextShape.st>
> > _______________________________________________
> > Moose-dev mailing list
> > Moose-dev@iam.unibe.ch
> > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev@iam.unibe.ch
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev