1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
/*
* SecondWindowOwner.m: An application to demonstrate the GNUstep toolbars
*
* Copyright (c) 2004 Free Software Foundation, Inc.
*
* Author: Quentin Mathe <qmathe@club-internet.fr>
* Date: March 2004
*
* This sample program is part of GNUstep.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "SecondWindowOwner.h"
@implementation SecondWindowOwner
- (void) awakeFromNib
{
GSToolbar *otherToolbar;
//NSLog(@"Nib loaded with window");
otherToolbar = [[GSToolbar alloc] initWithIdentifier: @"blablaToolbar"];
//NSLog(@"Mini controller delegate %@", self);
[otherToolbar setDelegate: self];
[otherToolbarView setBorderMask: GSToolbarViewTopBorder
| GSToolbarViewBottomBorder
| GSToolbarViewRightBorder
| GSToolbarViewLeftBorder];
[(GSToolbarView *)otherToolbarView setToolbar: otherToolbar];
// We do a cast to eliminate a warning...
RELEASE(otherToolbar);
}
// Toolbar delegates
- (NSToolbarItem *) toolbar: (GSToolbar *)toolbar itemForItemIdentifier: (NSString *)identifier
willBeInsertedIntoToolbar: (BOOL)willBeInserted
{
NSToolbarItem *toolbarItem = [[NSToolbarItem alloc] initWithItemIdentifier: identifier];
//NSLog(@"toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar: has been called");
AUTORELEASE(toolbarItem);
if ([identifier isEqual: @"Third"])
{
[toolbarItem setLabel: @"Validation example"];
[toolbarItem setImage: [NSImage imageNamed:@"RecyclerFull"]];
[toolbarItem setTarget: buttonWithValidation];
[toolbarItem setAction: @selector(performClick:)];
}
else if ([identifier isEqual: @"Four"])
{
[toolbarItem setLabel: @"Yet another item"];
[toolbarItem setImage: [NSImage imageNamed: @"RecyclerFull"]];
[toolbarItem setTarget: window];
[toolbarItem setAction: @selector(toggleToolbarShown:)];
}
return toolbarItem;
}
- (NSArray *) toolbarDefaultItemIdentifiers: (GSToolbar *)toolbar {
//NSLog(@"toolbarDefaultItemIdentifiers: has been called");
return [NSArray arrayWithObjects: @"Third",
@"Four",
NSToolbarShowFontsItemIdentifier,
NSToolbarShowColorsItemIdentifier,
nil];
}
- (NSArray *) toolbarAllowedItemIdentifiers: (GSToolbar *)toolbar {
//NSLog(@"toolbarAllowedItemIdentifiers: has been called");
return [NSArray arrayWithObjects: @"Third",
@"Four",
NSToolbarShowFontsItemIdentifier,
NSToolbarShowColorsItemIdentifier,
nil];
}
- (NSArray *) toolbarSelectableItemIdentifiers: (NSToolbar *)toolbar
{
//NSLog(@"toolbarSelectableItemIdentifiers: has been called");
return [NSArray arrayWithObjects: @"Third",
NSToolbarShowFontsItemIdentifier,
nil];
}
// ---
- (void) removeItem: (id)sender
{
[[otherToolbarView toolbar] removeItemAtIndex: [itemIndexField intValue]];
}
- (NSWindow *) window
{
return window;
}
- (void) windowClose: (NSNotification *)notification
{
[[NSNotificationCenter defaultCenter] removeObserver: self];
AUTORELEASE(self);
}
@end
|