/*
NSToolbarFrameworkPrivate.h
Private methods used throughout the toolbar classes.
Copyright (C) 2009 Free Software Foundation, Inc.
Author: Fred Kiefer
Date: January 2009
This file is part of the GNUstep GUI Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; see the file COPYING.LIB.
If not, see or write to the
Free Software Foundation, 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
*/
#ifndef _NSToolbarFrameworkPrivate_h_INCLUDE
#define _NSToolbarFrameworkPrivate_h_INCLUDE
#import "AppKit/NSMenuView.h"
#import "AppKit/NSToolbar.h"
#import "AppKit/NSToolbarItem.h"
#import "GNUstepGUI/GSToolbarView.h"
#import "GNUstepGUI/GSWindowDecorationView.h"
@interface GSToolbarView (GNUstepPrivate)
- (void) _reload;
// Accessors
- (CGFloat) _heightFromLayout;
- (NSArray *) _visibleBackViews;
- (BOOL) _usesStandardBackgroundColor;
- (void) _setUsesStandardBackgroundColor: (BOOL)standard;
@end
@interface NSToolbarItem (GNUstepPrivate)
- (void) _layout;
- (void) _computeFlags;
// Accessors
- (NSView *) _backView;
- (NSMenuItem *) _defaultMenuFormRepresentation;
- (BOOL) _isModified;
- (BOOL) _isFlexibleSpace;
- (BOOL) _selectable;
- (void) _setSelectable: (BOOL)selectable;
- (BOOL) _selected;
- (void) _setSelected: (BOOL)selected;
- (void) _setToolbar: (NSToolbar *)toolbar;
@end
@interface NSToolbar (GNUstepPrivate)
// Private class method
+ (NSArray *) _toolbarsWithIdentifier: (NSString *)identifier;
// Private methods with broadcast support
- (void) _insertItemWithItemIdentifier: (NSString *)itemIdentifier
atIndex: (int)index
broadcast: (BOOL)broadcast;
- (void) _removeItemAtIndex: (int)index broadcast: (BOOL)broadcast;
- (void) _setAllowsUserCustomization: (BOOL)flag broadcast: (BOOL)broadcast;
- (void) _setAutosavesConfiguration: (BOOL)flag broadcast: (BOOL)broadcast;
- (void) _setConfigurationFromDictionary: (NSDictionary *)configDict
broadcast: (BOOL)broadcast;
- (void) _moveItemFromIndex: (int)index toIndex: (int)newIndex broadcast: (BOOL)broadcast;
- (void) _setDisplayMode: (NSToolbarDisplayMode)displayMode
broadcast: (BOOL)broadcast;
- (void) _setSizeMode: (NSToolbarSizeMode)sizeMode
broadcast: (BOOL)broadcast;
- (void) _setVisible: (BOOL)shown broadcast: (BOOL)broadcast;
// Few other private methods
- (void) _build;
- (int) _indexOfItem: (NSToolbarItem *)item;
- (NSToolbar *) _toolbarModel;
- (void) _validate: (NSWindow *)observedWindow;
- (void) _toolbarViewWillMoveToSuperview: (NSView *)newSuperview;
- (NSDictionary *) _config;
- (void) _saveConfig;
- (void) _resetConfig;
- (BOOL) _containsItemWithIdentifier: (NSString *) identifier;
// Accessors
- (void) _setCustomizationPaletteIsRunning: (BOOL)isRunning;
- (void) _setToolbarView: (GSToolbarView *)toolbarView;
- (GSToolbarView *) _toolbarView;
// Deprecated
- (void) setUsesStandardBackgroundColor: (BOOL)standard;
- (BOOL) usesStandardBackgroundColor;
// Delegate wrappers
- (NSArray *) _allowedItemIdentifiers;
- (NSArray *) _defaultItemIdentifiers;
- (NSArray *) _selectableItemIdentifiers;
- (NSToolbarItem *) _toolbarItemForIdentifier: (NSString *)itemIdent willBeInsertedIntoToolbar: (BOOL)insert;
@end
@interface GSWindowDecorationView (ToolbarPrivate)
- (void) addToolbarView: (GSToolbarView*)toolbarView;
- (void) removeToolbarView: (GSToolbarView *)toolbarView;
- (void) adjustToolbarView: (GSToolbarView *)toolbarView;
@end
@interface GSWindowDecorationView (Menu)
- (void) addMenuView: (NSMenuView*)menuView;
- (NSMenuView*) removeMenuView;
@end
#endif // _NSToolbarFrameworkPrivate_h_INCLUDE