Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Add Toolbar to Document Based Project



I would like to add a toolbar to a document based application. I chose
an approach similar to an example by Mike Beam Creating Toolbars for
Mac OS X.
I extended the class "MyDocument" by the Category
(ToolbarDelegateCategory).

@interface MyDocument (ToolbarDelegateCategory)

-(NSToolbarItem *)toolbar:(NSToolbar *)toolbar
itemForItemIdentifier:(NSString *)itemIdentifier
willBeInsertedIntoToolbar:(BOOL)flag;

-(NSArray *)toolbarAllowedItemIdentifiers:(NSToolbar*)toolbar;

-(NSArray *)toolbarDefaultItemIdentifiers:(NSToolbar*)toolbar;

-(void)setupToolbar;
@end

I did also the implementation for this category. Important is the
method:

-(void)setupToolbar
{
NSToolbar *toolbar =[[NSToolbar alloc]
initWithIdentifier:@"mainToolbar"];
[toolbar setDelegate:self];
[toolbar setAllowsUserCustomization:YES];
[toolbar setAutosavesConfiguration:YES];
[window setToolbar:[toolbar autorelease]];
}

The problem is setting up the toolbar in the document window by the
method
[window setToolbar: toolbar];
The instance variable window is declared as private in NSDocument, so
there is no direct access in MyDocument.

I worked a round this problem by defining a second a second instance
variable
IBOutlet id docWindow

and did the the right connection in IB. After replacing window by
docWindow and compiling the code the application works fine.
In the end I use to instance variable for one object and that a bit
strange.
My question is, is this the only way to work around such a problem.

Thanks for any help!

Uwe
_______________________________________________
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.



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.