2015-05-02 17:27 GMT+02:00 Ben Coman <[email protected]>:

> btw, can someone remind we of the semantics of "Pluggable" here, and what
> you gain over the unplugged classes?
> cheers -ben
>


MVC with pluggable controller ?
You can plug in the model and define the controller behavrior by supplying
the
different setter/getter selectors.



>
> On Sat, May 2, 2015 at 9:19 PM, Nicolai Hess <[email protected]> wrote:
>
>> I think this is a bug, introduced early in the move from squeak to pharo.
>> (It used to work in squeak).
>> Although we don't have any use of a "pure" TextMorph (I don't know of any
>> place/project,
>> either it uses String/LabelMorphs for texts or it uses another
>> TextEditorMorph), without any pluggableXXXMorph around it, I think we
>> should fix this.
>>
>> 2015-05-02 12:44 GMT+02:00 Ben Coman <[email protected]>:
>>
>>>
>>> On Sat, May 2, 2015 at 5:31 PM, Stephan Eggermont <[email protected]>
>>> wrote:
>>>
>>>> TextMorph new contents: 'Text'; openInWorld
>>>
>>>
>>> I don't know anything about this area, but thought it would be
>>> interesting to dig...
>>>
>>> There is only one implementor of #editView which is TextMorphEditView, a
>>> subclass of TextMorph. But...
>>>     TextMorphEditView new contents: 'Text'; openInWorld
>>>
>>> right-click gives... "MessageNotUnderstood: receiver of "model" is nil"
>>> in TextMorphEditView>>handleInteraction:
>>> in this code...
>>> self editor model: editView model.  "For evaluateSelection, etc"
>>> where /editView/ ivar is nil.  Only TextMorphEditView>>setEditView:
>>> stores into this, and this has only one sender:
>>>     PluggableTextMorph>>configureTextMorph:
>>>
>>> Then I notice method  "PluggableTextMorph class >> on: text: accept:",
>>> so creating the following with usual accessors with Transcript tracing
>>> in them...
>>>
>>>     Object subclass: #MyData
>>>   instanceVariableNames: 'text'
>>>   classVariableNames: ''
>>>   category: 'MyPlay'
>>>
>>> The following lets me edit and save...
>>>     (PluggableTextMorph on: (MyData new text: 'hello') text: #text
>>> accept: #text:) openInWorld
>>>
>>> Though saving doesn't clear the yellow triangle and I don't yet know how
>>> to restrict it to one line without a scroll bar (if you needed that?)
>>>
>>
>> We have PluggableTextFieldMorph, that is used in
>> UITheme>>#newTextEntryIn: aThemedMorph for: aModel get: getSel set:
>> setSel class: aClass getEnabled: enabledSel help: helpText
>>
>>
>>>
>>> cheers -ben
>>>
>>
>>
>

Reply via email to