Why is Konfabulator "Pretty?"

J. Landman Gay jacque at hyperactivesw.com
Wed Dec 7 17:22:47 EST 2005


Bill Marriott wrote:

> I tried looking up "stack menu" in the docs. I found:
> 
> "You create a stack menu by laying out the menu items as buttons in a stack 
> window, then setting the menuName property of a button in another stack to 
> the menu stack's name. Clicking the button displays the menu stack as a 
> menu. If you use the same stack menu as the menuName of more than one 
> button, the menuButton tells you which button the user clicked to display 
> the stack menu."
> 
> I am not sure I comprehend what that means. You're probably right, I'm too 
> casual a user (I've owned Rev for two years but don't use it daily) to know 
> about the technique.

I apologize for assuming you were new to Rev. I've only seen your name 
on the list recently, so I made assumptions. I think 2 years of even 
casual use gives you enough experience to disqualify you as a newbie.

> I've searched on "menu icon" and found nothing in help. 
> The help topic "Menus and the menu bar" mentions nothing about icons. Just 
> to be clear, I mean the little 16x16 icons to the left of items like New, 
> Open, and Save in Word 2003. (Notice they also have the region set aside for 
> menus colorized.)

In the docs, click the Topics button and then click on the main heading 
at the left for "Menus and the menubar". There is more descriptive info 
there.

Basically, you create a small stack, usually stored as a substack, that 
is the exact size of the menu when it is popped open. You populate the 
stack with anything you want, which in this case would be images at the 
left and buttons representing menu items to the right of each image. 
Unlike the default type of menu, the objects in a stack menu recieve 
mouse messages rather than menupick messages, so you script your menu 
stack buttons (and images, if you want) with "mouseup" handlers. Then in 
the main menu button (the one that shows in the menubar) either set the 
menuName property of the button to a reference to the stack, or place a 
mouseDown handler containing a pulldown, popup, or option command in the 
script of the button.

I agree this isn't as easy as a built-in, automated method, but it can 
be done. As you mentioned, lots of your suggestions can be done, they 
only need to be scripted. I think the biggest challenge for Runtime is 
figuring out how many of these things ought to become automatic. For 
example, while icons in menus is common on Windows, it is almost unheard 
of on Macs. Balancing all priorites while providing cross-platform 
support is a tricky thing, and I'm not sure how I would make those 
decisions. Scott Raney's philosophy was that highest priority should go 
to those features which cannot be done without an engine change, and 
those things that can be scripted have lower priorities. For now, that 
seems quite reasonable to me.

<snip rest>

-- 
Jacqueline Landman Gay         |     jacque at hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com



More information about the use-livecode mailing list