mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 15:11:37 +00:00
Make the font panel work with the recent NSBrowser changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@14439 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
8d8c5d93ff
commit
e12c857386
2 changed files with 58 additions and 50 deletions
|
@ -1,3 +1,9 @@
|
|||
2002-09-14 13:35 Alexander Malmberg <alexander@malmberg.org>
|
||||
|
||||
* Source/NSFontPanel.m: Break -browser:selectRow:inColumn: into
|
||||
three selection changed methods and set them as the action of the
|
||||
respective browser.
|
||||
|
||||
Fri Sep 13 09:36:06 2002 Nicola Pero <n.pero@mi.flashnet.it>
|
||||
|
||||
* Headers/gnustep/gui/NSNibDeclarations.h: Added include guards.
|
||||
|
|
|
@ -220,7 +220,7 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
// Store style information for font
|
||||
_traits = [fm traitsOfFont: fontObject];
|
||||
_weight = [fm weightOfFont: fontObject];
|
||||
|
||||
|
||||
// Select the row for the font family
|
||||
for (i = 0; i < [_familyList count]; i++)
|
||||
{
|
||||
|
@ -466,6 +466,7 @@ 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 setAction: @selector(_familySelectionChanged:)];
|
||||
[familyBrowser setAutoresizingMask: (NSViewWidthSizable
|
||||
| NSViewMaxXMargin
|
||||
| NSViewHeightSizable)];
|
||||
|
@ -486,6 +487,7 @@ 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 setAction: @selector(_faceSelectionChanged:)];
|
||||
[faceBrowser setAutoresizingMask: (NSViewWidthSizable
|
||||
| NSViewMinXMargin
|
||||
| NSViewHeightSizable)];
|
||||
|
@ -530,6 +532,7 @@ 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 setAction: @selector(_sizeSelectionChanged:)];
|
||||
[sizeBrowser setAutoresizingMask: NSViewMinXMargin | NSViewHeightSizable];
|
||||
[sizeBrowser setTag: NSFPSizeBrowser];
|
||||
[bottomSplit addSubview: sizeBrowser];
|
||||
|
@ -735,64 +738,63 @@ float sizes[] = {4.0, 6.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0,
|
|||
|
||||
@implementation NSFontPanel (NSBrowserDelegate)
|
||||
|
||||
- (BOOL) browser: (NSBrowser*)sender
|
||||
selectRow: (int)row
|
||||
inColumn: (int)column
|
||||
- (void) _familySelectionChanged: (id)sender
|
||||
{
|
||||
switch ([sender tag])
|
||||
{
|
||||
case NSFPFamilyBrowser:
|
||||
{
|
||||
NSFontManager *fm = [NSFontManager sharedFontManager];
|
||||
NSBrowser *faceBrowser = [[self contentView] viewWithTag: NSFPFaceBrowser];
|
||||
int i;
|
||||
NSFontManager *fm = [NSFontManager sharedFontManager];
|
||||
NSBrowser *faceBrowser = [[self contentView] viewWithTag: NSFPFaceBrowser];
|
||||
NSBrowser *familyBrowser = [[self contentView] viewWithTag: NSFPFamilyBrowser];
|
||||
int row = [familyBrowser selectedRowInColumn: 0];
|
||||
int i;
|
||||
|
||||
ASSIGN(_faceList, [fm availableMembersOfFontFamily:
|
||||
[_familyList objectAtIndex: row]]);
|
||||
_family = row;
|
||||
ASSIGN(_faceList, [fm availableMembersOfFontFamily:
|
||||
[_familyList objectAtIndex: row]]);
|
||||
_family = row;
|
||||
|
||||
// Select a face with similar properties
|
||||
for (i = 0; i < [_faceList count]; i++)
|
||||
{
|
||||
NSArray *font_info = [_faceList objectAtIndex: i];
|
||||
// Select a face with similar properties
|
||||
for (i = 0; i < [_faceList count]; i++)
|
||||
{
|
||||
NSArray *font_info = [_faceList objectAtIndex: i];
|
||||
|
||||
if (([[font_info objectAtIndex: 2] intValue] == _weight) &&
|
||||
([[font_info objectAtIndex: 3] unsignedIntValue] == _traits))
|
||||
break;
|
||||
}
|
||||
if (i == [_faceList count])
|
||||
i = 0;
|
||||
|
||||
_face = i;
|
||||
[faceBrowser loadColumnZero];
|
||||
[faceBrowser selectRow: i inColumn: 0];
|
||||
break;
|
||||
}
|
||||
case NSFPFaceBrowser:
|
||||
{
|
||||
NSArray *font_info = [_faceList objectAtIndex: row];
|
||||
|
||||
_face = row;
|
||||
_weight = [[font_info objectAtIndex: 2] intValue];
|
||||
_traits = [[font_info objectAtIndex: 3] unsignedIntValue];
|
||||
break;
|
||||
}
|
||||
case NSFPSizeBrowser:
|
||||
default:
|
||||
{
|
||||
NSTextField *sizeField;
|
||||
|
||||
sizeField = [[self contentView] viewWithTag: NSFPSizeField];
|
||||
_setFloatValue (sizeField, sizes[row]);
|
||||
break;
|
||||
}
|
||||
if (([[font_info objectAtIndex: 2] intValue] == _weight) &&
|
||||
([[font_info objectAtIndex: 3] unsignedIntValue] == _traits))
|
||||
break;
|
||||
}
|
||||
if (i == [_faceList count])
|
||||
i = 0;
|
||||
|
||||
_face = i;
|
||||
[faceBrowser loadColumnZero];
|
||||
[faceBrowser selectRow: i inColumn: 0];
|
||||
|
||||
[self _doPreview];
|
||||
}
|
||||
|
||||
- (void) _faceSelectionChanged: (id)sender
|
||||
{
|
||||
NSBrowser *faceBrowser = [[self contentView] viewWithTag: NSFPFaceBrowser];
|
||||
int row = [faceBrowser selectedRowInColumn: 0];
|
||||
NSArray *font_info = [_faceList objectAtIndex: row];
|
||||
|
||||
_face = row;
|
||||
_weight = [[font_info objectAtIndex: 2] intValue];
|
||||
_traits = [[font_info objectAtIndex: 3] unsignedIntValue];
|
||||
|
||||
[self _doPreview];
|
||||
}
|
||||
|
||||
- (void) _sizeSelectionChanged: (id)sender
|
||||
{
|
||||
NSBrowser *sizeBrowser = [[self contentView] viewWithTag: NSFPSizeBrowser];
|
||||
int row = [sizeBrowser selectedRowInColumn: 0];
|
||||
NSTextField *sizeField;
|
||||
|
||||
sizeField = [[self contentView] viewWithTag: NSFPSizeField];
|
||||
_setFloatValue (sizeField, sizes[row]);
|
||||
|
||||
[self _doPreview];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
||||
- (int) browser: (NSBrowser*)sender numberOfRowsInColumn: (int)column
|
||||
{
|
||||
switch ([sender tag])
|
||||
|
|
Loading…
Reference in a new issue