After switching to Tiger, I cannot get a menu (as opposed to a menu
item) to disable in my PPx app, i.e., to appear "ghosted out". It was
my understanding that the menu "autodisable" option in IB was supposed
to do this and, in 10.3.9, it did. Now, it does not. Even manually
diabling menus does not ghost them out although it does make them stop
working.
Can anyone shed any light on this? In my app, there are entire menus
that are sometimes inappropriate and they need to show up as disabled to
comply with the standard user experience.
Thanks.
--
Mike McLaughlin
larry@skytag.com - 26 Jun 2005 01:46 GMT
> After switching to Tiger, I cannot get a menu (as opposed to a menu
> item) to disable in my PPx app, i.e., to appear "ghosted out".
The term is "dimmed."
> It was
> my understanding that the menu "autodisable" option in IB was supposed
> to do this and, in 10.3.9, it did. Now, it does not. Even manually
> diabling menus does not ghost them out although it does make them stop
> working.
Have you tried invalidating the menu bar to force a redraw?
> Can anyone shed any light on this? In my app, there are entire menus
> that are sometimes inappropriate and they need to show up as disabled to
> comply with the standard user experience.
I'd post questions like this to Apple's carbon-dev list, where the
relevant engineer often hangs out. I tend to use this forum for CW
issues, no Mac development issues like this. Sounds like a bug to me
and I'd file it in Radar, but someone on the carbon-dev list may have
some useful thoughts.
Larry
Chris Baum - 26 Jun 2005 04:39 GMT
> After switching to Tiger, I cannot get a menu (as opposed to a menu
> item) to disable
This was covered in the 10.4 release notes which you can read here:
http://developer.apple.com/releasenotes/Carbon/HIToolbox.html
Here's a clip for you:
The Aqua Human Interface Guidelines for Mac OS X 10.4 have changed in
regard to the enabling of menu titles. Previous guidelines recommended
that a menu title be disabled if all items in the menu are disabled.
The new guidelines instead recommend that menu titles should always be
enabled, to indicate that the menu is always browseable, even if all
items in the menu are disabled. To support this new guideline, we have
made these changes:
- menu titles are always drawn with an enabled appearance, even if the
menu title (item 0) of the menu is disabled
- the kMenuAttrAutoDisable menu attribute no longer has any effect; the
title of a menu with this attribute is no longer disabled automatically
if all items in the menu are disabled
- the Menu Manager no longer sends kEventMenuEnableItems events at idle
time to menus in the menubar (although this may return in the future
once we support tear-off menus, which will require idle-time enabling).
Note that it is still possible to explicitly disable a menu's title
using DisableMenuItem(menu, 0), and that this will still affect the
availability of the menu items in the menu for purposes such as command
key matching. Disabling the menu title is still a legitimate way to
quickly disable all of the items in the menu, and the items will still
be drawn with a disabled appearance; only the menu title will be drawn
enabled.
larry@skytag.com - 26 Jun 2005 07:55 GMT
>> After switching to Tiger, I cannot get a menu (as opposed to a menu
>> item) to disable
> This was covered in the 10.4 release notes which you can read here:
Oops. I forgot about that. Hadn't read it in a while and I'm still
using Panther.
Larry
Michael McLaughlin - 26 Jun 2005 16:52 GMT
Thanks for passing this on. I had not seen it.
IMHO, this change is for the worse. Dimming is/was supposed to convey
information to the user. In my app, it conveys the fact that some
choice categories exist but are inappropriate for the data file input.
In my case, there are so many options (models) available (currently,
about 70) that they are partitioned by menu, submenu then item.
However, not all models are valid for all datasets. Here, at the top
(menu) level, there are Equation, Continuous and Discrete menus, all
mutually exclusive. Were they implemented as submenus, there would be
too many hierarchical levels for a user to traverse (very messy and
error-prone).
>>After switching to Tiger, I cannot get a menu (as opposed to a menu
>>item) to disable
[quoted text clipped - 31 lines]
> be drawn with a disabled appearance; only the menu title will be drawn
> enabled.
larry@skytag.com - 27 Jun 2005 01:23 GMT
> IMHO, this change is for the worse. Dimming is/was supposed to convey
> information to the user.
It does, and therein lay the problem. Dimming conveys that something is
disabled and won't respond to clicks, as with a dimmed push button,
popup button, radio button, and so on. Menus with dimmed titles would
respond to clicks and open the menu, which was inconsistent with the
behavior of other interface elements.
> In my app, it conveys the fact that some
> choice categories exist but are inappropriate for the data file input.
Understood. You could try adding and removing menus as appropriate
instead of disabling and enabling them.
Larry