Further work on theme showcase.

Reviewed by me.
This commit is contained in:
Francisco Ryan Tolmasky I
2009-05-25 15:29:17 -07:00
parent a71822cee8
commit cfdb6b0df2
4 changed files with 37 additions and 11 deletions
+4
View File
@@ -6,6 +6,10 @@
<string>BKShowcaseController</string>
<key>CPBundleName</key>
<string>Aristo</string>
<key>BKLearnMoreURL</key>
<string>http://cappuccino.org/aristo</string>
<key>BKLearnMoreButtonTitle</key>
<string>Aristo Home Page</string>
<key>CPPrincipalClass</key>
<string>CPApplication</string>
</dict>
+29 -7
View File
@@ -138,6 +138,11 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
[BKShowcaseCell setBackgroundColor:[themeDescriptorClass showcaseBackgroundColor]];
}
- (BOOL)hasLearnMoreURL
{
return [[CPBundle mainBundle] objectForInfoDictionaryKey:@"BKLearnMoreURL"];
}
- (CPArray)toolbarAllowedItemIdentifiers:(CPToolbar)aToolbar
{
return [BKLearnMoreToolbarItemIdentifier, CPToolbarSpaceItemIdentifier, CPToolbarFlexibleSpaceItemIdentifier, BKBackgroundColorToolbarItemIdentifier, BKStateToolbarItemIdentifier];
@@ -145,7 +150,12 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
- (CPArray)toolbarDefaultItemIdentifiers:(CPToolbar)aToolbar
{
return [BKLearnMoreToolbarItemIdentifier, CPToolbarFlexibleSpaceItemIdentifier, BKBackgroundColorToolbarItemIdentifier, BKStateToolbarItemIdentifier];
var itemIdentifiers = [CPToolbarFlexibleSpaceItemIdentifier, BKBackgroundColorToolbarItemIdentifier, BKStateToolbarItemIdentifier];
if ([self hasLearnMoreURL])
itemIdentifiers = [BKLearnMoreToolbarItemIdentifier].concat(itemIdentifiers);
return itemIdentifiers;
}
- (CPToolbarItem)toolbar:(CPToolbar)aToolbar itemForItemIdentifier:(CPString)anItemIdentifier willBeInsertedIntoToolbar:(BOOL)aFlag
@@ -173,19 +183,19 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
else if (anItemIdentifier === BKBackgroundColorToolbarItemIdentifier)
{
var popUpButton = [CPPopUpButton buttonWithTitle:@"Light Checkers"];
var popUpButton = [CPPopUpButton buttonWithTitle:@"Window Background"];
[popUpButton addItemWithTitle:@"Light Checkers"];
[popUpButton addItemWithTitle:@"Dark Checkers"];
[popUpButton addItemWithTitle:@"Window Background Color"];
[popUpButton addItemWithTitle:@"White"];
[popUpButton addItemWithTitle:@"Black"];
[popUpButton addItemWithTitle:@"More Choices..."];
var itemArray = [popUpButton itemArray];
[itemArray[0] setRepresentedObject:[BKThemeDescriptor lightCheckersColor]];
[itemArray[1] setRepresentedObject:[BKThemeDescriptor darkCheckersColor]];
[itemArray[2] setRepresentedObject:[BKThemeDescriptor windowBackgroundColor]];
[itemArray[0] setRepresentedObject:[BKThemeDescriptor windowBackgroundColor]];
[itemArray[1] setRepresentedObject:[BKThemeDescriptor lightCheckersColor]];
[itemArray[2] setRepresentedObject:[BKThemeDescriptor darkCheckersColor]];
[itemArray[3] setRepresentedObject:[CPColor whiteColor]];
[itemArray[4] setRepresentedObject:[CPColor blackColor]];
@@ -201,12 +211,19 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
}
else if (anItemIdentifier === BKLearnMoreToolbarItemIdentifier)
{
var button = [CPButton buttonWithTitle:@" Aristo Home Page "];
var title = [[CPBundle mainBundle] objectForInfoDictionaryKey:@"BKLearnMoreButtonTitle"];
if (!title)
title = [[CPBundle mainBundle] objectForInfoDictionaryKey:@"CPBundleName"] || @"Home Page";
var button = [CPButton buttonWithTitle:title];
[button setDefaultButton:YES];
[toolbarItem setView:button];
[toolbarItem setLabel:@"Learn More"];
[toolbarItem setTarget:nil];
[toolbarItem setAction:@selector(learnMore:)];
var width = CGRectGetWidth([button frame]);
@@ -217,6 +234,11 @@ var BKLearnMoreToolbarItemIdentifier = @"BKLearnMoreToolbarItemId
return toolbarItem;
}
- (void)learnMore:(id)aSender
{
window.location.href = [[CPBundle mainBundle] objectForInfoDictionaryKey:@"BKLearnMoreURL"];
}
- (BKThemeDescriptor)selectedThemeDescriptor
{
return _themeDescriptorClasses[[[_themesCollectionView selectionIndexes] firstIndex]];
+1 -1
View File
@@ -82,7 +82,7 @@ var ItemSizes = { },
+ (CPColor)defaultShowcaseBackgroundColor
{
return [self lightCheckersColor];
return [_CPStandardWindowView bodyBackgroundColor];//[self lightCheckersColor];
}
+ (CPColor)showcaseBackgroundColor
+3 -3
View File
@@ -31,14 +31,14 @@
- (id)NS_initWithCoder:(CPCoder)aCoder
{
_frame = CGRectMakeZero();
if ([aCoder containsValueForKey:@"NSFrame"])
_frame = [aCoder decodeRectForKey:@"NSFrame"];
else if ([aCoder containsValueForKey:@"NSFrameSize"])
_frame.size = [aCoder decodeSizeForKey:@"NSFrameSize"];
_frame.size = [aCoder decodeSizeForKey:@"NSFrameSize"];
self = [super NS_initWithCoder:aCoder];
if (self)
{
_tag = -1;