Change values for NSTabViewType enumerator.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@24806 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
fredkiefer 2007-03-07 23:15:07 +00:00
parent 334583b86b
commit df5dd1b0f1
3 changed files with 55 additions and 61 deletions

View file

@ -1,3 +1,10 @@
2007-03-08 Fred Kiefer <FredKiefer@gmx.de>
* Headers/AppKit/NSTabView.h: Correct NSTabViewType enumerator to
match values from Apple.
* Source/NSTabView.m (-encodeWithCoder:, -initWithCoder:): Adopt
to new enum values.
2007-03-07 Fred Kiefer <FredKiefer@gmx.de> 2007-03-07 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSPrintPanel.m: The modal loop which displays the print * Source/NSPrintPanel.m: The modal loop which displays the print

View file

@ -34,12 +34,12 @@
typedef enum { typedef enum {
NSTopTabsBezelBorder, NSTopTabsBezelBorder,
NSLeftTabsBezelBorder,
NSBottomTabsBezelBorder, NSBottomTabsBezelBorder,
NSRightTabsBezelBorder,
NSNoTabsBezelBorder, NSNoTabsBezelBorder,
NSNoTabsLineBorder, NSNoTabsLineBorder,
NSNoTabsNoBorder, NSNoTabsNoBorder
NSLeftTabsBezelBorder,
NSRightTabsBezelBorder
} NSTabViewType; } NSTabViewType;
@class NSFont; @class NSFont;

View file

@ -39,6 +39,17 @@
@implementation NSTabView @implementation NSTabView
/*
* Class methods
*/
+ (void) initialize
{
if (self == [NSTabView class])
{
[self setVersion: 2];
}
}
- (id) initWithFrame: (NSRect)rect - (id) initWithFrame: (NSRect)rect
{ {
self = [super initWithFrame: rect]; self = [super initWithFrame: rect];
@ -789,41 +800,14 @@
[super encodeWithCoder: aCoder]; [super encodeWithCoder: aCoder];
if ([aCoder allowsKeyedCoding]) if ([aCoder allowsKeyedCoding])
{ {
unsigned int type = 0; unsigned int type = _type; // no flags set...
// FIXME: We should change the enumerator to match the Apple values
switch(_type)
{
case NSTopTabsBezelBorder:
type = 0;
break;
case NSLeftTabsBezelBorder:
type = 1;
break;
case NSBottomTabsBezelBorder:
type = 2;
break;
case NSRightTabsBezelBorder:
type = 3;
break;
case NSNoTabsBezelBorder:
type = 4;
break;
case NSNoTabsLineBorder:
type = 5;
break;
case NSNoTabsNoBorder:
type = 6;
break;
default:
break;
}
[aCoder encodeBool: [self allowsTruncatedLabels] forKey: @"NSAllowTruncatedLabels"]; [aCoder encodeBool: [self allowsTruncatedLabels] forKey: @"NSAllowTruncatedLabels"];
[aCoder encodeBool: [self drawsBackground] forKey: @"NSDrawsBackground"]; [aCoder encodeBool: [self drawsBackground] forKey: @"NSDrawsBackground"];
[aCoder encodeObject: [self font] forKey: @"NSFont"]; [aCoder encodeObject: [self font] forKey: @"NSFont"];
[aCoder encodeObject: _items forKey: @"NSTabViewItems"]; [aCoder encodeObject: _items forKey: @"NSTabViewItems"];
[aCoder encodeObject: [self selectedTabViewItem] forKey: @"NSSelectedTabViewItem"]; [aCoder encodeObject: [self selectedTabViewItem] forKey: @"NSSelectedTabViewItem"];
[aCoder encodeInt: type forKey: @"NSTvFlags"]; // no flags set... [aCoder encodeInt: type forKey: @"NSTvFlags"];
} }
else else
{ {
@ -869,45 +853,48 @@
if ([aDecoder containsValueForKey: @"NSTvFlags"]) if ([aDecoder containsValueForKey: @"NSTvFlags"])
{ {
int vFlags = [aDecoder decodeIntForKey: @"NSTvFlags"]; int vFlags = [aDecoder decodeIntForKey: @"NSTvFlags"];
unsigned int type = (vFlags & 0x00000007);
[self setControlTint: ((vFlags & 0x70000000) >> 28)]; [self setControlTint: ((vFlags & 0x70000000) >> 28)];
[self setControlSize: ((vFlags & 0x0c000000) >> 26)]; [self setControlSize: ((vFlags & 0x0c000000) >> 26)];
// FIXME: We should change the enumerator to match the Apple values [self setTabViewType: (vFlags & 0x00000007)];
switch(type)
{
case 0:
_type = NSTopTabsBezelBorder;
break;
case 1:
_type = NSLeftTabsBezelBorder;
break;
case 2:
_type = NSBottomTabsBezelBorder;
break;
case 3:
_type = NSRightTabsBezelBorder;
break;
case 4:
_type = NSNoTabsBezelBorder;
break;
case 5:
_type = NSNoTabsLineBorder;
break;
case 6:
_type = NSNoTabsNoBorder;
break;
default:
_type = NSTopTabsBezelBorder;
break;
}
} }
} }
else else
{ {
int version = [aDecoder versionForClassName: @"NSTabView"];
[aDecoder decodeValueOfObjCType: @encode(id) at: &_items]; [aDecoder decodeValueOfObjCType: @encode(id) at: &_items];
[aDecoder decodeValueOfObjCType: @encode(id) at: &_font]; [aDecoder decodeValueOfObjCType: @encode(id) at: &_font];
[aDecoder decodeValueOfObjCType: @encode(NSTabViewType) at: &_type]; [aDecoder decodeValueOfObjCType: @encode(NSTabViewType) at: &_type];
if (version < 2)
{
switch(_type)
{
case 0:
_type = NSTopTabsBezelBorder;
break;
case 5:
_type = NSLeftTabsBezelBorder;
break;
case 1:
_type = NSBottomTabsBezelBorder;
break;
case 6:
_type = NSRightTabsBezelBorder;
break;
case 2:
_type = NSNoTabsBezelBorder;
break;
case 3:
_type = NSNoTabsLineBorder;
break;
case 4:
_type = NSNoTabsNoBorder;
break;
default:
break;
}
}
[aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_draws_background]; [aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_draws_background];
[aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_truncated_label]; [aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_truncated_label];
_delegate = [aDecoder decodeObject]; _delegate = [aDecoder decodeObject];