[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