mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 15:11:37 +00:00
Prettified
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8820 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
76ea49fa2a
commit
08072f4700
1 changed files with 218 additions and 113 deletions
|
@ -7,10 +7,14 @@
|
|||
|
||||
Author: Scott Christley <scottc@net-community.com>
|
||||
Date: 1996
|
||||
|
||||
Modified: Fred Kiefer <FredKiefer@gmx.de>
|
||||
Date: Febuary 2000
|
||||
Almost complete rewrite.
|
||||
|
||||
|
||||
Nicola Pero <n.pero@mi.flashnet.it>
|
||||
Date: January 2001 - sizings and resizings
|
||||
|
||||
This file is part of the GNUstep GUI Library.
|
||||
|
||||
This library is free software; you can redistribute it and/or
|
||||
|
@ -40,11 +44,34 @@
|
|||
#include <AppKit/NSBrowserCell.h>
|
||||
#include <AppKit/NSTextView.h>
|
||||
#include <AppKit/NSTextField.h>
|
||||
#include <AppKit/NSTextFieldCell.h>
|
||||
#include <AppKit/NSColor.h>
|
||||
#include <AppKit/NSPanel.h>
|
||||
#include <AppKit/NSButton.h>
|
||||
#include <AppKit/NSBox.h>
|
||||
|
||||
static inline void _setFloatValue (NSTextField *field, float size)
|
||||
{
|
||||
/* If casting size to int and then back to float we get no change,
|
||||
it means it's an integer */
|
||||
if ((float)((int)size) == size)
|
||||
{
|
||||
/* We prefer using this if it's an int, so that it's
|
||||
displayed like in `8' rather than like in
|
||||
`8.0000000000'. Yes - when NSCell's formatters are
|
||||
finished we won't need this. */
|
||||
[field setIntValue: (int)size];
|
||||
}
|
||||
else
|
||||
{
|
||||
[field setFloatValue: size];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Implemented in NSBrowser */
|
||||
@interface GSBrowserTitleCell : NSTextFieldCell
|
||||
@end
|
||||
|
||||
float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
||||
14.0, 16.0, 18.0, 24.0, 36.0, 48.0, 64.0};
|
||||
|
@ -141,16 +168,20 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
/*
|
||||
* Setting the Font
|
||||
*/
|
||||
- (void) setPanelFont: (NSFont*)fontObject
|
||||
- (void) setPanelFont: (NSFont *)fontObject
|
||||
isMultiple: (BOOL)flag
|
||||
{
|
||||
NSTextField *previewArea = [[self contentView] viewWithTag: NSFPPreviewField];
|
||||
NSTextField *previewArea;
|
||||
|
||||
previewArea = [[self contentView] viewWithTag: NSFPPreviewField];
|
||||
|
||||
ASSIGN(_panelFont, fontObject);
|
||||
_multiple = flag;
|
||||
|
||||
if (fontObject == nil)
|
||||
return;
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
[previewArea setFont: fontObject];
|
||||
|
||||
|
@ -203,11 +234,13 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
face = [[_faceList objectAtIndex: i] objectAtIndex: 1];
|
||||
}
|
||||
// show point size and select the row if there is one
|
||||
[sizeField setFloatValue: size];
|
||||
_setFloatValue (sizeField, size);
|
||||
for (i = 0; i < sizeof(sizes)/sizeof(float); i++)
|
||||
{
|
||||
if (size == sizes[i])
|
||||
[sizeBrowser selectRow: i inColumn: 0];
|
||||
{
|
||||
[sizeBrowser selectRow: i inColumn: 0];
|
||||
}
|
||||
}
|
||||
|
||||
[previewArea setStringValue: [NSString stringWithFormat: @"%@ %@ %d PT",
|
||||
|
@ -218,7 +251,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
/*
|
||||
* Converting
|
||||
*/
|
||||
- (NSFont*) panelConvertFont: (NSFont*)fontObject
|
||||
- (NSFont *) panelConvertFont: (NSFont *)fontObject
|
||||
{
|
||||
NSFont *newFont;
|
||||
|
||||
|
@ -236,8 +269,10 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
}
|
||||
|
||||
if (newFont == nil)
|
||||
newFont = fontObject;
|
||||
|
||||
{
|
||||
newFont = fontObject;
|
||||
}
|
||||
|
||||
return newFont;
|
||||
}
|
||||
|
||||
|
@ -262,7 +297,9 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
// FIXME: We have to resize
|
||||
// Perhaps we could copy the code from NSSavePanel over to here
|
||||
if (_accessoryView != nil)
|
||||
[_accessoryView removeFromSuperview];
|
||||
{
|
||||
[_accessoryView removeFromSuperview];
|
||||
}
|
||||
|
||||
ASSIGN(_accessoryView, aView);
|
||||
[[self contentView] addSubview: aView];
|
||||
|
@ -297,22 +334,22 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
|
||||
- (id) _initWithoutGModel
|
||||
{
|
||||
NSRect pf = {{100,100}, {300,300}};
|
||||
NSRect ta = {{0,50}, {300,250}};
|
||||
NSRect sv = {{0,5}, {300,245}};
|
||||
NSRect ts = {{0,200}, {297,40}};
|
||||
NSRect pa = {{6,0}, {285,50}};
|
||||
NSRect bs = {{0,0}, {297,188}};
|
||||
NSRect s1 = {{6,5}, {110,183}};
|
||||
NSRect s2 = {{122,5}, {110,183}};
|
||||
NSRect s3 = {{237,5}, {56,135}};
|
||||
NSRect sl = {{237,142}, {56,21}};
|
||||
NSRect l3 = {{237,166}, {56,22}};
|
||||
NSRect ba = {{0,0}, {300,50}};
|
||||
NSRect sb = {{0,45}, {300,2}};
|
||||
NSRect rb = {{56,8}, {72,24}};
|
||||
NSRect pb = {{137,8}, {72,24}};
|
||||
NSRect db = {{217,8}, {72,24}};
|
||||
NSRect contentRect = {{100, 100}, {300, 300}};
|
||||
NSRect topAreaRect = {{0, 42}, {300, 258}};
|
||||
NSRect splitViewRect = {{8, 8}, {284, 243}};
|
||||
NSRect topSplitRect = {{0, 0}, {284, 45}};
|
||||
NSRect previewAreaRect = {{0, 1}, {284, 44}};
|
||||
NSRect bottomSplitRect = {{0, 0}, {284, 190}};
|
||||
NSRect familyBrowserRect = {{0, 0}, {111, 189}};
|
||||
NSRect typefaceBrowserRect = {{113, 0}, {111, 189}};
|
||||
NSRect sizeBrowserRect = {{226, 0}, {58, 143}};
|
||||
NSRect sizeLabelRect = {{226, 145}, {58, 21}};
|
||||
NSRect sizeTitleRect = {{226, 168}, {58, 21}};
|
||||
NSRect bottomAreaRect = {{0, 0}, {300, 42}};
|
||||
NSRect slashRect = {{0, 40}, {300, 2}};
|
||||
NSRect revertButtonRect = {{63, 8}, {71, 24}};
|
||||
NSRect previewButtonRect = {{142, 8}, {71, 24}};
|
||||
NSRect setButtonRect = {{221, 8}, {71, 24}};
|
||||
NSView *v;
|
||||
NSView *topArea;
|
||||
NSView *bottomArea;
|
||||
|
@ -333,7 +370,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
unsigned int style = NSTitledWindowMask | NSClosableWindowMask
|
||||
| NSMiniaturizableWindowMask | NSResizableWindowMask;
|
||||
|
||||
self = [super initWithContentRect: pf
|
||||
self = [super initWithContentRect: contentRect
|
||||
styleMask: style
|
||||
backing: NSBackingStoreRetained
|
||||
defer: NO
|
||||
|
@ -343,18 +380,18 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
v = [self contentView];
|
||||
|
||||
// preview and selection
|
||||
topArea = [[NSView alloc] initWithFrame: ta];
|
||||
topArea = [[NSView alloc] initWithFrame: topAreaRect];
|
||||
[topArea setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)];
|
||||
|
||||
splitView = [[NSSplitView alloc] initWithFrame: sv];
|
||||
splitView = [[NSSplitView alloc] initWithFrame: splitViewRect];
|
||||
[splitView setVertical: NO];
|
||||
[splitView setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)];
|
||||
|
||||
topSplit = [[NSView alloc] initWithFrame: ts];
|
||||
[topSplit setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)];
|
||||
topSplit = [[NSView alloc] initWithFrame: topSplitRect];
|
||||
[topSplit setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)];
|
||||
|
||||
// Display for the font example
|
||||
previewArea = [[NSTextField alloc] initWithFrame: pa];
|
||||
previewArea = [[NSTextField alloc] initWithFrame: previewAreaRect];
|
||||
[previewArea setBackgroundColor: [NSColor textBackgroundColor]];
|
||||
[previewArea setDrawsBackground: YES];
|
||||
[previewArea setEditable: NO];
|
||||
|
@ -362,16 +399,18 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
//[previewArea setUsesFontPanel: NO];
|
||||
[previewArea setAlignment: NSCenterTextAlignment];
|
||||
[previewArea setStringValue: @"Font preview"];
|
||||
[previewArea setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
|
||||
[previewArea setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
|
||||
|
||||
[previewArea setTag: NSFPPreviewField];
|
||||
[topSplit addSubview: previewArea];
|
||||
RELEASE(previewArea);
|
||||
|
||||
bottomSplit = [[NSView alloc] initWithFrame: bs];
|
||||
bottomSplit = [[NSView alloc] initWithFrame: bottomSplitRect];
|
||||
[bottomSplit setAutoresizingMask: NSViewWidthSizable | NSViewHeightSizable];
|
||||
|
||||
// Selection of the font family
|
||||
// We use a browser with one column to get a selection list
|
||||
familyBrowser = [[NSBrowser alloc] initWithFrame: s1];
|
||||
familyBrowser = [[NSBrowser alloc] initWithFrame: familyBrowserRect];
|
||||
[familyBrowser setDelegate: self];
|
||||
[familyBrowser setMaxVisibleColumns: 1];
|
||||
[familyBrowser setAllowsMultipleSelection: NO];
|
||||
|
@ -381,14 +420,16 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
[familyBrowser setTakesTitleFromPreviousColumn: NO];
|
||||
[familyBrowser setTarget: self];
|
||||
[familyBrowser setDoubleAction: @selector(familySelected:)];
|
||||
[familyBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
|
||||
[familyBrowser setAutoresizingMask: (NSViewWidthSizable
|
||||
| NSViewMaxXMargin
|
||||
| NSViewHeightSizable)];
|
||||
[familyBrowser setTag: NSFPFamilyBrowser];
|
||||
[bottomSplit addSubview: familyBrowser];
|
||||
RELEASE(familyBrowser);
|
||||
|
||||
// selection of type face
|
||||
// We use a browser with one column to get a selection list
|
||||
faceBrowser = [[NSBrowser alloc] initWithFrame: s2];
|
||||
faceBrowser = [[NSBrowser alloc] initWithFrame: typefaceBrowserRect];
|
||||
[faceBrowser setDelegate: self];
|
||||
[faceBrowser setMaxVisibleColumns: 1];
|
||||
[faceBrowser setAllowsMultipleSelection: NO];
|
||||
|
@ -398,40 +439,41 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
[faceBrowser setTakesTitleFromPreviousColumn: NO];
|
||||
[faceBrowser setTarget: self];
|
||||
[faceBrowser setDoubleAction: @selector(faceSelected:)];
|
||||
[faceBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
|
||||
[faceBrowser setAutoresizingMask: (NSViewWidthSizable
|
||||
| NSViewMinXMargin
|
||||
| NSViewHeightSizable)];
|
||||
[faceBrowser setTag: NSFPFaceBrowser];
|
||||
[bottomSplit addSubview: faceBrowser];
|
||||
RELEASE(faceBrowser);
|
||||
|
||||
// label for selection of size
|
||||
label = [[NSTextField alloc] initWithFrame: l3];
|
||||
[label setFont: [NSFont titleBarFontOfSize: 0]];
|
||||
label = [[NSTextField alloc] initWithFrame: sizeTitleRect];
|
||||
[label setCell: [GSBrowserTitleCell new]];
|
||||
[label setFont: [NSFont boldSystemFontOfSize: 0]];
|
||||
[label setAlignment: NSCenterTextAlignment];
|
||||
[label setDrawsBackground: YES];
|
||||
[label setBezeled: YES];
|
||||
[label setEditable: NO];
|
||||
[label setSelectable: NO];
|
||||
[label setTextColor: [NSColor windowFrameTextColor]];
|
||||
[label setBackgroundColor: [NSColor controlShadowColor]];
|
||||
[label setStringValue: @"Size"];
|
||||
[label setAutoresizingMask: (NSViewWidthSizable | NSViewMinYMargin)];
|
||||
[label setAutoresizingMask: NSViewMinXMargin | NSViewMinYMargin];
|
||||
[label setTag: NSFPSizeTitle];
|
||||
[bottomSplit addSubview: label];
|
||||
RELEASE(label);
|
||||
|
||||
// this is the size input field
|
||||
sizeField = [[NSTextField alloc] initWithFrame: sl];
|
||||
sizeField = [[NSTextField alloc] initWithFrame: sizeLabelRect];
|
||||
[sizeField setDrawsBackground: YES];
|
||||
[sizeField setEditable: YES];
|
||||
//[sizeField setAllowsEditingTextAttributes: NO];
|
||||
[sizeField setAlignment: NSCenterTextAlignment];
|
||||
[sizeField setBackgroundColor: [NSColor windowFrameTextColor]];
|
||||
[sizeField setAutoresizingMask: (NSViewWidthSizable|NSViewMinYMargin)];
|
||||
[sizeField setAutoresizingMask: NSViewMinXMargin | NSViewMinYMargin];
|
||||
[sizeField setTag: NSFPSizeField];
|
||||
[bottomSplit addSubview: sizeField];
|
||||
RELEASE(sizeField);
|
||||
|
||||
sizeBrowser = [[NSBrowser alloc] initWithFrame: s3];
|
||||
sizeBrowser = [[NSBrowser alloc] initWithFrame: sizeBrowserRect];
|
||||
[sizeBrowser setDelegate: self];
|
||||
[sizeBrowser setMaxVisibleColumns: 1];
|
||||
[sizeBrowser setAllowsMultipleSelection: NO];
|
||||
|
@ -441,54 +483,65 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
[sizeBrowser setTakesTitleFromPreviousColumn: NO];
|
||||
[sizeBrowser setTarget: self];
|
||||
[sizeBrowser setDoubleAction: @selector(sizeSelected:)];
|
||||
[sizeBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
|
||||
[sizeBrowser setAutoresizingMask: NSViewMinXMargin | NSViewHeightSizable];
|
||||
[sizeBrowser setTag: NSFPSizeBrowser];
|
||||
[bottomSplit addSubview: sizeBrowser];
|
||||
RELEASE(sizeBrowser);
|
||||
|
||||
[splitView addSubview: topSplit];
|
||||
// reset the size
|
||||
[topSplit setFrame: ts];
|
||||
RELEASE(topSplit);
|
||||
[splitView addSubview: bottomSplit];
|
||||
RELEASE(bottomSplit);
|
||||
|
||||
/* NSSplitView is tricky so we use this little workaround to force
|
||||
the sizes right. */
|
||||
[topSplit setFrame: topSplitRect];
|
||||
[bottomSplit setFrame: bottomSplitRect];
|
||||
[splitView adjustSubviews];
|
||||
|
||||
[splitView setDelegate: self];
|
||||
|
||||
[topArea addSubview: splitView];
|
||||
RELEASE(splitView);
|
||||
|
||||
// action buttons
|
||||
bottomArea = [[NSView alloc] initWithFrame: ba];
|
||||
bottomArea = [[NSView alloc] initWithFrame: bottomAreaRect];
|
||||
|
||||
slash = [[NSBox alloc] initWithFrame: sb];
|
||||
slash = [[NSBox alloc] initWithFrame: slashRect];
|
||||
[slash setBorderType: NSGrooveBorder];
|
||||
[slash setTitlePosition: NSNoTitle];
|
||||
[slash setAutoresizingMask: NSViewWidthSizable];
|
||||
[bottomArea addSubview: slash];
|
||||
RELEASE(slash);
|
||||
|
||||
// cancle button
|
||||
revertButton = [[NSButton alloc] initWithFrame: rb];
|
||||
// cancel button
|
||||
revertButton = [[NSButton alloc] initWithFrame: revertButtonRect];
|
||||
[revertButton setStringValue: @"Revert"];
|
||||
[revertButton setAction: @selector(cancel:)];
|
||||
[revertButton setTarget: self];
|
||||
[revertButton setTag: NSFPRevertButton];
|
||||
[revertButton setAutoresizingMask: NSViewMinXMargin];
|
||||
[bottomArea addSubview: revertButton];
|
||||
RELEASE(revertButton);
|
||||
|
||||
// toggle button for preview
|
||||
previewButton = [[NSButton alloc] initWithFrame: pb];
|
||||
previewButton = [[NSButton alloc] initWithFrame: previewButtonRect];
|
||||
[previewButton setStringValue: @"Preview"];
|
||||
[previewButton setButtonType: NSOnOffButton];
|
||||
[previewButton setAction: @selector(_togglePreview:)];
|
||||
[previewButton setTarget: self];
|
||||
[previewButton setTag: NSFPPreviewButton];
|
||||
[previewButton setAutoresizingMask: NSViewMinXMargin];
|
||||
[bottomArea addSubview: previewButton];
|
||||
RELEASE(previewButton);
|
||||
|
||||
// button to set the font
|
||||
setButton = [[NSButton alloc] initWithFrame: db];
|
||||
setButton = [[NSButton alloc] initWithFrame: setButtonRect];
|
||||
[setButton setStringValue: @"Set"];
|
||||
[setButton setAction: @selector(ok:)];
|
||||
[setButton setTarget: self];
|
||||
[setButton setTag: NSFPSetButton];
|
||||
[setButton setAutoresizingMask: NSViewMinXMargin];
|
||||
[bottomArea addSubview: setButton];
|
||||
// make it the default button
|
||||
//[self setDefaultButtonCell: [setButton cell]];
|
||||
|
@ -499,11 +552,16 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
|
||||
// Add the accessory view, if there is one
|
||||
if (_accessoryView != nil)
|
||||
[v addSubview: _accessoryView];
|
||||
|
||||
{
|
||||
[v addSubview: _accessoryView];
|
||||
}
|
||||
|
||||
[bottomArea setAutoresizingMask: NSViewWidthSizable];
|
||||
[v addSubview: bottomArea];
|
||||
RELEASE(bottomArea);
|
||||
|
||||
[self setMinSize: [self frame].size];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
|
@ -560,6 +618,8 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
|
||||
- (void) cancel: (id)sender
|
||||
{
|
||||
// FIXME/TODO
|
||||
|
||||
/*
|
||||
* The cancel button has been pushed
|
||||
* we should reset the items in the panel
|
||||
|
@ -568,7 +628,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
isMultiple: _multiple];
|
||||
}
|
||||
|
||||
- (NSFont*) _fontForSelection: (NSFont*)fontObject
|
||||
- (NSFont *) _fontForSelection: (NSFont *)fontObject
|
||||
{
|
||||
float size;
|
||||
NSString *fontName;
|
||||
|
@ -615,30 +675,37 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
selectRow: (int)row
|
||||
inColumn: (int)column
|
||||
{
|
||||
if ([sender tag] == NSFPFamilyBrowser)
|
||||
switch ([sender tag])
|
||||
{
|
||||
NSFontManager *fm = [NSFontManager sharedFontManager];
|
||||
NSBrowser *faceBrowser = [[self contentView] viewWithTag: NSFPFaceBrowser];
|
||||
case NSFPFamilyBrowser:
|
||||
{
|
||||
NSFontManager *fm = [NSFontManager sharedFontManager];
|
||||
NSBrowser *faceBrowser = [[self contentView] viewWithTag: NSFPFaceBrowser];
|
||||
|
||||
ASSIGN(_faceList, [fm availableMembersOfFontFamily:
|
||||
[_familyList objectAtIndex: row]]);
|
||||
|
||||
_family = row;
|
||||
[faceBrowser validateVisibleColumns];
|
||||
_face = -1;
|
||||
break;
|
||||
}
|
||||
case NSFPFaceBrowser:
|
||||
{
|
||||
_face = row;
|
||||
break;
|
||||
}
|
||||
case NSFPSizeBrowser:
|
||||
default:
|
||||
{
|
||||
NSTextField *sizeField;
|
||||
|
||||
ASSIGN(_faceList, [fm availableMembersOfFontFamily:
|
||||
[_familyList objectAtIndex: row]]);
|
||||
|
||||
_family = row;
|
||||
[faceBrowser validateVisibleColumns];
|
||||
_face = -1;
|
||||
sizeField = [[self contentView] viewWithTag: NSFPSizeField];
|
||||
_setFloatValue (sizeField, sizes[row]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if ([sender tag] == NSFPFaceBrowser)
|
||||
{
|
||||
_face = row;
|
||||
}
|
||||
else if ([sender tag] == NSFPSizeBrowser)
|
||||
{
|
||||
float size = sizes[row];
|
||||
NSTextField *sizeField = [[self contentView] viewWithTag: NSFPSizeField];
|
||||
|
||||
[sizeField setFloatValue: size];
|
||||
}
|
||||
|
||||
|
||||
if (_preview)
|
||||
{
|
||||
[self _togglePreview: nil];
|
||||
|
@ -647,62 +714,100 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
return YES;
|
||||
}
|
||||
|
||||
- (int) browser: (NSBrowser*)sender numberOfRowsInColumn: (int)column
|
||||
- (int) browser: (NSBrowser*)sender numberOfRowsInColumn: (int)column
|
||||
{
|
||||
if ([sender tag] == NSFPFamilyBrowser)
|
||||
return [_familyList count];
|
||||
else if ([sender tag] == NSFPFaceBrowser)
|
||||
return [_faceList count];
|
||||
else if ([sender tag] == NSFPSizeBrowser)
|
||||
return sizeof(sizes)/sizeof(float);
|
||||
|
||||
return 0;
|
||||
switch ([sender tag])
|
||||
{
|
||||
case NSFPFamilyBrowser:
|
||||
{
|
||||
return [_familyList count];
|
||||
}
|
||||
case NSFPFaceBrowser:
|
||||
{
|
||||
return [_faceList count];
|
||||
}
|
||||
case NSFPSizeBrowser:
|
||||
{
|
||||
return sizeof (sizes) / sizeof (float);
|
||||
}
|
||||
default:
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (NSString*) browser: (NSBrowser*)sender titleOfColumn: (int)column
|
||||
- (NSString*) browser: (NSBrowser*)sender titleOfColumn: (int)column
|
||||
{
|
||||
if ([sender tag] == NSFPFamilyBrowser)
|
||||
return @"Family";
|
||||
else if ([sender tag] == NSFPFaceBrowser)
|
||||
return @"Typeface";
|
||||
|
||||
return @"";
|
||||
switch ([sender tag])
|
||||
{
|
||||
case NSFPFamilyBrowser:
|
||||
{
|
||||
return @"Family";
|
||||
}
|
||||
case NSFPFaceBrowser:
|
||||
{
|
||||
return @"Typeface";
|
||||
}
|
||||
default:
|
||||
{
|
||||
return @"";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void) browser: (NSBrowser*)sender
|
||||
- (void) browser: (NSBrowser *)sender
|
||||
willDisplayCell: (id)cell
|
||||
atRow: (int)row
|
||||
column: (int)column
|
||||
{
|
||||
NSString *value = nil;
|
||||
|
||||
if ([sender tag] == NSFPFamilyBrowser)
|
||||
switch ([sender tag])
|
||||
{
|
||||
if ([_familyList count] > row)
|
||||
{
|
||||
value = [_familyList objectAtIndex: row];
|
||||
}
|
||||
}
|
||||
else if ([sender tag] == NSFPFaceBrowser)
|
||||
{
|
||||
if ([_faceList count] > row)
|
||||
{
|
||||
value = [[_faceList objectAtIndex: row] objectAtIndex: 1];
|
||||
}
|
||||
}
|
||||
else if ([sender tag] == NSFPSizeBrowser)
|
||||
{
|
||||
value = [NSString stringWithFormat: @"%d", (int) sizes[row]];
|
||||
case NSFPFamilyBrowser:
|
||||
{
|
||||
if ([_familyList count] > row)
|
||||
{
|
||||
value = [_familyList objectAtIndex: row];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NSFPFaceBrowser:
|
||||
{
|
||||
if ([_faceList count] > row)
|
||||
{
|
||||
value = [[_faceList objectAtIndex: row] objectAtIndex: 1];
|
||||
}
|
||||
break;
|
||||
}
|
||||
case NSFPSizeBrowser:
|
||||
default:
|
||||
{
|
||||
value = [NSString stringWithFormat: @"%d", (int) sizes[row]];
|
||||
}
|
||||
}
|
||||
|
||||
[cell setStringValue: value];
|
||||
[cell setLeaf: YES];
|
||||
}
|
||||
|
||||
- (BOOL) browser: (NSBrowser*)sender
|
||||
- (BOOL) browser: (NSBrowser *)sender
|
||||
isColumnValid: (int)column;
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation NSFontPanel (NSSplitViewDelegate)
|
||||
|
||||
- (void) splitView: (NSSplitView *)splitView
|
||||
constrainMinCoordinate: (float *)min
|
||||
maxCoordinate: (float *)max
|
||||
ofSubviewAt: (int)offset
|
||||
{
|
||||
*max = *max - 100;
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
Loading…
Reference in a new issue