• 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: changing a single row in NSOutlineView to different control
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: changing a single row in NSOutlineView to different control


  • Subject: Re: changing a single row in NSOutlineView to different control
  • From: John Terranova <email@hidden>
  • Date: Thu, 20 Jul 2006 22:18:01 -0700


On Jul 20, 2006, at 7:25 PM, Ender Wiggins wrote:

Hey all,

I have an NSOutlineView already populated with data but now I'd like
to change one of the rows in one of the columns with an
NSPopUpButtonCell. This all happens in a class 'MyOutlineDataSource'
which contains the required outline methods.

Short answer: in NSTableColumn.h use - (id)dataCellForRow:(int)row;

Does this sound right ... do I need to just create a new class (my
delegate) inherited from NSObject and in IB make the NSOutlineView
point to the new delegate class by setting the custom class tab?

Doing this will change the class of the outline view and would only work if your new class inherits from NSOutlineView. But it won't help you solve your problem very well, anyway.


I
think I understand that part, but then, I'm not sure what delegate
method I need to call and how to return the NSPopUpButtonCell for that
column and row only.

I don't know what delegate method you would use, either. Forget the delegate, you want a custom table column that inherits from NSTableColumn. Load the .h into Interface Builder, then select that column in your outline view. Now go to the custom class tab and choose your new table column class.


Then, in your custom table column class override the dataCellForRow: message to either call super or return your special cell with the NSPopUpButtonCell. Of course, you'll have to create that cell before you try to use it the first time. I create it in my getter like this, so it is only created once and remembered until dealloc:

- (NSImageCell *)cellImage
{
	if (cellImage == nil)
		cellImage = [[NSImageCell alloc] init];

	return cellImage;
}

The way it works is the user selects a file and I read the file in and
based on it's contents, I build the node tree in the outline view. I
tried at this point to add in an NSPopUpButtonCell, but the entire
column was button cells which I don't want.

Any help much appreciated.

Hope this helps.

	john

Fight war, not wars.

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: changing a single row in NSOutlineView to different control
      • From: Apparao <email@hidden>
References: 
 >changing a single row in NSOutlineView to different control (From: "Ender Wiggins" <email@hidden>)

  • Prev by Date: Re: Watching System Configuration
  • Next by Date: Re: bindings, tables and custom sort selector
  • Previous by thread: changing a single row in NSOutlineView to different control
  • Next by thread: Re: changing a single row in NSOutlineView to different control
  • Index(es):
    • Date
    • Thread