• 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 experience?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: NSToolbar experience?


  • Subject: Re: NSToolbar experience?
  • From: Chuck Pisula <email@hidden>
  • Date: Mon, 30 Apr 2001 09:08:15 -0700

The release notes has some good information, and there is quite a bit of documentation in the headers, but.... nothing helps like an example. In your code, at a minimum, you'd probably do something like the code snippets I've attached.

HTH,
chuck

// Probably called from awakeFromNib, or - windowControllerDidLoadNib:
- (void) setupToolbar {
// Create a new toolbar instance, and attach it to our document window
NSToolbar *toolbar = [[[NSToolbar alloc] initWithIdentifier: MyDocToolbarIdentifier] autorelease];

// Set up toolbar properties: Allow customization, give a default display mode, and remember state in user defaults
[toolbar setAllowsUserCustomization: YES];
[toolbar setAutosavesConfiguration: YES];
[toolbar setDisplayMode: NSToolbarDisplayModeIconOnly];

// We are the delegate
[toolbar setDelegate: self];

// Attach the toolbar to the document window
[documentWindow setToolbar: toolbar];
}


- (NSArray *) toolbarDefaultItemIdentifiers: (NSToolbar *) toolbar {
// Required delegate method Returns the ordered list of items to be shown in the toolbar by default
// If during the toolbar's initialization, no overriding values are found in the user defaults, or if the
// user chooses to revert to the default items self set will be used
return [NSArray arrayWithObjects: SaveDocToolbarItemIdentifier, NSToolbarPrintItemIdentifier, NSToolbarSeparatorItemIdentifier,
NSToolbarShowColorsItemIdentifier, NSToolbarShowFontsItemIdentifier, NSToolbarFlexibleSpaceItemIdentifier,
NSToolbarSpaceItemIdentifier, nil];
}

- (NSArray *) toolbarAllowedItemIdentifiers: (NSToolbar *) toolbar {
// Required delegate method Returns the list of all allowed items by identifier By default, the toolbar
// does not assume any items are allowed, even the separator So, every allowed item must be explicitly listed
// The set of allowed items is used to construct the customization palette
return [NSArray arrayWithObjects: SaveDocToolbarItemIdentifier, NSToolbarPrintItemIdentifier,
NSToolbarShowColorsItemIdentifier, NSToolbarShowFontsItemIdentifier, NSToolbarCustomizeToolbarItemIdentifier,
NSToolbarFlexibleSpaceItemIdentifier, NSToolbarSpaceItemIdentifier, NSToolbarSeparatorItemIdentifier, nil];
}

- (NSToolbarItem *) toolbar: (NSToolbar *)toolbar itemForItemIdentifier: (NSString *) itemIdent willBeInsertedIntoToolbar:(BOOL) willBeInserted {
// Required delegate method Given an item identifier, self method returns an item
// The toolbar will use self method to obtain toolbar items that can be displayed in the customization sheet, or in the toolbar itself
// Note that the toolbar knows how to make the standard NS supplied items all on its own, we don't have to do that.
NSToolbarItem *toolbarItem = [[[NSToolbarItem alloc] initWithItemIdentifier: itemIdent] autorelease];

if ([itemIdent isEqual: SaveDocToolbarItemIdentifier]) {
// Set the text label to be displayed in the toolbar and customization palette
[toolbarItem setLabel: @"Save"];
[toolbarItem setPaletteLabel: @"Save"];

// Set up a reasonable tooltip, and image Note, these aren't localized, but you will likely want to localize many of the item's properties
[toolbarItem setToolTip: @"Save Your Document"];
[toolbarItem setImage: [NSImage imageNamed: @"SaveDocumentItemImage"]];

// Tell the item what message to send when it is clicked
[toolbarItem setTarget: self];
[toolbarItem setAction: @selector(saveDocument:)];
}
else {
// itemIdent refered to a toolbar item that is not provide or supported by us or cocoa
// Returning nil will inform the toolbar this kind of item is not supported
toolbarItem = nil;
}
return toolbarItem;
}


On Saturday, April 28, 2001, at 08:01 PM, Andreas Wolf wrote:

Hi cocoa-dev,

has anybody experience using NSToolbar and NSToolbarItems and
can he/she provide some sample code or a path to code using these classes?

I've read the AppKit Release Notes and believe that I did all that was required to
get a toolbar on my window, but still I don't see much more than a horizontal line.
How can get items on that toolbar (predefined or custom made)?

Thanx,
-A
_______________________________________________
cocoa-dev mailing list
email@hidden
http://www.lists.apple.com/mailman/listinfo/cocoa-dev


  • Follow-Ups:
    • Re: NSToolbar experience?
      • From: Andreas Wolf <email@hidden>
References: 
 >NSToolbar experience? (From: Andreas Wolf <email@hidden>)

  • Prev by Date: NSToolbar experience?
  • Next by Date: capture NSOpenGL (Cocoa) onto a QuickTime frame
  • Previous by thread: NSToolbar experience?
  • Next by thread: Re: NSToolbar experience?
  • Index(es):
    • Date
    • Thread