• 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: NSToolbar in Preferences Panel
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSToolbar in Preferences Panel


  • Subject: Re: NSToolbar in Preferences Panel
  • From: Saratchandra Kongara <email@hidden>
  • Date: Wed, 18 Dec 2002 12:22:56 -0500

Thanks. Actually I had all of them (label, icon etc) set for each toolbar item in my original code. I was trying out different things and forgot to include it in the posted code. I think the problem was that my NSToolbar delegate methods were not included in the header file and some of the images are missing from the nib file. Thanks for pointing this out. I really appreciate it.

Regards
Sarat Kongara

On Wednesday, December 18, 2002, at 12:05 PM, Jan Van Boghout wrote:

You're not setting a label or icon or anything for your items in the - (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString *)itemIdentifier willBeInsertedIntoToolbar:(BOOL)flag method. You should set a label, icon, target, selector etc.

I am trying to create a toolbar for a preferences panel that is loaded
from a separate nib file (not mainmenu.nib). I have a preference
controller class that inherits from NSWindowController. The preferences
panel loads and shows up right but the toolbar is not created. I looked
at this for an hour but can't seem to find my mistake. Any help is
appreciated. Thanks.

Here is the code

In main controller
// in MainController.h

PreferenceController *preferenceController;

// In Maincontroller.m

- (void) init {
[some code here]

preferenceController = nil;

[some code here]
}

- (IBAction)showPreferencePanel:(id)sender {
// Is preferenceController nil?
if(!preferenceController) {
preferenceController = [[PreferenceController alloc] init];
}
[preferenceController showWindow:self];
}

// In PreferenceController.h
#import <AppKit/AppKit.h>

@interface PreferenceController : NSWindowController {
IBOutlet NSPanel *mainPanel; // In IB this is connected to the
preference panel
}

- (void)setupToolbar;

@end

// In PreferenceController.m

#import "PreferenceController.h"

@implementation PreferenceController

- (id)init {
self = [super initWithWindowNibName:@"Preferences"];
return self;
}

- (void)windowDidLoad {
[self setupToolbar];
}

- (void)setupToolbar
{
NSToolbar *toolbar = [[NSToolbar alloc]
initWithIdentifier:@"PreferencesToolbar"];
[toolbar setDelegate:self];
[toolbar setAllowsUserCustomization:NO];
[toolbar setAutosavesConfiguration:YES];
[toolbar setDisplayMode:NSToolbarDisplayModeLabelOnly];
[mainPanel setToolbar:[toolbar autorelease]];
}

// Delegate methods for Toolbar
- (NSToolbarItem *)toolbar:(NSToolbar *)toolbar
itemForItemIdentifier:(NSString *)itemIdentifier
willBeInsertedIntoToolbar:(BOOL)flag {
NSToolbarItem *item = [[NSToolbarItem alloc]
initWithItemIdentifier:itemIdentifier];
return [item autorelease];
}

- (NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar {
return [NSArray arrayWithObjects:@"General", @"Sounds", @"Preview",
@"Publish", nil];
}

- (NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar {
return [NSArray arrayWithObjects:@"General", @"Sounds", @"Preview",
@"Publish", nil];
}

@end

The file owner in the preferences nib file is set to
PreferenceController. The windowDidLoad method is also getting called,
but I don't see a toolbar. Actually there is a little bar but no labels
on it or anything.

Regards
Sarat
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

References: 
 >Re: NSToolbar in Preferences Panel (From: Jan Van Boghout <email@hidden>)

  • Prev by Date: Re: NSToolbar in Preferences Panel
  • Next by Date: Re: NSDocumentController singleton problem, part 2
  • Previous by thread: Re: NSToolbar in Preferences Panel
  • Next by thread: ANN: Class diagrams of frameworks (free)
  • Index(es):
    • Date
    • Thread