From ff84afe558b3b7e11d56a0278058b0d85e6989ef Mon Sep 17 00:00:00 2001 From: richard Date: Wed, 8 Mar 2000 21:55:05 +0000 Subject: [PATCH] Tidyups git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@6224 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++ Source/NSFontPanel.m | 115 +++++++++++++++++++++++++------------------ 2 files changed, 70 insertions(+), 49 deletions(-) diff --git a/ChangeLog b/ChangeLog index 84c9f66c4..0ace70809 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Mar 08 20:56:00 2000 Richard Frith-Macdonald + + * Source/NSFontPanel.m: A few bug fixes and tidyups. + Wed Mar 08 17:09:00 2000 Richard Frith-Macdonald * Source/NSWindow.m: ([-setLevel:]) implemented. diff --git a/Source/NSFontPanel.m b/Source/NSFontPanel.m index 1f0261c6b..ae40d849e 100644 --- a/Source/NSFontPanel.m +++ b/Source/NSFontPanel.m @@ -318,10 +318,10 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, | NSMiniaturizableWindowMask | NSResizableWindowMask; self = [super initWithContentRect: pf - styleMask: style - backing: NSBackingStoreRetained - defer: NO - screen: nil]; + styleMask: style + backing: NSBackingStoreRetained + defer: NO + screen: nil]; [self setTitle: @"Font Panel"]; 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 setAlignment: NSCenterTextAlignment]; [_previewArea setStringValue: @"Font preview"]; - [_previewArea setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; + [_previewArea setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)]; [topSplit addSubview: _previewArea]; 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 setTakesTitleFromPreviousColumn: NO]; [_familyBrowser setTarget: self]; - [_familyBrowser setDoubleAction: @selector(familySelected: )]; - [_familyBrowser setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; + [_familyBrowser setDoubleAction: @selector(familySelected:)]; + [_familyBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)]; [bottomSplit addSubview: _familyBrowser]; // 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 setTakesTitleFromPreviousColumn: NO]; [_faceBrowser setTarget: self]; - [_faceBrowser setDoubleAction: @selector(faceSelected: )]; - [_faceBrowser setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; + [_faceBrowser setDoubleAction: @selector(faceSelected:)]; + [_faceBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)]; [bottomSplit addSubview: _faceBrowser]; // 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 setAlignment: NSCenterTextAlignment]; [_sizeField setBackgroundColor: [NSColor windowFrameTextColor]]; - [_sizeField setAutoresizingMask: (NSViewWidthSizable | NSViewMinYMargin)]; + [_sizeField setAutoresizingMask: (NSViewWidthSizable|NSViewMinYMargin)]; [bottomSplit addSubview: _sizeField]; _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 setTakesTitleFromPreviousColumn: NO]; [_sizeBrowser setTarget: self]; - [_sizeBrowser setDoubleAction: @selector(sizeSelected: )]; - [_sizeBrowser setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)]; + [_sizeBrowser setDoubleAction: @selector(sizeSelected:)]; + [_sizeBrowser setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)]; [bottomSplit addSubview: _sizeBrowser]; [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 revertButton = [[NSButton alloc] initWithFrame: rb]; [revertButton setStringValue: @"Revert"]; - [revertButton setAction: @selector(cancel: )]; + [revertButton setAction: @selector(cancel:)]; [revertButton setTarget: self]; [bottomArea addSubview: 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 setStringValue: @"Preview"]; [previewButton setButtonType: NSOnOffButton]; - [previewButton setAction: @selector(_togglePreview: )]; + [previewButton setAction: @selector(_togglePreview:)]; [previewButton setTarget: self]; [bottomArea addSubview: 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 _setButton = [[NSButton alloc] initWithFrame: db]; [_setButton setStringValue: @"Set"]; - [_setButton setAction: @selector(ok: )]; + [_setButton setAction: @selector(ok:)]; [_setButton setTarget: self]; [bottomArea addSubview: _setButton]; // 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 { - _preview = [sender state]; + _preview = (sender == nil) ? YES : [sender state]; 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]; [fm modifyFontViaPanel: self]; - [self close]; } - (void) cancel: (id)sender { - // The cancel button has been pushed - // we should reset the items in the panel - // and close the window + /* + * The cancel button has been pushed + * we should reset the items in the panel + */ [self setPanelFont: _panelFont isMultiple: _multiple]; - [self close]; } - (NSFont*) _fontForSelection: (NSFont*)fontObject { - float size; - NSString *fontName; + float size; + NSString *fontName; size = [_sizeField floatValue]; 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]; } } - 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]; } 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; } else if (sender == _faceBrowser) - _face = row; + { + _face = row; + } else if (sender == _sizeBrowser) { 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) { - NSFont *font = [self _fontForSelection: _panelFont]; - 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]]; + [self _togglePreview: nil]; } return YES;