git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6224 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
richard 2000-03-08 21:55:05 +00:00
parent e21a5dac06
commit ff84afe558
2 changed files with 70 additions and 49 deletions

View file

@ -1,3 +1,7 @@
Wed Mar 08 20:56:00 2000 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSFontPanel.m: A few bug fixes and tidyups.
Wed Mar 08 17:09:00 2000 Richard Frith-Macdonald <richard@brainstorm.co.uk> Wed Mar 08 17:09:00 2000 Richard Frith-Macdonald <richard@brainstorm.co.uk>
* Source/NSWindow.m: ([-setLevel:]) implemented. * Source/NSWindow.m: ([-setLevel:]) implemented.

View file

@ -318,10 +318,10 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
| NSMiniaturizableWindowMask | NSResizableWindowMask; | NSMiniaturizableWindowMask | NSResizableWindowMask;
self = [super initWithContentRect: pf self = [super initWithContentRect: pf
styleMask: style styleMask: style
backing: NSBackingStoreRetained backing: NSBackingStoreRetained
defer: NO defer: NO
screen: nil]; screen: nil];
[self setTitle: @"Font Panel"]; [self setTitle: @"Font Panel"];
v = [self contentView]; v = [self contentView];
@ -346,7 +346,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
//[_previewArea setUsesFontPanel: NO]; //[_previewArea setUsesFontPanel: NO];
[_previewArea setAlignment: NSCenterTextAlignment]; [_previewArea setAlignment: NSCenterTextAlignment];
[_previewArea setStringValue: @"Font preview"]; [_previewArea setStringValue: @"Font preview"];
[_previewArea setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; [_previewArea setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
[topSplit addSubview: _previewArea]; [topSplit addSubview: _previewArea];
bottomSplit = [[NSView alloc] initWithFrame: bs]; bottomSplit = [[NSView alloc] initWithFrame: bs];
@ -362,8 +362,8 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
[_familyBrowser setTitled: YES]; [_familyBrowser setTitled: YES];
[_familyBrowser setTakesTitleFromPreviousColumn: NO]; [_familyBrowser setTakesTitleFromPreviousColumn: NO];
[_familyBrowser setTarget: self]; [_familyBrowser setTarget: self];
[_familyBrowser setDoubleAction: @selector(familySelected: )]; [_familyBrowser setDoubleAction: @selector(familySelected:)];
[_familyBrowser setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; [_familyBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
[bottomSplit addSubview: _familyBrowser]; [bottomSplit addSubview: _familyBrowser];
// selection of type face // selection of type face
@ -377,8 +377,8 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
[_faceBrowser setTitled: YES]; [_faceBrowser setTitled: YES];
[_faceBrowser setTakesTitleFromPreviousColumn: NO]; [_faceBrowser setTakesTitleFromPreviousColumn: NO];
[_faceBrowser setTarget: self]; [_faceBrowser setTarget: self];
[_faceBrowser setDoubleAction: @selector(faceSelected: )]; [_faceBrowser setDoubleAction: @selector(faceSelected:)];
[_faceBrowser setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; [_faceBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
[bottomSplit addSubview: _faceBrowser]; [bottomSplit addSubview: _faceBrowser];
// label for selection of size // label for selection of size
@ -401,7 +401,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
//[_sizeField setAllowsEditingTextAttributes: NO]; //[_sizeField setAllowsEditingTextAttributes: NO];
[_sizeField setAlignment: NSCenterTextAlignment]; [_sizeField setAlignment: NSCenterTextAlignment];
[_sizeField setBackgroundColor: [NSColor windowFrameTextColor]]; [_sizeField setBackgroundColor: [NSColor windowFrameTextColor]];
[_sizeField setAutoresizingMask: (NSViewWidthSizable | NSViewMinYMargin)]; [_sizeField setAutoresizingMask: (NSViewWidthSizable|NSViewMinYMargin)];
[bottomSplit addSubview: _sizeField]; [bottomSplit addSubview: _sizeField];
_sizeBrowser = [[NSBrowser alloc] initWithFrame: s3]; _sizeBrowser = [[NSBrowser alloc] initWithFrame: s3];
@ -413,8 +413,8 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
[_sizeBrowser setTitled: NO]; [_sizeBrowser setTitled: NO];
[_sizeBrowser setTakesTitleFromPreviousColumn: NO]; [_sizeBrowser setTakesTitleFromPreviousColumn: NO];
[_sizeBrowser setTarget: self]; [_sizeBrowser setTarget: self];
[_sizeBrowser setDoubleAction: @selector(sizeSelected: )]; [_sizeBrowser setDoubleAction: @selector(sizeSelected:)];
[_sizeBrowser setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; [_sizeBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
[bottomSplit addSubview: _sizeBrowser]; [bottomSplit addSubview: _sizeBrowser];
[splitView addSubview: topSplit]; [splitView addSubview: topSplit];
@ -438,7 +438,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
// cancle button // cancle button
revertButton = [[NSButton alloc] initWithFrame: rb]; revertButton = [[NSButton alloc] initWithFrame: rb];
[revertButton setStringValue: @"Revert"]; [revertButton setStringValue: @"Revert"];
[revertButton setAction: @selector(cancel: )]; [revertButton setAction: @selector(cancel:)];
[revertButton setTarget: self]; [revertButton setTarget: self];
[bottomArea addSubview: revertButton]; [bottomArea addSubview: revertButton];
RELEASE(revertButton); RELEASE(revertButton);
@ -447,7 +447,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
previewButton = [[NSButton alloc] initWithFrame: pb]; previewButton = [[NSButton alloc] initWithFrame: pb];
[previewButton setStringValue: @"Preview"]; [previewButton setStringValue: @"Preview"];
[previewButton setButtonType: NSOnOffButton]; [previewButton setButtonType: NSOnOffButton];
[previewButton setAction: @selector(_togglePreview: )]; [previewButton setAction: @selector(_togglePreview:)];
[previewButton setTarget: self]; [previewButton setTarget: self];
[bottomArea addSubview: previewButton]; [bottomArea addSubview: previewButton];
RELEASE(previewButton); RELEASE(previewButton);
@ -455,7 +455,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
// button to set the font // button to set the font
_setButton = [[NSButton alloc] initWithFrame: db]; _setButton = [[NSButton alloc] initWithFrame: db];
[_setButton setStringValue: @"Set"]; [_setButton setStringValue: @"Set"];
[_setButton setAction: @selector(ok: )]; [_setButton setAction: @selector(ok:)];
[_setButton setTarget: self]; [_setButton setTarget: self];
[bottomArea addSubview: _setButton]; [bottomArea addSubview: _setButton];
// make it the default button // make it the default button
@ -477,10 +477,41 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
- (void) _togglePreview: (id)sender - (void) _togglePreview: (id)sender
{ {
_preview = [sender state]; _preview = (sender == nil) ? YES : [sender state];
if (_preview) if (_preview)
{ {
NSFont *font = [self _fontForSelection: _panelFont];
float size = [_sizeField floatValue];
NSString *faceName;
NSString *familyName;
if (size == 0 && font != nil)
{
size = [font pointSize];
}
if (_family == -1)
{
familyName = @"NoFamily";
}
else
{
familyName = [_familyList objectAtIndex: _family];
}
if (_face == -1)
{
faceName = @"NoFace";
}
else
{
faceName = [[_faceList objectAtIndex: _face] objectAtIndex: 1];
}
// build up a font and use it in the preview area
if (font != nil)
{
[_previewArea setFont: font];
}
[_previewArea setStringValue: [NSString stringWithFormat: @"%@ %@ %d PT",
familyName, faceName, (int)size]];
} }
} }
@ -490,23 +521,22 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
NSFontManager *fm = [NSFontManager sharedFontManager]; NSFontManager *fm = [NSFontManager sharedFontManager];
[fm modifyFontViaPanel: self]; [fm modifyFontViaPanel: self];
[self close];
} }
- (void) cancel: (id)sender - (void) cancel: (id)sender
{ {
// The cancel button has been pushed /*
// we should reset the items in the panel * The cancel button has been pushed
// and close the window * we should reset the items in the panel
*/
[self setPanelFont: _panelFont [self setPanelFont: _panelFont
isMultiple: _multiple]; isMultiple: _multiple];
[self close];
} }
- (NSFont*) _fontForSelection: (NSFont*)fontObject - (NSFont*) _fontForSelection: (NSFont*)fontObject
{ {
float size; float size;
NSString *fontName; NSString *fontName;
size = [_sizeField floatValue]; size = [_sizeField floatValue];
if (size == 0.0) if (size == 0.0)
@ -520,9 +550,15 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
size = [fontObject pointSize]; size = [fontObject pointSize];
} }
} }
if (_face == -1) if (_face < 0)
{ {
// FIXME: This uses the first face of the font family unsigned i = [_faceList count];
if (i == 0)
{
return nil; /* Nothing available */
}
// FIXME - just uses first face
fontName = [[_faceList objectAtIndex: 0] objectAtIndex: 0]; fontName = [[_faceList objectAtIndex: 0] objectAtIndex: 0];
} }
else else
@ -555,7 +591,9 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
_face = -1; _face = -1;
} }
else if (sender == _faceBrowser) else if (sender == _faceBrowser)
_face = row; {
_face = row;
}
else if (sender == _sizeBrowser) else if (sender == _sizeBrowser)
{ {
float size = sizes[row]; float size = sizes[row];
@ -564,28 +602,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
if (_preview) if (_preview)
{ {
NSFont *font = [self _fontForSelection: _panelFont]; [self _togglePreview: nil];
float size = [_sizeField floatValue];
NSString *faceName;
NSString *familyName;
if (size == 0)
size = [font pointSize];
if (_family == -1)
familyName = @"";
else
familyName = [_familyList objectAtIndex: _family];
if (_face == -1)
faceName = @"";
else
faceName = [[_faceList objectAtIndex: _face] objectAtIndex: 1];
// build up a font and use it in the preview area
[_previewArea setFont: font];
[_previewArea setStringValue: [NSString stringWithFormat: @"%@ %@ %d PT",
familyName, faceName, (int)size]];
} }
return YES; return YES;