Made images easier to be changed by themes.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@18647 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Fred Kiefer 2004-02-24 19:31:33 +00:00
parent 31cde10bcd
commit 868a8f189e
7 changed files with 47 additions and 22 deletions

View file

@ -1,3 +1,14 @@
2004-02-24 Fred Kiefer <FredKiefer@gmx.de>
* Images/nsmapping.strings:
Added definition for NSMenuMixedState.
* Source/NSButtonCell.m: (-setButtonType:)
* Source/NSMenuItemCell.m: (+initialize)
* Source/NSMenuItem.m: (-initWithTitle:action:keyEquivalent:)
Use image aliases instead of file names.
* Source/GSNibCompatibility.m: Reenabled keyed archiver for
NSWindowTemplate and added missing include.
2004-02-20 Fred Kiefer <FredKiefer@gmx.de>
* Headers/AppKit/NSView.h:

View file

@ -8,4 +8,5 @@ NSRadioButton = common_RadioOff;
NSHighlightedRadioButton = common_RadioOn;
AppleMenuImage = GNUstepMenuImage;
NSMenuCheckmark = common_2DCheckMark;
NSMenuArrow = common_3DArrowRight;
NSMenuArrow = common_3DArrowRight;
NSMenuMixedState = common_2DDash;

View file

@ -52,6 +52,7 @@
#include <Foundation/NSString.h>
#include <Foundation/NSUserDefaults.h>
#include <Foundation/NSKeyValueCoding.h>
#include <Foundation/NSKeyedArchiver.h>
#include "AppKit/AppKit.h"
#include <GNUstepBase/GSObjCRuntime.h>
#include <GNUstepGUI/GSNibCompatibility.h>
@ -97,16 +98,13 @@
- (id) initWithCoder: (NSCoder *)aDecoder
{
/*
/**/
if ([aDecoder allowsKeyedCoding])
{
NSRect screenRect = [aDecoder decodeRectForKey: @"NSScreenRect"];
//NSRect screenRect = [aDecoder decodeRectForKey: @"NSScreenRect"];
NSRect windowRect = [aDecoder decodeRectForKey: @"NSWindowRect"];
NSString *viewClass = [aDecoder decodeObjectForKey: @"NSViewClass"];
//NSString *viewClass = [aDecoder decodeObjectForKey: @"NSViewClass"];
NSString *windowClass = [aDecoder decodeObjectForKey: @"NSWindowClass"];
NSString *title = [aDecoder decodeObjectForKey: @"NSWindowTitle"];
NSView *view = [aDecoder decodeObjectForKey: @"NSWindowView"];
int flags = [aDecoder decodeIntForKey: @"NSWTFlags"];
int style = [aDecoder decodeIntForKey: @"NSWindowStyleMask"];
int backing = [aDecoder decodeIntForKey: @"NSWindowBacking"];
@ -116,8 +114,16 @@
backing: backing
defer: NO
screen: nil];
[self setContentView: view];
if ([aDecoder containsValueForKey: @"NSWindowView"])
{
[self setContentView:
[aDecoder decodeObjectForKey: @"NSWindowView"]];
}
if ([aDecoder containsValueForKey: @"NSWTFlags"])
{
//int flags = [aDecoder decodeIntForKey: @"NSWTFlags"];
}
if ([aDecoder containsValueForKey: @"NSMinSize"])
{
NSSize minSize = [aDecoder decodeSizeForKey: @"NSMinSize"];
@ -128,18 +134,20 @@
NSSize maxSize = [aDecoder decodeSizeForKey: @"NSMaxSize"];
[self setMaxSize: maxSize];
}
[self setTitle: title];
if ([aDecoder containsValueForKey: @"NSWindowTitle"])
{
[self setTitle: [aDecoder decodeObjectForKey: @"NSWindowTitle"]];
}
return self;
}
else
{
*/
[aDecoder decodeValueOfObjCType: @encode(id) at: &_className];
[aDecoder decodeValueOfObjCType: @encode(id) at: &_parentClassName];
[aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_deferFlag];
return [super initWithCoder: aDecoder];
//}
[aDecoder decodeValueOfObjCType: @encode(id) at: &_className];
[aDecoder decodeValueOfObjCType: @encode(id) at: &_parentClassName];
[aDecoder decodeValueOfObjCType: @encode(BOOL) at: &_deferFlag];
return [super initWithCoder: aDecoder];
}
}
- (void) encodeWithCoder: (NSCoder *)aCoder

View file

@ -533,8 +533,8 @@
case NSSwitchButton:
[self setHighlightsBy: NSContentsCellMask];
[self setShowsStateBy: NSContentsCellMask];
[self setImage: [NSImage imageNamed: @"common_SwitchOff"]];
[self setAlternateImage: [NSImage imageNamed: @"common_SwitchOn"]];
[self setImage: [NSImage imageNamed: @"NSSwitch"]];
[self setAlternateImage: [NSImage imageNamed: @"NSHighlightedSwitch"]];
[self setImagePosition: NSImageLeft];
[self setAlignment: NSLeftTextAlignment];
[self setBordered: NO];
@ -544,8 +544,8 @@
case NSRadioButton:
[self setHighlightsBy: NSContentsCellMask];
[self setShowsStateBy: NSContentsCellMask];
[self setImage: [NSImage imageNamed: @"common_RadioOff"]];
[self setAlternateImage: [NSImage imageNamed: @"common_RadioOn"]];
[self setImage: [NSImage imageNamed: @"NSRadioButton"]];
[self setAlternateImage: [NSImage imageNamed: @"NSHighlightedRadioButton"]];
[self setImagePosition: NSImageLeft];
[self setAlignment: NSLeftTextAlignment];
[self setBordered: NO];

View file

@ -392,6 +392,11 @@ backgroundColorHint:(NSColor *)bg
{
self = [NSCursor IBeamCursor];
}
else
{
// FIXME
self = [NSCursor arrowCursor];
}
if ([aDecoder containsValueForKey: @"NSHotSpot"])
{

View file

@ -127,8 +127,8 @@ static Class imageClass;
_enabled = YES;
//_image = nil;
// Set the images according to the spec. On: check mark; off: dash.
[self setOnStateImage: [imageClass imageNamed: @"common_2DCheckMark"]];
[self setMixedStateImage: [imageClass imageNamed: @"common_2DDash"]];
[self setOnStateImage: [imageClass imageNamed: @"NSMenuCheckmark"]];
[self setMixedStateImage: [imageClass imageNamed: @"NSMenuMixedState"]];
//_offStateImage = nil;
//_target = nil;
_action = aSelector;

View file

@ -54,7 +54,7 @@ static NSImage *arrowImage = nil; /* Cache arrow image. */
if (self == [NSMenuItemCell class])
{
[self setVersion: 2];
arrowImage = [[NSImage imageNamed: @"common_3DArrowRight"] copy];
arrowImage = [[NSImage imageNamed: @"NSMenuArrow"] copy];
}
}