aboutsummaryrefslogtreecommitdiff
path: root/AppKit
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-02-12 18:30:23 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2010-02-12 18:30:23 +0000
commit5e4fe67110313309e6b970f987e15a8639958fb4 (patch)
tree4e250006c360d041f1df08de7866320bd2734a39 /AppKit
parentbcedc8dfede2e8d56ad68c6b52c225840c67d22b (diff)
[Author: thomasvl]
Kill off GTMTheme, never went as far as we wanted it too. R=dmaclach DELTA=750 (3 added, 747 deleted, 0 changed)
Diffstat (limited to 'AppKit')
-rw-r--r--AppKit/GTMTheme.h139
-rw-r--r--AppKit/GTMTheme.m521
-rw-r--r--AppKit/GTMThemeTest.m72
3 files changed, 0 insertions, 732 deletions
diff --git a/AppKit/GTMTheme.h b/AppKit/GTMTheme.h
deleted file mode 100644
index a7b0958..0000000
--- a/AppKit/GTMTheme.h
+++ /dev/null
@@ -1,139 +0,0 @@
-//
-// GTMTheme.h
-//
-// Copyright 2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy
-// of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-//
-
-#import "GTMDefines.h"
-#import <AppKit/AppKit.h>
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-// Sent whenever the theme changes. Object => GTMTheme that changed
-GTM_EXTERN NSString *const kGTMThemeDidChangeNotification;
-
-// Key for user defaults defining background color
-GTM_EXTERN NSString *const kGTMThemeBackgroundColorKey;
-
-enum {
- GTMThemeStyleTabBarSelected,
- GTMThemeStyleTabBarDeselected,
- GTMThemeStyleWindow,
- GTMThemeStyleToolBar,
- GTMThemeStyleToolBarButton,
- GTMThemeStyleToolBarButtonPressed,
- GTMThemeStyleBookmarksBarButton,
-};
-typedef NSUInteger GTMThemeStyle;
-
-enum {
- GTMThemeStateInactiveWindow = 0,
- GTMThemeStateActiveWindow = 1 << 0
-};
-typedef NSUInteger GTMThemeState;
-
-// GTMTheme provides a range of values for procedural drawing of UI elements
-// based on interpolation of a single background color
-
-@interface GTMTheme : NSObject {
- @private
- NSColor *backgroundColor_; // bound to user defaults
- NSImage *backgroundImage_; // bound to user defaults
- NSMutableDictionary *values_; // cached values
-}
-
-// Access the global theme. By default this is bound to user defaults
-+ (GTMTheme *)defaultTheme;
-+ (void)setDefaultTheme:(GTMTheme *)theme;
-
-// Bind this theme to user defaults
-- (void)bindToUserDefaults;
-
-// returns base theme color
-- (NSColor *)backgroundColor;
-
-// sets the base theme color
-- (void)setBackgroundColor:(NSColor *)value;
-
-// base background image
-- (NSImage *)backgroundImage;
-
-// set base background image
-- (void)setBackgroundImage:(NSImage *)value;
-
-// NSImage pattern background
-- (NSImage *)backgroundImageForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// NSColor of the above image, if present, else gradientForStyle
-- (NSColor *)backgroundPatternColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// NSGradient for specific usage
-- (NSGradient *)gradientForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// Outline color for stroke
-- (NSColor *)strokeColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// Text color
-- (NSColor *)textColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// Base background color (a plain (non pattern/gradient) NSColor)
-- (NSColor *)backgroundColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// Indicates whether luminance is dark or light
-- (BOOL)styleIsDark:(GTMThemeStyle)style state:(GTMThemeState)state;
-
-// Background style for this style and state
-- (NSBackgroundStyle)interiorBackgroundStyleForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-- (NSColor *)iconColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// Manually set a theme value
-- (void)setValue:(id)value
- forAttribute:(NSString *)attribute
- style:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-
-// Manually extract a theme value
-- (id)valueForAttribute:(NSString *)attribute
- style:(GTMThemeStyle)style
- state:(GTMThemeState)state;
-@end
-
-// Convenience categories for NSWindow and NSView to access the current theme
-// Default implementation polls the window delegate
-@interface NSWindow (GTMTheme)
-- (GTMTheme *)gtm_theme;
-- (NSPoint)gtm_themePatternPhase;
-@end
-
-@interface NSView (GTMTheme)
-- (GTMTheme *)gtm_theme;
-- (NSPoint)gtm_themePatternPhase;
-@end
-
-@protocol GTMThemeDelegate
-- (GTMTheme *)gtm_themeForWindow:(NSWindow *)window;
-- (NSPoint)gtm_themePatternPhaseForWindow:(NSWindow *)window;
-@end
-
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
diff --git a/AppKit/GTMTheme.m b/AppKit/GTMTheme.m
deleted file mode 100644
index f1c3ecd..0000000
--- a/AppKit/GTMTheme.m
+++ /dev/null
@@ -1,521 +0,0 @@
-//
-// GTMTheme.m
-//
-// Copyright 2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy
-// of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-//
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-#import "GTMTheme.h"
-#import "GTMNSColor+Luminance.h"
-#import <QuartzCore/QuartzCore.h>
-
-static GTMTheme *gGTMDefaultTheme = nil;
-NSString *const kGTMThemeDidChangeNotification = @"GTMThemeDidChangeNotification";
-NSString *const kGTMThemeBackgroundColorKey = @"GTMThemeBackgroundColor";
-
-@interface GTMTheme ()
-- (void)sendChangeNotification;
-@end
-
-@implementation NSWindow (GTMTheme)
-- (id<GTMThemeDelegate>)gtm_themeDelegate {
- id delegate = nil;
- id tempDelegate = [self delegate];
- if ([tempDelegate conformsToProtocol:@protocol(GTMThemeDelegate)]) {
- delegate = tempDelegate;
- }
- if (!delegate) {
- tempDelegate = [self windowController];
- if ([tempDelegate conformsToProtocol:@protocol(GTMThemeDelegate)]) {
- delegate = tempDelegate;
- }
- }
- return delegate;
-}
-
-- (GTMTheme *)gtm_theme {
- GTMTheme *theme = nil;
- id<GTMThemeDelegate>delegate = [self gtm_themeDelegate];
- if (delegate) {
- theme = [delegate gtm_themeForWindow:self];
- }
- return theme;
-}
-
-- (NSPoint)gtm_themePatternPhase {
- NSPoint phase = NSZeroPoint;
- id<GTMThemeDelegate>delegate = [self gtm_themeDelegate];
- if (delegate) {
- phase = [delegate gtm_themePatternPhaseForWindow:self];
- }
- return phase;
-}
-@end
-
-@implementation NSView (GTMTheme)
-- (GTMTheme *)gtm_theme {
- return [[self window] gtm_theme];
-}
-
-- (NSPoint)gtm_themePatternPhase {
- return [[self window] gtm_themePatternPhase];
-}
-@end
-
-@implementation GTMTheme
-
-+ (void)setDefaultTheme:(GTMTheme *)theme {
- if (gGTMDefaultTheme != theme) {
- [gGTMDefaultTheme release];
- gGTMDefaultTheme = [theme retain];
- [gGTMDefaultTheme sendChangeNotification];
- }
-}
-
-+ (GTMTheme *)defaultTheme {
- @synchronized (self) {
- if (!gGTMDefaultTheme) {
- gGTMDefaultTheme = [[self alloc] init];
- [gGTMDefaultTheme bindToUserDefaults];
- }
- }
- return gGTMDefaultTheme;
-}
-
-- (void)bindToUserDefaults {
- NSUserDefaultsController * controller =
- [NSUserDefaultsController sharedUserDefaultsController];
- [self bind:@"backgroundColor"
- toObject:controller
- withKeyPath:@"values.GTMThemeBackgroundColor"
- options:[NSDictionary dictionaryWithObjectsAndKeys:
- NSUnarchiveFromDataTransformerName,
- NSValueTransformerNameBindingOption,
- nil]];
-
- [self bind:@"backgroundImage"
- toObject:controller
- withKeyPath:@"values.GTMThemeBackgroundImageData"
- options:[NSDictionary dictionaryWithObjectsAndKeys:
- NSUnarchiveFromDataTransformerName,
- NSValueTransformerNameBindingOption,
- nil]];
-}
-
-- (id)init {
- self = [super init];
- if (self != nil) {
- values_ = [[NSMutableDictionary alloc] init];
- }
- return self;
-}
-
-- (void)finalize {
- [self unbind:@"backgroundColor"];
- [self unbind:@"backgroundImage"];
- [super finalize];
-}
-
-- (void)dealloc {
- [self unbind:@"backgroundColor"];
- [self unbind:@"backgroundImage"];
- [values_ release];
- [super dealloc];
-}
-
-- (void)sendChangeNotification {
- NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
- [nc postNotificationName:kGTMThemeDidChangeNotification
- object:self];
-}
-
-- (id)keyForSelector:(SEL)selector
- style:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- return [NSString stringWithFormat:@"%p.%d.%d", selector, style, state];
-}
-
-- (id)valueForSelector:(SEL)selector
- style:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- id value = [values_ objectForKey:
- [self keyForSelector:selector style:style state:state]];
- return value;
-}
-
-- (void)cacheValue:(id)value
- forSelector:(SEL)selector
- style:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- id key = [self keyForSelector:selector style:style state:state];
- if (key && value) [values_ setObject:value forKey:key];
-}
-
-- (void)setValue:(id)value
- forAttribute:(NSString *)attribute
- style:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSString *selectorString = [NSString stringWithFormat:@"%@ForStyle:state:",
- attribute];
- [self cacheValue:value
- forSelector:NSSelectorFromString(selectorString)
- style:style
- state:state];
-}
-
-- (id)valueForAttribute:(NSString *)attribute
- style:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSString *selectorString = [NSString stringWithFormat:@"%@ForStyle:state:",
- attribute];
- id key = [self keyForSelector:NSSelectorFromString(selectorString)
- style:style
- state:state];
- return [values_ objectForKey:key];
-}
-
-- (void)setBackgroundColor:(NSColor *)value {
- if (backgroundColor_ != value) {
- [backgroundColor_ release];
- backgroundColor_ = [value retain];
- }
-}
-- (NSColor *)backgroundColor {
- // For nil, we return a color that works with a normal textured window
- if (!backgroundColor_)
- return [NSColor colorWithCalibratedWhite:0.5 alpha:1.0];
- return backgroundColor_;
-}
-
-- (void)setBackgroundImage:(NSImage *)value {
- if (backgroundImage_ != value) {
- [backgroundImage_ release];
- backgroundImage_ = [value retain];
- }
-}
-
-- (NSImage *)backgroundImage {
- return backgroundImage_;
-}
-
-- (NSImage *)backgroundImageForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- id value = [self valueForSelector:_cmd style:style state:state];
- if (value) return value;
-
- if (style == GTMThemeStyleWindow) {
- if (!state) {
- // TODO(alcor): dim images when disabled
-
- if ((state & GTMThemeStateActiveWindow) != GTMThemeStateActiveWindow) {
- // TODO(alcor): this recursive call will also return nil since when you
- // ask for the active style, it never returns anything.
- NSImage *image =
- [self backgroundImageForStyle:style
- state:GTMThemeStateActiveWindow];
- NSBitmapImageRep *rep = (NSBitmapImageRep *)[image
- bestRepresentationForDevice:nil];
- if ([rep respondsToSelector:@selector(CGImage)]) {
- CIImage *ciimage = [CIImage imageWithCGImage:[rep CGImage]];
- CIFilter *filter = [CIFilter filterWithName:@"CIColorControls"
- keysAndValues:
- @"inputSaturation",
- [NSNumber numberWithFloat:0.8f],
- @"inputBrightness",
- [NSNumber numberWithFloat:0.2f],
- @"inputContrast",
- [NSNumber numberWithFloat:0.8f],
- @"inputImage",
- ciimage,
- nil];
-
- ciimage = [filter valueForKey:@"outputImage"];
-
- value = [[[NSImage alloc] init] autorelease];
- [value addRepresentation:[NSCIImageRep imageRepWithCIImage:ciimage]];
- }
- }
- }
- }
-
- [self cacheValue:value forSelector:_cmd style:style state:state];
- return value;
-}
-
-- (NSBackgroundStyle)interiorBackgroundStyleForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- id value = [self valueForSelector:_cmd style:style state:state];
- if (value) return [value intValue];
-
- NSGradient *gradient = [self gradientForStyle:style state:state];
- NSColor *color = [gradient interpolatedColorAtLocation:0.5];
- BOOL dark = [color gtm_isDarkColor];
- value = [NSNumber numberWithInt: dark ? NSBackgroundStyleLowered
- : NSBackgroundStyleRaised];
- [self cacheValue:value forSelector:_cmd style:style state:state];
- return [value intValue];
-}
-
-- (BOOL)styleIsDark:(GTMThemeStyle)style state:(GTMThemeState)state {
- id value = [self valueForSelector:_cmd style:style state:state];
- if (value) return [value boolValue];
-
- if (style == GTMThemeStyleToolBarButtonPressed) {
- value = [NSNumber numberWithBool:YES];
- } else {
- value = [NSNumber numberWithBool:[[self backgroundColor] gtm_isDarkColor]];
- }
- [self cacheValue:value forSelector:_cmd style:style state:state];
- return [value boolValue];
-}
-
-- (NSColor *)backgroundPatternColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSColor *color = [self valueForSelector:_cmd style:style state:state];
- if (color) return color;
-
- NSImage *image = [self backgroundImageForStyle:style state:state];
- if (!image && backgroundColor_) {
- NSGradient *gradient = [self gradientForStyle:style state:state];
- if (gradient) {
- // create a gradient image for the background
- CGRect r = CGRectZero;
- // TODO(alcor): figure out a better way to get an image that is the right
- // size.
- r.size = CGSizeMake(4, 36);
- size_t bytesPerRow = 4 * r.size.width;
-
- CGColorSpaceRef space
- = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
- CGContextRef context
- = CGBitmapContextCreate(NULL,
- r.size.width,
- r.size.height,
- 8,
- bytesPerRow,
- space,
- kCGImageAlphaPremultipliedFirst);
- CGColorSpaceRelease(space);
- NSGraphicsContext *nsContext =
- [NSGraphicsContext graphicsContextWithGraphicsPort:context flipped:YES];
- [NSGraphicsContext saveGraphicsState];
- [NSGraphicsContext setCurrentContext:nsContext];
- [gradient drawInRect:NSMakeRect(0, 0, r.size.width, r.size.height)
- angle:270];
- [NSGraphicsContext restoreGraphicsState];
-
- CGImageRef cgImage = CGBitmapContextCreateImage(context);
- CGContextRelease(context);
- NSBitmapImageRep *rep = nil;
- if (cgImage) {
- rep = [[[NSBitmapImageRep alloc] initWithCGImage:cgImage]
- autorelease];
- CGImageRelease(cgImage);
- }
-
- image = [[[NSImage alloc] initWithSize:NSSizeFromCGSize(r.size)]
- autorelease];
- [image addRepresentation:rep];
- }
- }
- if (image)
- color = [NSColor colorWithPatternImage:image];
- [self cacheValue:color forSelector:_cmd style:style state:state];
- return color;
-}
-
-- (NSGradient *)gradientForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSGradient *gradient = [self valueForSelector:_cmd style:style state:state];
- if (gradient) return gradient;
-
- BOOL useDarkColors = backgroundImage_ != nil || style == GTMThemeStyleWindow;
-
- NSUInteger uses[4];
- if (useDarkColors) {
- uses[0] = GTMColorationBaseHighlight;
- uses[1] = GTMColorationBaseMidtone;
- uses[2] = GTMColorationBaseShadow;
- uses[3] = GTMColorationBasePenumbra;
- } else {
- uses[0] = GTMColorationLightHighlight;
- uses[1] = GTMColorationLightMidtone;
- uses[2] = GTMColorationLightShadow;
- uses[3] = GTMColorationLightPenumbra;
- }
- NSColor *backgroundColor = [self backgroundColor];
-
- BOOL active =
- (state & GTMThemeStateActiveWindow) == GTMThemeStateActiveWindow;
- switch (style) {
- case GTMThemeStyleTabBarDeselected: {
- NSColor *startColor = [backgroundColor gtm_colorAdjustedFor:uses[2]
- faded:!active];
- NSColor *endColor = [backgroundColor gtm_colorAdjustedFor:uses[3]
- faded:!active];
-
- gradient = [[[NSGradient alloc] initWithStartingColor:startColor
- endingColor:endColor]
- autorelease];
- break;
- }
- case GTMThemeStyleTabBarSelected: {
- NSColor *startColor = [backgroundColor gtm_colorAdjustedFor:uses[0]
- faded:!active];
- NSColor *endColor = [backgroundColor gtm_colorAdjustedFor:uses[1]
- faded:!active];
- gradient = [[[NSGradient alloc] initWithStartingColor:startColor
- endingColor:endColor]
- autorelease];
- break;
- }
- case GTMThemeStyleWindow: {
- CGFloat luminance = [backgroundColor gtm_luminance];
-
- // Adjust luminance so it never hits black
- if (luminance < 0.5) {
- CGFloat adjustment = (0.5 - luminance) / 1.5;
- backgroundColor
- = [backgroundColor gtm_colorByAdjustingLuminance:adjustment];
- }
- NSColor *startColor = [backgroundColor gtm_colorAdjustedFor:uses[1]
- faded:!active];
- NSColor *endColor = [backgroundColor gtm_colorAdjustedFor:uses[2]
- faded:!active];
-
-
- if (!active) {
- startColor = [startColor gtm_colorByAdjustingLuminance:0.1
- saturation:0.5];
- endColor = [endColor gtm_colorByAdjustingLuminance:0.1
- saturation:0.5];
-
- }
- gradient = [[[NSGradient alloc] initWithStartingColor:startColor
- endingColor:endColor]
- autorelease];
- break;
- }
- case GTMThemeStyleToolBar:
- case GTMThemeStyleToolBarButton: {
- NSColor *startColor = [backgroundColor gtm_colorAdjustedFor:uses[0]
- faded:!active];
- NSColor *midColor = [backgroundColor gtm_colorAdjustedFor:uses[1]
- faded:!active];
- NSColor *endColor = [backgroundColor gtm_colorAdjustedFor:uses[2]
- faded:!active];
- NSColor *glowColor = [backgroundColor gtm_colorAdjustedFor:uses[3]
- faded:!active];
-
- gradient = [[[NSGradient alloc] initWithColorsAndLocations:
- startColor, 0.0,
- midColor, 0.25,
- endColor, 0.5,
- glowColor, 0.75,
- nil] autorelease];
- break;
- }
- case GTMThemeStyleToolBarButtonPressed: {
- NSColor *startColor = [backgroundColor
- gtm_colorAdjustedFor:GTMColorationBaseShadow
- faded:!active];
- NSColor *endColor = [backgroundColor
- gtm_colorAdjustedFor:GTMColorationBaseMidtone
- faded:!active];
- gradient = [[[NSGradient alloc] initWithStartingColor:startColor
- endingColor:endColor]
- autorelease];
- break;
- }
- default:
- _GTMDevLog(@"Unexpected style: %d", style);
- break;
- }
-
- [self cacheValue:gradient forSelector:_cmd style:style state:state];
- return gradient;
-}
-
-- (NSColor *)strokeColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSColor *color = [self valueForSelector:_cmd style:style state:state];
- if (color) return color;
- NSColor *backgroundColor = [self backgroundColor];
- BOOL active = (state & GTMThemeStateActiveWindow)
- == GTMThemeStateActiveWindow;
- switch (style) {
- case GTMThemeStyleToolBarButton:
- color = [[backgroundColor gtm_colorAdjustedFor:GTMColorationDarkShadow
- faded:!active]
- colorWithAlphaComponent:0.3];
- break;
- case GTMThemeStyleToolBar:
- default:
- color = [[self backgroundColor]
- gtm_colorAdjustedFor:GTMColorationBaseShadow
- faded:!active];
- break;
- }
-
- [self cacheValue:color forSelector:_cmd style:style state:state];
- return color;
-}
-
-- (NSColor *)iconColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSColor *color = [self valueForSelector:_cmd style:style state:state];
- if (color) return color;
-
- if ([self styleIsDark:style state:state]) {
- color = [NSColor whiteColor];
- } else {
- color = [NSColor blackColor];
- }
-
- [self cacheValue:color forSelector:_cmd style:style state:state];
- return color;
-}
-
-- (NSColor *)textColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSColor *color = [self valueForSelector:_cmd style:style state:state];
- if (color) return color;
-
- if ([self styleIsDark:style state:state]) {
- color = [NSColor whiteColor];
- } else {
- color = [NSColor blackColor];
- }
-
- [self cacheValue:color forSelector:_cmd style:style state:state];
- return color;
-}
-
-- (NSColor *)backgroundColorForStyle:(GTMThemeStyle)style
- state:(GTMThemeState)state {
- NSColor *color = [self valueForSelector:_cmd style:style state:state];
- if (color) return color;
-
- // TODO(alcor): calculate this based off base background color
- // Generally this will be set by a theme provider
- color = [self backgroundColor];
-
- [self cacheValue:color forSelector:_cmd style:style state:state];
- return color;
-}
-@end
-
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
diff --git a/AppKit/GTMThemeTest.m b/AppKit/GTMThemeTest.m
deleted file mode 100644
index 0f5c996..0000000
--- a/AppKit/GTMThemeTest.m
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// GTMThemeTest.m
-//
-// Copyright 2009 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may not
-// use this file except in compliance with the License. You may obtain a copy
-// of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-// License for the specific language governing permissions and limitations under
-// the License.
-//
-
-#import <Cocoa/Cocoa.h>
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
-
-#import "GTMSenTestCase.h"
-#import "GTMTheme.h"
-
-@interface GTMThemeTest : GTMTestCase
-@end
-
-@implementation GTMThemeTest
-
-- (void)testTheming {
- GTMTheme *theme = [GTMTheme defaultTheme];
-
- // When there are no values, use window default colors
- STAssertEqualObjects([theme backgroundColor],
- [NSColor colorWithCalibratedWhite:0.5 alpha:1.0], nil);
- STAssertNil([theme backgroundImageForStyle:GTMThemeStyleWindow
- state:GTMThemeStateActiveWindow],
- nil);
- STAssertNil([theme backgroundImage], nil);
-
- NSColor *color = [NSColor redColor];
- NSData *colorData = [NSArchiver archivedDataWithRootObject:color];
- NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
- [defaults setObject:colorData forKey:kGTMThemeBackgroundColorKey];
-
- STAssertNotNil([theme textColorForStyle:GTMThemeStyleToolBar
- state:GTMThemeStateActiveWindow], nil);
- STAssertNotNil([theme backgroundColorForStyle:GTMThemeStyleToolBar
- state:GTMThemeStateActiveWindow], nil);
- STAssertNotNil([theme backgroundPatternColorForStyle:GTMThemeStyleToolBar
- state:GTMThemeStateActiveWindow], nil);
- STAssertNotNil([theme strokeColorForStyle:GTMThemeStyleToolBar
- state:GTMThemeStateActiveWindow], nil);
- STAssertNotNil([theme gradientForStyle:GTMThemeStyleToolBar
- state:GTMThemeStateActiveWindow], nil);
-
- STAssertEqualObjects([theme backgroundColor], color, nil);
-
- NSBackgroundStyle style
- = [theme interiorBackgroundStyleForStyle:GTMThemeStyleToolBar
- state:GTMThemeStateActiveWindow];
- // TODO(alcor): add more of these cases once the constants are more concrete
- STAssertEquals(style, (NSBackgroundStyle)NSBackgroundStyleRaised, nil);
-
- [[NSUserDefaults standardUserDefaults] removeObjectForKey:
- @"GTMThemeBackgroundColor"];
-}
-
-@end
-
-#endif // MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5