• 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: Is there an easier way of changing NSButtonCell state in an NSOutlineView
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Is there an easier way of changing NSButtonCell state in an NSOutlineView


  • Subject: Re: Is there an easier way of changing NSButtonCell state in an NSOutlineView
  • From: Lee Ann Rucker <email@hidden>
  • Date: Wed, 23 Nov 2011 09:52:31 -0800 (PST)

How about just a C array? If NBR_OF_ROWS is a constant,

BOOL checks[NBR_OF_ROWS];

otherwise malloc it.

Although I'd be more likely to have an array of data objects with a BOOL and whatever goes in the text field, just to keep the two values together and allow for reordering, variable sized arrays, etc.

----- Original Message -----
From: "Gilles Celli" <email@hidden>
To: email@hidden
Sent: Wednesday, November 23, 2011 7:58:34 AM
Subject: Is there an easier way of changing NSButtonCell state in an NSOutlineView

Hello,

I've setup an NSOutlineView with 2 colums: the first one named "buttonColumns" with NSButtonCell (Switch ON / OFF)
and the second one with TextFieldCell…

While the state change works for NSButtonCell in the buttonColum I had to create an NSArray *checks to set it ON or OFF.
Is there an easier way to change the state of an NSButtonCell in an NSOutlineView without using an NSArray ?
The code I'm using seems a little bit overkill for me...there must be a simpler solution...

Here's what I've done so far and it works:

// init code

checks  = [[NSMutableArray alloc] init];
for ( int i=0; i <  NBR_OF_ROWS;  i++ )
        [checks addObject:[NSNumber numberWithInt:0]];

// NSOutlineView datasource methods

- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
{
    id theValue;
  NSInteger selectedRowIndex = [outlineView selectedRow];
   if ( [[tableColumn identifier] isEqualToString:@"buttonColumn"] )
   {
      theValue = [checks objectAtIndex:selectedRowIndex];
    }
    return theValue;
}

- (void)outlineView:(NSOutlineView *)outlineView setObjectValue:(id)object forTableColumn:(NSTableColumn *)tableColumn byItem:(id)item
{
    NSInteger selectedRowIndex = [outlineView selectedRow];

    if ( [[tableColumn identifier] isEqualToString:@"buttonColumn" ])
    {
       [checks replaceObjectAtIndex:selectedRowIndex withObject:object];
     }
}

Does someone have any clue ? Any help is greatly appreciated ?


Cheers,

Gilles

_______________________________________________

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: 
 >Is there an easier way of changing NSButtonCell state in an NSOutlineView (From: Gilles Celli <email@hidden>)

  • Prev by Date: Re: Weird NSTextField behavior on MBA.
  • Next by Date: Re: Is there an easier way of changing NSButtonCell state in an NSOutlineView
  • Previous by thread: Is there an easier way of changing NSButtonCell state in an NSOutlineView
  • Next by thread: Re: Is there an easier way of changing NSButtonCell state in an NSOutlineView
  • Index(es):
    • Date
    • Thread