Ok as you suggested it's better to call it active Buttons in the OutlineView 
then selected...

For the NSIndexSet: let's say that I've 3 ore more NSButtonCells, if only one 
is active then it will display only one Graph, if it has 2 activated let's say 
the first and last one both resp. graphs will be displayed and so on.

For example NSTableView / NSOutlineView method  (NSIndexSet 
*)selectedRowIndexes is useful if a user selects / unselects multiple rows.
However in my case I've a bunch of NSButtonCells which can be activated / 
deactivated without selecting / deselecting the outlineview multiple rows...the 
difference is that to have the multiple rows activated a user
must press the SHIFT key... with a bunch of NSButtonCells this is not necessary.
So the question is: how do I detect which set if NSButtonCells are active ? 

I hope that my explanation are a little bit more clear now ...

Gilles

On 8 déc. 2011, at 19:13, Quincey Morris wrote:

> On Dec 8, 2011, at 08:12 , Gilles Celli wrote:
> 
>> The instrument's name is selectable as an NSButtonCell, the idea is to turn 
>> on/off its respective graph / plot.
>> So there's a mix of NSButtonCells along with NSString in the NSOutlineView.
>> My model's NSButtonCells are based of NSMutableDictionary which will change 
>> the integerValue of NSButton for their resp. key, this works.
>> 
>> I've setup an NSArray to store the selected instruments.
>> In fact I've problems creating the NSIndexSet of the selected instruments 
>> and not knowing where to put the whole code.
> 
> Your question is unclear. Because we're talking about a NSOutlineView, 
> "selected" means what you're calling "highlighted" below. It's better not to 
> use "selected" to refer to the on/off state of your button cells. Let's call 
> that "active".
> 
>> Should I put the code in
>> In outlineView: objectValueForTableColumn:byItem:(id)item or in 
>> outlineView:setObjectValue:forTableColumn:byItem:  ?
> 
> If you're trying to maintain a NSArray of "active" instruments, the correct 
> place would be outlineView:setObjectValue:forTableColumn:byItem:, since 
> that's the point at which you get told of the change of state.
> 
>> Putting it in the NSOutlineView notification method 
>> -(void)outlineViewSelectionDidChange:(NSNotification *)notification is bad 
>> idea (I think) since then
>> the NSButtons are only changing their state if the row of the NSOutlineView 
>> is highlighted / selected. 
>> 
>> I want to have the user change the state of the buttons whithout first 
>> selecting the row of the outlineview.
>> 
>> So should I alway recreate a new NSIndexSet for the selected NSButtonCells ? 
>> If yes in which method should I put the code ?
> 
> I'm not sure what the NSIndexSet is for. Do you mean "selected" or "active"?
> 

_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to