[Cuis] Grow Button [WAS Re: New updates: Reference Finder..]
Ken Dickey
Ken.Dickey at whidbey.com
Tue Dec 31 16:08:09 CST 2013
On Tue, 31 Dec 2013 08:40:54 -0800
Casey Ransberger <casey.obrien.r at gmail.com> wrote:
> #toggleFullBounds sounds great. Either that or #thanksKen.
Shorter than #youAreWelcomeCasey ;^)
> Interesting that your solution uses the properties mechanism. I've never
> touched that. I'd have probably given SystemWindow a couple of instance
> variables to cache location and extent.
My model is that Classes use messages/methods/iVars
but individual instances use events/handlers/properties.
In particular, part of my list of past sins includes writing code in and for MultiMedia authoring environments. MM authoring -- particularly for media centric people who are not programmers -- tends to be more prototype based than class based.
One starts with a bunch of media pallets and explorers, splats media on the stage, adds behaviors, ... Authoring tends to me more graphical by nature. [See mTropolis UI examples below].
One of the things I am thinking about is pushing Morphic toward a more direct/graphic style of authoring.
One change to think about is making some tests more instance based.
Why have an entire class of instances respond to some message when only a few instances need to? An extra subclass with just a few methods.
Simple (possibly useless) example.
We could change some methods to look for properties.
Say
Morph>>allowsSubmorphDrag
^ self hasProperty: #allowsSubMorphDrag
So a class can still short-circuit this by
SomeSubclassOfMorph>>>>allowsSubmorphDrag
^true
With no bad effects -- all the current code still works! ;^)
But now one can have various instances support dragging submorphs without having to create a special subclass just to do this. Just dynamically add (or remove!) a property.
Anyway, this is the kind of stuff I am playing with in the background.
Cheers,
-KenD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Logic+Extras-Palettes.png
Type: image/png
Size: 146196 bytes
Desc: not available
URL: <http://jvuletich.org/pipermail/cuis_jvuletich.org/attachments/20131231/0f505d67/attachment-0024.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Logic+Extras-Palettes.png
Type: image/png
Size: 146196 bytes
Desc: not available
URL: <http://jvuletich.org/pipermail/cuis_jvuletich.org/attachments/20131231/0f505d67/attachment-0025.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MouseMessage-When.png
Type: image/png
Size: 15835 bytes
Desc: not available
URL: <http://jvuletich.org/pipermail/cuis_jvuletich.org/attachments/20131231/0f505d67/attachment-0026.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Messenger-dialog.png
Type: image/png
Size: 42519 bytes
Desc: not available
URL: <http://jvuletich.org/pipermail/cuis_jvuletich.org/attachments/20131231/0f505d67/attachment-0027.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ImageEffect-dialog.png
Type: image/png
Size: 41662 bytes
Desc: not available
URL: <http://jvuletich.org/pipermail/cuis_jvuletich.org/attachments/20131231/0f505d67/attachment-0028.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Behavior-score3.png
Type: image/png
Size: 122126 bytes
Desc: not available
URL: <http://jvuletich.org/pipermail/cuis_jvuletich.org/attachments/20131231/0f505d67/attachment-0029.png>
More information about the Cuis
mailing list