mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-25 20:41:00 +00:00
Modification to allow changing menu font and size
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8720 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
8e9c5c2798
commit
0f1f883950
1 changed files with 24 additions and 6 deletions
|
@ -51,6 +51,20 @@
|
||||||
#include <AppKit/NSPopUpButtonCell.h>
|
#include <AppKit/NSPopUpButtonCell.h>
|
||||||
#include <AppKit/NSScreen.h>
|
#include <AppKit/NSScreen.h>
|
||||||
|
|
||||||
|
@interface NSMenuWindowTitleView (height)
|
||||||
|
+ (float) titleHeight;
|
||||||
|
@end
|
||||||
|
|
||||||
|
@implementation NSMenuWindowTitleView (height)
|
||||||
|
+ (float) titleHeight
|
||||||
|
{
|
||||||
|
NSFont *font = [NSFont boldSystemFontOfSize: 0.0];
|
||||||
|
|
||||||
|
/* Should make up 23 for the default font */
|
||||||
|
return ([font boundingRectForFont].size.height) + 8;
|
||||||
|
}
|
||||||
|
@end
|
||||||
|
|
||||||
static NSZone *menuZone = NULL;
|
static NSZone *menuZone = NULL;
|
||||||
|
|
||||||
static NSString *NSMenuLocationsKey = @"NSMenuLocations";
|
static NSString *NSMenuLocationsKey = @"NSMenuLocations";
|
||||||
|
@ -158,7 +172,8 @@ static NSString *NSMenuLocationsKey = @"NSMenuLocations";
|
||||||
|
|
||||||
- (id) initWithTitle: (NSString*)aTitle
|
- (id) initWithTitle: (NSString*)aTitle
|
||||||
{
|
{
|
||||||
NSRect winRect = {{0,0},{20,23}};
|
float height = [NSMenuWindowTitleView titleHeight];
|
||||||
|
NSRect winRect = { {0 , 0}, {20, height} };
|
||||||
NSView *contentView;
|
NSView *contentView;
|
||||||
|
|
||||||
[super init];
|
[super init];
|
||||||
|
@ -196,8 +211,8 @@ static NSString *NSMenuLocationsKey = @"NSMenuLocations";
|
||||||
bWindow = [[NSMenuWindow alloc] init];
|
bWindow = [[NSMenuWindow alloc] init];
|
||||||
|
|
||||||
titleView = [[NSMenuWindowTitleView alloc] init];
|
titleView = [[NSMenuWindowTitleView alloc] init];
|
||||||
[titleView setFrameOrigin: NSMakePoint(0, winRect.size.height - 23)];
|
[titleView setFrameOrigin: NSMakePoint(0, winRect.size.height - height)];
|
||||||
[titleView setFrameSize: NSMakeSize (winRect.size.width, 23)];
|
[titleView setFrameSize: NSMakeSize (winRect.size.width, height)];
|
||||||
|
|
||||||
contentView = [aWindow contentView];
|
contentView = [aWindow contentView];
|
||||||
[contentView addSubview: menu_view];
|
[contentView addSubview: menu_view];
|
||||||
|
@ -833,7 +848,9 @@ static NSString *NSMenuLocationsKey = @"NSMenuLocations";
|
||||||
|
|
||||||
if (!menu_is_beholdenToPopUpButton)
|
if (!menu_is_beholdenToPopUpButton)
|
||||||
{
|
{
|
||||||
size.height += 23;
|
float height = [NSMenuWindowTitleView titleHeight];
|
||||||
|
|
||||||
|
size.height += height;
|
||||||
[aWindow setContentSize: size];
|
[aWindow setContentSize: size];
|
||||||
[aWindow setFrameTopLeftPoint:
|
[aWindow setFrameTopLeftPoint:
|
||||||
NSMakePoint(NSMinX(windowFrame),NSMaxY(windowFrame))];
|
NSMakePoint(NSMinX(windowFrame),NSMaxY(windowFrame))];
|
||||||
|
@ -842,7 +859,8 @@ static NSString *NSMenuLocationsKey = @"NSMenuLocations";
|
||||||
[bWindow setFrameTopLeftPoint:
|
[bWindow setFrameTopLeftPoint:
|
||||||
NSMakePoint(NSMinX(windowFrame),NSMaxY(windowFrame))];
|
NSMakePoint(NSMinX(windowFrame),NSMaxY(windowFrame))];
|
||||||
[menu_view setFrameOrigin: NSMakePoint (0, 0)];
|
[menu_view setFrameOrigin: NSMakePoint (0, 0)];
|
||||||
[titleView setFrame: NSMakeRect(0,size.height-23,size.width,23)];
|
[titleView setFrame: NSMakeRect (0, size.height - height,
|
||||||
|
size.width, height)];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue