Standalone and "About..." menu
René Micout
rene.micout at numericable.com
Mon Oct 25 09:51:36 EDT 2010
Thank you Richard !
My standalone of "Exagofon" with English manual will be operational soon ! (Beta version)
René
Le 25 oct. 2010 à 15:36, Richard Gaskin a écrit :
> René Micout wrote:
>
>> When I create a standalone, LiveCode make automatically an "About..." menu in the application menubar...
>> How can I pick this menu item ?
>> on menuPick theItem
>> if theItem is "About..." then
>> ...
>> end mousePick
>> don't work
>
> The LiveCode engine makes it very easy to create menu sets that substantially conform to the HIGs on supported platforms, but difficult to do anything non-standard.
>
> In most apps, there is a "Preferences..." it at the end of the Edit menu, and an "About..." item at the end of the Help menu.
>
> That is, for Windows and Linux - on OS X the "About..." item appears next to that OS's unique application menu, and the "Preferences..." item is the second entry in that menu.
>
> To allow you to make one menu bar that works on all supported platforms, the engine moves the last item from the Help menu (presumed to be "About...") and the last item from the Edit menu (presumed to be "Preferences...") to their appropriate place in the application menu on OS X; it leaves them in place for other OSes.
>
> While your item may be named "Preferences..." (with three periods), once rendered by the OS it becomes rendered as "Preferences…" (with an ellipsis), and is identified internally as the argument to the menuPick message as simply "Preferences". Oddly, this does not happen with the About item, which is identified in the menuPick argument as you had typed it.
>
> So in your menuPick handler for Help you'll want:
>
> on menuPick pItem
> case "About..."
> answer "My Cool App"&cr& "Copyright 2010 by me"
> break
> case "Other Menu Items"
> -- do stuff for those
> break
> end switch
> end menuPick
>
> But in Edit you'll need:
>
> on menuPick pItem
> case "Preferences" -- for OS X
> case "Preferences..." -- for everything else
> -- do prefs stuff
> break
> end switch
> end menuPick
>
> I tried to post a bug report on that, but got an error in Bugzilla. ;) I'll try again later.
>
>
> IIRC the Rev IDE used to automatically write appropriate case statements for items you build with its Menu Builder utility, but checking this just now it seems it no longer does, writing only one generic menuPick handler with no individual case statements in it, so you're on your own.
>
> It's also worth noting that the current LiveCode IDE does not write the names of the "About..." and "Preferences..." items with the trailing periods or even an ellipsis, so while the engine will at least render the Prefs item correctly on OS X it doesn't render About or Prefs correctly for other platforms.
>
> Perhaps someone who uses the LC IDE might consider flagging that as a bug.
>
> Here I've found it simpler to just roll my own menu bar, copying it into stacks and adjusting its items as needed. Your mileage may vary; contents may settle during shipping; items in mirror may be closer than they appear.
>
> IMNSHO, most of the complaints about making menu bars in Rev would go away if this small handful of inconsistencies was addressed. The mechanism itself is fairly robust and does a good job of automatically handling differences between OSes, but is made to appear more complicated than it needs to be by these anomalies.
>
> --
> Richard Gaskin
> Fourth World
> LiveCode training and consulting: http://www.fourthworld.com
> Webzine for LiveCode developers: http://www.LiveCodeJournal.com
> LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
More information about the use-livecode
mailing list