• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How to set the string and integer value of an NSButtonCell using NSOutilneView
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to set the string and integer value of an NSButtonCell using NSOutilneView


  • Subject: Re: How to set the string and integer value of an NSButtonCell using NSOutilneView
  • From: Chase Meadors <email@hidden>
  • Date: Mon, 27 Jul 2009 16:53:40 -0500

Well, according to the documentation, an NSButtonCell's object value (and all interpretations thereof) correspond to the state of the button (on, off, or mixed). You want to set this as well as set the title of the button. Unlike NSBrowser, NSOutlineView's data source methods don't provide direct access to the cell, it only asks you for the object value.

It's a bit of a pain, but if you want the button state AND the title of the button to be affected by object value, you could subclass NSButtonCell and override -setObjectValue:. THEN, in the datasource methods, you could pass a dictionary containing an int and a string. Then do this:

- (void)setObjectValue:(id)object {

	[super setObjectValue:[object valueForKey:@"buttonState"]];

	[self setTitle:[object valueForKey:@"buttonTitle"]];

}

Getting controls to USE your custom cell can be icky (NSBrowser ack!), but I don't have much experience with NSOutlineView. If you have trouble with that, just reply and ask on the list. You should be able to just call -setCellClass:[MyCustomCell class] on your outline view.

On Jul 27, 2009, at 4:17 PM, Korei Klein wrote:

I'm implementing an NSOutlineViewDataSource object which will be the data source of an NSOutlineView.
The NSOutlineView displays its data in NSButtonCell s.


The value displayed in an NSButtonCell is both an integer, and a string.
The delegate method which I am implementing outlineView:objectValueForTableColumn:byItem, however, allows me to return only one value to the NSOutlineView.


Is it possible for my implementation of outlineView:objectValueForTableColumn:byItem to set both the string value and the integer value of the NSButtonCell?


Also, how do I determine the index of the column which is the second argument of outlineView:objectValueForTableColumn:byItem.
_______________________________________________


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

_______________________________________________

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


References: 
 >How to set the string and integer value of an NSButtonCell using NSOutilneView (From: Korei Klein <email@hidden>)

  • Prev by Date: nil there not here
  • Next by Date: Re: [iPhone] Why can't a UITextField be its own delegate?
  • Previous by thread: How to set the string and integer value of an NSButtonCell using NSOutilneView
  • Next by thread: Re: How to set the string and integer value of an NSButtonCell using NSOutilneView
  • Index(es):
    • Date
    • Thread