[squeak-dev] Re: TextAttribute's #actonClickFor: - what package?

Frank Shearar frank.shearar at gmail.com
Tue Dec 31 21:21:13 UTC 2013


On 31 December 2013 18:11, David T. Lewis <lewis at mail.msen.com> wrote:
> On Tue, Dec 31, 2013 at 05:35:30PM +0000, Frank Shearar wrote:
>> On 28 December 2013 23:06, Frank Shearar <frank.shearar at gmail.com> wrote:
>> > Most of these are unclassified, except for TextURL's, which lives in
>> > Morphic. (This method references Morph directly, through an
>> > #isKindOf:.)
>> >
>> > Now the name strongly suggests that the method/group of methods
>> > belongs to a graphical UI, which makes me think that Morphic is,
>> > indeed, the place for them to live.
>> >
>> > But is it really? Could these methods live in Morphic for now, or do
>> > they really belong to a layer just below Morphic and ST80? (We see
>> > quite a few things in the image that are parts of or support for a
>> > GUI, but not any specific GUI. Transcripter, for instance. Is this
>> > layer the Graphics package?)
>>
>> I'm tempted to just move these to Morphic. If we want the selectors to
>> work in ST80 - and I don't know that - we'll need to work a fair bit
>> on separating out the logic anyway. Moving the selectors to Morphic
>> will at least solve one small part of the problem.
>>
>
> A quick look at senders suggests that these methods are intended for use
> in any UI framework, not just Morphic. For example #actOnClickFor:in:at:editor:
> is sent by both Paragraph (MVC) and NewParagraph (Morphic).

That's what I thought :( They're not written in a way appropriate to
supporting multiple UIs though. Well, actually, they're almost all
completely UI independent, except for TextURL's "anObject isKindOf:
Morph". OK, scratch the move-to-Morphic idea.

> Perhaps you can just give them a meaningful method category?

Well, I could punt them into System. System isn't a _terrible_ home.
It's the highest layer we have before heading up into Morphic or ST80.
Most of the classes these methods use are System: Project,
ProjectLoading. Possibly the "right" solution is to route stuff
through UIManager.

I don't want them in Collection mainly because of the references to
System classes. The Collection package shouldn't depend on System, and
there's no way we can make System not depend on Collection. Cycles,
cycles, wheels within wheels.

frank

> Dave


More information about the Squeak-dev mailing list