[UI] Call to arms

Gary Chambers gazzaguru2 at btinternet.com
Sat Apr 5 17:24:52 UTC 2008


I've had a quick look (busy getting the "diff tools" out). Looks really
good, I'll have a more in-depth look soon.

> -----Original Message-----
> From: ui-bounces at lists.squeakfoundation.org
> [mailto:ui-bounces at lists.squeakfoundation.org]On Behalf Of Alain Plantec
> Sent: 30 March 2008 1:53 PM
> To: Squeak's User Interface
> Subject: Re: [UI] Call to arms
>
>
> ...
> >
> > Loaded.
> > Tried examples.. Except couple of bugs, all is working well.
> >
> > Can you describe the essential features of your framework?
>
> Well, here is a short explanation made on the fly. I will take
> the time to
> make a more complete one later somewhere in a wiki.
>
> Miro is based on 4 classes hierarchies: scene, director, announce
> handler and
> actor.
> a scene is responsible for the view and basic input events: a
> scene displays
> some content on a canvas and receives mouse and keyboard events.
> Miro is made so that it should be possible to use any scene hierarchy.
> For now, used root scene class is MiroScene. It is still Morph2
> compatible (a
> Morph fork). As you can see, only four scene classes are used: MiroImage,
> MiroCompositeScene, MiroTransformScene and MiroTextScene. (of course,
> HandMorph and PasteUpMorph are also reused).
> I think (hope) that it should be possible to use another root scene class
> based on Tweak or some Gtk wrapper.
>
> Actor hierarchy represent an abstract widgets hierarchy with button,
> scrollbar, scrolled text, text field, ...
> Actors are responsible for data management (model management). As
> an example,
> with a text field one can manage a string data, with a radio
> button one can
> manage a boolean...
>
> A director is a mediator between a scene and an actor. Is is
> responsible  for
> the composition of the view: a director can be made of a set of
> directors. as
> an example, a scrollbar director is made of a scroller director
> and of two
> repeat button directors. A director is also responsible for the
> management of
> an announcer and of a set of announce handlers.
>
> An announce handler is used to respond to announces. Several
> announce handlers
> can be dynamically assigned to a director in order to do
> something when an
> announce is received. Basically, the set of announce handlers
> assigned to one
> director is fixed by construction (see Director>>setUpAnnounceHandlers).
> But, there are some cases where an announce handler is really dynamically
> attached to one director. As an example, when a radio button is
> added to one
> container (a box) then, a MiroRadioButtonsBoxSceneHandler is created and
> assigned to that box in order to control its set of radio buttons (when a
> radio button is checked then all others in the box are unchecked). see
> MiroMorphicSceneBuildingHandler>>whenSceneOwnedAnnounce: aMiroAnnounce
>
> The only objects that a client application is manipulating are
> the actors. the
> link between an actor and a director is primarily established by
> the theme
> (see Theme>>directorsRootClass and Theme>>directorClassFor: anActor).
>
>
> These explanations are certainly incomplete and maybe difficult
> to follow.
> Sorry for that but I can't spend to much time on it now. Hope it helps a
> little.
>
> alain
>
>
>
>
>
>
>
>
>
>
>
>
>
> _______________________________________________
> UI mailing list
> UI at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/ui



More information about the UI mailing list