Gary,
I have done a little
with Polymorph and am quite impressed. A small usability suggestion for
the examples is to include comments with the text on a line by itself. It
is a lot easier to execute something formatted as
"
ThisOrThat example
ThisOrThat someOtherExample
"
than it is the
(very common in Squeak) "GoAhead iChallengeYouToSelectMe
andMissTheQuotes".
On to more
substantive things. TEasilyThemed is a big help, but some model and/or
presenter classes would help. Consider a list. One has to define an
aspect for the selection index and initialize it to zero. Similar comments
apply to trees, with the added wrinkle of wrapping the nodes with appropriate
objects.
Dolphin's MVP
framework creates default models that can be replaced. One weakness of the
defaults is that they can take significant time to create for substantial
objects. I hacked around that, and we could easily design it out of
anything that we build. Dolphin lists and trees treat their selection in
terms of the object selected rather than the index. One can get and
set the index if needed, but it is not generally as interesting as the object
behind the selection.
One good thing about
specifying the aspect is that one can can connect a view to an aspect of any
model. Dolphin allows for the same flexibility via value adapters and type
converters.
Does TEasilyThemed
include helpers for creating splitters?
Bill
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Thanks Bill.
The "Squeak" way allows double-click just inside
the first quote to select the relevant snippet of course though ;-)
Perhaps default models would be a good idea though
it can, with over-reliance, tend to distance things from the real
model...
Nothing in TEasilyThemed for splitters. Note that
Polymorph only fixes issues with SystemWindow splitter usage at present, rather
than arbitrary owner morphs.
Given a system window:
win addPaneVSplitterBetween: morph1 and:
{morph2}.
main splitters last color: win paneColor. Given other morphs (for the moment).
aMorph addPaneVSplitterBetween: morph1
and: {morph2}.
aMorph splitters last color: aMorph paneColor; addLeftOrTop: morph1; addRightOrBottom: morph2. Regards, Gary
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Gary,
Thanks for the pointers. Your point on default
models is well-taken, but nothing (not much anyway) prevents their being
replaced when something such as an aspect value adaptor is indicated.
Changing models on the fly has long been a weakness of Dolphin; Object Arts
essentially said "do as we say, not as we do." I think we can find ways to
make it all work as one would hope. At a minimum, there should be
alternative factory selectors that do not require the selection aspects when
those do nothing besides support the user interface (which I submit is probably
more often than not).
Details aside, Polymorph is very impressive work -
thanks for making it available to us!!
Bill
From: [hidden email] [mailto:[hidden email]] On Behalf Of Gary Chambers Sent: Thursday, October 15, 2009 5:43 AM To: [hidden email] Subject: Re: [Pharo-project] Polymorph observations Thanks Bill.
The "Squeak" way allows double-click just inside
the first quote to select the relevant snippet of course though ;-)
Perhaps default models would be a good idea though
it can, with over-reliance, tend to distance things from the real
model...
Nothing in TEasilyThemed for splitters. Note that
Polymorph only fixes issues with SystemWindow splitter usage at present, rather
than arbitrary owner morphs.
Given a system window:
win addPaneVSplitterBetween: morph1 and:
{morph2}.
main splitters last color: win paneColor. Given other morphs (for the moment).
aMorph addPaneVSplitterBetween: morph1
and: {morph2}.
aMorph splitters last color: aMorph paneColor; addLeftOrTop: morph1; addRightOrBottom: morph2. Regards, Gary
_______________________________________________ Pharo-project mailing list [hidden email] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project |
Free forum by Nabble | Edit this page |