From 9edad26faa121792e9bbd48eedc1a6a74d754bdb Mon Sep 17 00:00:00 2001 From: preble Date: Sun, 10 Oct 2010 12:39:45 -0400 Subject: [PATCH] Spruced up inventory view. --- IJInventoryView.m | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/IJInventoryView.m b/IJInventoryView.m index 66348e4..3fb0660 100644 --- a/IJInventoryView.m +++ b/IJInventoryView.m @@ -9,11 +9,12 @@ #import "IJInventoryView.h" #import "IJInventoryItem.h" #import "MAAttachedWindow.h" +#import "NSColor+Additions.h" #import NSString * const IJPasteboardTypeInventoryItem = @"net.adampreble.insidejob.inventoryitem"; -const static CGFloat cellSize = 32; +const static CGFloat cellSize = 36; const static CGFloat cellOffset = 40; @implementation IJInventoryView @@ -46,6 +47,15 @@ const static CGFloat cellOffset = 40; return YES; } +- (CGColorRef)borderColor +{ + return [[NSColor colorWithCalibratedWhite:0.5 alpha:1.0] CGColor]; +} +- (CGColorRef)highlightedBorderColor +{ + return [[NSColor colorWithCalibratedWhite:0 alpha:1.0] CGColor]; +} + // For use by external stuff, since it flips the coordinates and our layer uses flipped geometry. - (NSPoint)pointForItemAtIndex:(int)index { @@ -86,7 +96,14 @@ const static CGFloat cellOffset = 40; layer.position = CGPointMake(x * cellOffset, y * cellOffset); layer.bounds = CGRectMake(0, 0, cellSize, cellSize); layer.borderWidth = 1.0; - layer.borderColor = CGColorGetConstantColor(kCGColorBlack); + layer.borderColor = [self borderColor]; + layer.backgroundColor = [[NSColor colorWithCalibratedWhite:0.7 alpha:1.0] CGColor]; + layer.cornerRadius = 2.0; + + CALayer *imageLayer = [CALayer layer]; + imageLayer.position = CGPointMake(cellSize/2.0, cellSize/2.0); + imageLayer.bounds = CGRectMake(0, 0, 32, 32); + [layer addSublayer:imageLayer]; CATextLayer *textLayer = [CATextLayer layer]; textLayer.bounds = CGRectMake(0, 0, cellSize-2, 18); @@ -113,9 +130,11 @@ const static CGFloat cellOffset = 40; { IJInventoryItem *item = [items objectAtIndex:itemIndex]; CALayer *layer = [self.layer.sublayers objectAtIndex:itemIndex]; - layer.contents = item.image; - CATextLayer *textLayer = [layer.sublayers objectAtIndex:0]; + CALayer *imageLayer = [layer.sublayers objectAtIndex:0]; + imageLayer.contents = item.image; + + CATextLayer *textLayer = [layer.sublayers objectAtIndex:1]; if (item.count == 0) textLayer.string = @""; else @@ -201,7 +220,7 @@ const static CGFloat cellOffset = 40; event:mouseDownEvent pasteboard:pasteboard source:self - slideBack:YES]; + slideBack:NO]; } - (void)mouseUp:(NSEvent *)theEvent @@ -247,9 +266,9 @@ const static CGFloat cellOffset = 40; [self.layer.sublayers enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { CALayer *layer = obj; if (idx == index) - layer.borderColor = CGColorGetConstantColor(kCGColorWhite); + layer.borderColor = [self highlightedBorderColor]; else - layer.borderColor = CGColorGetConstantColor(kCGColorBlack); + layer.borderColor = [self borderColor]; }]; }