2003-08-24 17:22:11 +00:00
|
|
|
/*
|
|
|
|
<title>GSToolbarView.h</title>
|
|
|
|
|
|
|
|
<abstract>The private toolbar class which draws the actual toolbar.</abstract>
|
|
|
|
|
|
|
|
Copyright (C) 2002 Free Software Foundation, Inc.
|
|
|
|
|
|
|
|
Author: Gregory John Casamento <greg_casamento@yahoo.com>,
|
2004-03-12 22:55:02 +00:00
|
|
|
Fabien Vallon <fabien.vallon@fr.alcove.com>,
|
|
|
|
Quentin Mathe <qmathe@club-internet.fr>
|
2003-08-24 17:22:11 +00:00
|
|
|
Date: May 2002
|
|
|
|
|
|
|
|
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 Library 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
|
|
|
|
Library General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Library General Public
|
|
|
|
License along with this library; see the file COPYING.LIB.
|
|
|
|
If not, write to the Free Software Foundation,
|
|
|
|
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _GSToolbarView_h_INCLUDE
|
|
|
|
#define _GSToolbarView_h_INCLUDE
|
|
|
|
|
2004-02-25 03:27:23 +00:00
|
|
|
#include <Foundation/NSGeometry.h>
|
2004-03-23 22:57:03 +00:00
|
|
|
#include <AppKit/NSView.h>
|
2004-05-18 19:35:58 +00:00
|
|
|
#include <AppKit/NSColor.h>
|
2004-02-25 03:27:23 +00:00
|
|
|
|
2004-04-13 13:12:53 +00:00
|
|
|
#include "GNUstepGUI/GSToolbar.h"
|
|
|
|
// Necessary for NSToolbarDisplayMode and NSToolbarSizeMode
|
|
|
|
|
2004-02-25 03:27:23 +00:00
|
|
|
@class NSMutableArray;
|
|
|
|
@class NSClipView;
|
2004-05-18 19:35:58 +00:00
|
|
|
@class NSToolbarItem;
|
2004-02-25 03:27:23 +00:00
|
|
|
@class GSToolbarClippedItemsButton;
|
|
|
|
|
|
|
|
enum {
|
|
|
|
GSToolbarViewNoBorder = 0,
|
|
|
|
GSToolbarViewRightBorder = 2,
|
|
|
|
GSToolbarViewLeftBorder = 4,
|
|
|
|
GSToolbarViewTopBorder = 8,
|
|
|
|
GSToolbarViewBottomBorder = 16
|
|
|
|
};
|
|
|
|
|
2004-04-13 13:12:53 +00:00
|
|
|
typedef enum {
|
2004-05-23 18:22:45 +00:00
|
|
|
_ToolbarViewDefaultHeight = 62,
|
|
|
|
_ToolbarViewRegularHeight = 62,
|
|
|
|
_ToolbarViewSmallHeight = 52
|
2004-04-13 13:12:53 +00:00
|
|
|
} _ToolbarViewHeight;
|
|
|
|
|
|
|
|
typedef enum {
|
2004-02-25 03:27:23 +00:00
|
|
|
_ItemBackViewDefaultHeight = 60,
|
|
|
|
_ItemBackViewRegularHeight = 60,
|
|
|
|
_ItemBackViewSmallHeight = 50
|
|
|
|
} _ItemBackViewHeight;
|
|
|
|
|
2004-04-13 13:12:53 +00:00
|
|
|
typedef enum {
|
2004-02-25 03:27:23 +00:00
|
|
|
_ItemBackViewDefaultWidth = 60,
|
|
|
|
_ItemBackViewRegularWidth = 60,
|
|
|
|
_ItemBackViewSmallWidth = 50
|
|
|
|
} _ItemBackViewWidth;
|
|
|
|
|
|
|
|
static const int _ItemBackViewX = 0;
|
|
|
|
static const int _ItemBackViewY = 0;
|
|
|
|
static const int _InsetItemViewX = 10;
|
|
|
|
static const int _InsetItemViewY = 26;
|
|
|
|
static const int _InsetItemTextX = 3;
|
|
|
|
static const int _InsetItemTextY = 4;
|
|
|
|
|
|
|
|
static const int _ClippedItemsViewWidth = 28;
|
2003-08-24 17:22:11 +00:00
|
|
|
|
|
|
|
@interface GSToolbarView : NSView
|
|
|
|
{
|
2004-03-12 22:55:02 +00:00
|
|
|
GSToolbar *_toolbar;
|
2004-02-25 03:27:23 +00:00
|
|
|
NSClipView *_clipView, *_clipViewForEditMode;
|
|
|
|
GSToolbarClippedItemsButton *_clippedItemsMark;
|
|
|
|
NSMutableArray *_visibleBackViews;
|
|
|
|
BOOL _willBeVisible;
|
|
|
|
unsigned int _borderMask;
|
2004-04-13 13:12:53 +00:00
|
|
|
NSToolbarDisplayMode _displayMode;
|
|
|
|
NSToolbarSizeMode _sizeMode;
|
2004-05-23 18:22:45 +00:00
|
|
|
NSRect _rectAvailable;
|
2004-04-13 13:12:53 +00:00
|
|
|
unsigned int _heightFromLayout;
|
2003-08-24 17:22:11 +00:00
|
|
|
}
|
2004-02-25 03:27:23 +00:00
|
|
|
|
2004-04-13 13:12:53 +00:00
|
|
|
- (id) initWithFrame: (NSRect)frame;
|
|
|
|
- (id) initWithFrame: (NSRect)frame
|
|
|
|
displayMode: (NSToolbarDisplayMode)displayMode
|
|
|
|
sizeMode: (NSToolbarSizeMode)sizeMode;
|
2004-02-25 03:27:23 +00:00
|
|
|
|
|
|
|
// Accessors
|
2004-03-12 22:55:02 +00:00
|
|
|
- (GSToolbar *) toolbar;
|
|
|
|
- (void) setToolbar: (GSToolbar *)toolbar;
|
2004-02-25 03:27:23 +00:00
|
|
|
- (unsigned int) borderMask;
|
|
|
|
- (void) setBorderMask: (unsigned int)borderMask;
|
2003-08-24 17:22:11 +00:00
|
|
|
|
|
|
|
@end
|
|
|
|
|
2004-05-18 19:35:58 +00:00
|
|
|
// Toolbar related NSColor methods
|
|
|
|
@interface NSColor (Extensions)
|
|
|
|
+ (NSColor *) toolbarBackgroundColor;
|
|
|
|
+ (NSColor *) toolbarBorderColor;
|
|
|
|
@end
|
|
|
|
|
2003-08-24 17:22:11 +00:00
|
|
|
#endif
|