Re: Adding HUD context pannel to rows within NSOutlineView
Re: Adding HUD context pannel to rows within NSOutlineView
- Subject: Re: Adding HUD context pannel to rows within NSOutlineView
- From: Corbin Dunn <email@hidden>
- Date: Wed, 28 Nov 2007 12:33:14 -0800
A context menu is a regular menu; not a HUD. I would discourage you
from creating UI that does something other than pop up a context
menu on the right click; it won't be what people expect, and isn't
easily discoverable. Apps that use HUD's typically bring them up in
some other way. For instance, they have a button in the cell to
bring it up, a toolbar item (Aperture), or an item in the context
menu itself (iCal).
Sounds like its best to stick to a context menu for the time being.
The obvious one that uses HUD on right click is Interface
builder.... :)
Ahh yes, IB -- they are the exception to the rule. They have taken
over what "right click" means. Instead of it meaning "context menu",
it means "make a connection". In some ways it is unfortunate, as it
would be nice to right click on a particular item and have some
context menu options (cut/copy/paste, for example).
Thats why I was thinking of using a HUD rather than a context menu,
as some of the parameters I need to set are not "context menu
friendly". What are your thoughts?
Well there are several "cool" approaches. You could do something like
iCal when you click on an event, and/or Delicious Library 2 (http://theocacao.com/document.page/505
) -- they both do popout bubbles when clicking on a particular item.
You could do this when clicking on some signifier in a row (for
instance -- a button, or selecting the row itself).
If you want a HUD, it should just be context aware. You could have
some toolbar button that shows/hides the HUD, and it is aware of the
current selection in the tableview and updates itself as the selection
changes. This is a lot more standard than requiring the user to right
click to show it, and makes discoverability easier.
If you really want to do a HUD, you will probably have to subclass
NSTableView, override mouseDown:, call super (to do all the work of
tracking and changing the selection), and then show your HUD if it
was a right click.
Its actually on a NSOutlineView - is the same applicable?
Yup! it is a subclass.
corbin
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden