Simulating 'drawer' behaviour on Windows

Ben Rubinstein benr at cogapp.com
Mon Apr 25 08:30:58 EDT 2005


As far as I can tell, it is not possible to make a really effective
simulation on Windows of the MacOS X 'drawer' behaviour using transcript.
The essential aspect is that the 'drawer' window is always at the same level
in the window stack as its parent, and always moves attached to it.

It is possible to code event handlers so that when one window is moved,
another is snapped to it, but there's a powerful difference in effect.  It
does not seem to be possible to keep two windows in the same or consecutive
layers of the window stack - in fact it is quite hard to manipulate this
altogether.

The two leading options seem to be: use a second pane on the main window,
with a disclosure triangle or similar; use a palette, at least on non OSX
systems.

Using the main window gives the right effect in terms of window layer.  It's
more hassle from a coding point of view, as the the substack becomes a group
(and in effect everything on the 'parent' stack probably has to become a
group as well, especially if you want to support having the 'drawer' on
either side of the 'main' window). The user experience in terms of sizing
etc is also different and in my view suboptimal.

Using a palette works well for more sophisticated users, but in my
experience is less helpful for more naïve users (obviously this depends
considerably on the app in question).


Since the 'drawer' UI is now supported at a core level in the engine (for
Mac OS X only), and cannot effectively be implemented on other platforms
using Transcript (AFAICT - I'd welcome suggestions on other ways to attack
this) I've  added an enhancement request to bugzilla to support this mode on
other platforms:
    http://support.runrev.com/bugdatabase/show_bug.cgi?id=2797

If you would find this useful, please vote for it.
 
  Ben Rubinstein               |  Email: benr_mc at cogapp.com
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com        |  Fax  : +44 (0)1273-728866




More information about the use-livecode mailing list