Thanks for the insight Ken. I’ll try setting the menu manually tomorrow (it’s half past midnight here) and let you know. But shouldn’t the -menuForEvent:(NSEvent *)event for my NSTableCellView subclass work instead ?
- Christos > On 11 Feb 2016, at 00:18, Ken Thomases <k...@codeweavers.com> wrote: > > Any connection you make from a table cell view to something outside of the > table column is suspect. It probably doesn't work. > > The views "inside" of a table column are actually in a sub-NIB. There's a > NIB archived to a data blob that's embedded in the NIB holding the outline > view. That NIB is unarchived and loaded by the table/outline view in its > -makeViewWithIdentifier:owner: method. The owner is whatever you pass to > that method. (If you let the table/outline view create views without its > delegate being involved, it will pass its own delegate as the owner.) > > When that sub-NIB is loaded, it contains just its own objects. None of the > other objects from the outer NIB. The menu is presumably in the outer NIB, > not the sub-NIB. So, the cell views won't be able to establish their > connection to the menu. > > One exception is the File's Owner placeholder. A connection to that works, > but may give a different result than you expect. The File's Owner for the > sub-NIB is the owner passed to -makeViewWithIdentifier:owner:. It's not the > owner of the outer NIB. > > You will need to connect the menu programmatically, most likely in your > delegate's -outlineView:viewForTableColumn:item: method. > > Regards, > Ken > >> On Feb 10, 2016, at 3:54 PM, Konidaris Christos <ko...@escape.gr> wrote: >> >> Yes I did set it, to the outlineView’s delegate object. >> >> >>> On 10 Feb 2016, at 23:32, Lee Ann Rucker <lruc...@vmware.com> wrote: >>> >>> Did you set the menu's delegate? It doesn't know about the outlineView's >>> delegate. >>> >>>> On Feb 10, 2016, at 9:10 AM, Konidaris Christos <ko...@escape.gr> wrote: >>>> >>>> I cannot get contextual menus to work inside the cells of my view-based >>>> NSOutlineView. >>>> >>>> In my cell view I have one standard NSImageView and one NSTextFieldCell. I >>>> set the menu for the outline view in IB. When I (right) click on a cell >>>> outside the two views the contextual menu appears. When I click on one of >>>> the two fields it does not. I can see from the logs that the menu >>>> delegate's menuNeedsUpdate: is not called in this case. I tried setting >>>> the same menu as the menu for these views in IB with the same result. I >>>> get the same behavior when I implement -menuForEvent:(NSEvent *)event for >>>> my NSOutlineView subclass instead of setting the menu in IB. >>>> >>>> I also tried implementing -menuForEvent:(NSEvent *)event for my >>>> NSTableCellView subclass with no better luck. This all in Xcode 7.2.1, >>>> deployment target set to 10.9, no ARC. >>>> >>>> Does anybody know what I am missing for the contextual menu to work for my >>>> cell views? >>>> >>>> Thanks in advance, >>>> >>>> - Christos Konidaris >>>> >>> >> >> >> _______________________________________________ >> >> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) >> >> 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: >> https://lists.apple.com/mailman/options/cocoa-dev/ken%40codeweavers.com >> >> This email sent to k...@codeweavers.com > _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com