mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-11-08 16:10:34 +00:00
Merge pull request #2073 from mockingbird/set-backed-cptheme
Change CPThemes to use sets instead of bitmasks. Closes #2015.
This commit is contained in:
commit
e4a4dd3219
19 files changed
+641
-513
No files matched your search
+1
-1
@@ -980,7 +980,7 @@
|
||||
var imageView = [self layoutEphemeralSubviewNamed:@"image-view"
|
||||
positioned:CPWindowAbove
|
||||
relativeToEphemeralSubviewNamed:nil],
|
||||
isHighlighted = [self themeState] & CPThemeStateSelectedDataView;
|
||||
isHighlighted = [self hasThemeState:CPThemeStateSelectedDataView];
|
||||
|
||||
[imageView setImage: _isLeaf ? (isHighlighted ? _highlightedBranchImage : _branchImage) : nil];
|
||||
[imageView setImageScaling:CPImageScaleNone];
|
||||
|
||||
+1
-1
@@ -268,7 +268,7 @@ CPButtonImageOffset = 3.0;
|
||||
break;
|
||||
|
||||
case CPOffState:
|
||||
[self unsetThemeState:CPThemeStateSelected | CPButtonStateMixed | CPThemeStateHighlighted];
|
||||
[self unsetThemeState:CPThemeState(CPThemeStateSelected, CPButtonStateMixed, CPThemeStateHighlighted)];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -250,15 +250,15 @@
|
||||
currentButtonOffset += width - 1;
|
||||
}
|
||||
|
||||
[button setValue:normalColor forThemeAttribute:@"bezel-color" inState:CPThemeStateNormal | CPThemeStateBordered];
|
||||
[button setValue:highlightedColor forThemeAttribute:@"bezel-color" inState:CPThemeStateHighlighted | CPThemeStateBordered];
|
||||
[button setValue:disabledColor forThemeAttribute:@"bezel-color" inState:CPThemeStateDisabled | CPThemeStateBordered];
|
||||
[button setValue:normalColor forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateNormal, CPThemeStateBordered)];
|
||||
[button setValue:highlightedColor forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateBordered)];
|
||||
[button setValue:disabledColor forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateBordered)];
|
||||
[button setValue:textColor forThemeAttribute:@"text-color" inState:CPThemeStateBordered];
|
||||
|
||||
// FIXME shouldn't need this
|
||||
[button setValue:normalColor forThemeAttribute:@"bezel-color" inState:CPThemeStateNormal | CPThemeStateBordered | CPPopUpButtonStatePullsDown];
|
||||
[button setValue:highlightedColor forThemeAttribute:@"bezel-color" inState:CPThemeStateHighlighted | CPThemeStateBordered | CPPopUpButtonStatePullsDown];
|
||||
[button setValue:disabledColor forThemeAttribute:@"bezel-color" inState:CPThemeStateDisabled | CPThemeStateBordered | CPPopUpButtonStatePullsDown];
|
||||
[button setValue:normalColor forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateNormal, CPThemeStateBordered, CPPopUpButtonStatePullsDown)];
|
||||
[button setValue:highlightedColor forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateBordered, CPPopUpButtonStatePullsDown)];
|
||||
[button setValue:disabledColor forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateBordered, CPPopUpButtonStatePullsDown)];
|
||||
|
||||
[self addSubview:button];
|
||||
}
|
||||
|
||||
@@ -1020,30 +1020,30 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeStateDisabled] forThemeAttribute:@"text-shadow-color" inState:CPThemeStateDisabled];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeStateDisabled] forThemeAttribute:@"text-shadow-offset" inState:CPThemeStateDisabled];
|
||||
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState:CPThemeStateDisabled | CPThemeStateSelected] forThemeAttribute:@"font" inState:CPThemeStateDisabled | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState:CPThemeStateDisabled | CPThemeStateSelected] forThemeAttribute:@"text-color" inState:CPThemeStateDisabled | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeStateDisabled | CPThemeStateSelected] forThemeAttribute:@"text-shadow-color" inState:CPThemeStateDisabled | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeStateDisabled | CPThemeStateSelected] forThemeAttribute:@"text-shadow-offset" inState:CPThemeStateDisabled | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)] forThemeAttribute:@"font" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)] forThemeAttribute:@"text-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)] forThemeAttribute:@"text-shadow-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)] forThemeAttribute:@"text-shadow-offset" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)];
|
||||
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState:CPThemeStateHighlighted] forThemeAttribute:@"font" inState:CPThemeStateHighlighted];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState:CPThemeStateHighlighted] forThemeAttribute:@"text-color" inState:CPThemeStateHighlighted];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeStateHighlighted] forThemeAttribute:@"text-shadow-color" inState:CPThemeStateHighlighted];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeStateHighlighted] forThemeAttribute:@"text-shadow-offset" inState:CPThemeStateHighlighted];
|
||||
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState:CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"font" inState:CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState:CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"text-color" inState:CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"text-shadow-color" inState:CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"text-shadow-offset" inState:CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"font" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"text-color" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"text-shadow-color" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"text-shadow-offset" inState:CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"font" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"text-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"text-shadow-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected] forThemeAttribute:@"text-shadow-offset" inState: CPThemeStateDisabled | CPThemeStateHighlighted | CPThemeStateSelected];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"font" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"text-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"text-shadow-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)] forThemeAttribute:@"text-shadow-offset" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateSelected)];
|
||||
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState: CPThemeStateDisabled | CPThemeStateHighlighted ] forThemeAttribute:@"font" inState: CPThemeStateDisabled | CPThemeStateHighlighted ];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted ] forThemeAttribute:@"text-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted ];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted ] forThemeAttribute:@"text-shadow-color" inState: CPThemeStateDisabled | CPThemeStateHighlighted ];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState: CPThemeStateDisabled | CPThemeStateHighlighted ] forThemeAttribute:@"text-shadow-offset" inState: CPThemeStateDisabled | CPThemeStateHighlighted];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-font" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)] forThemeAttribute:@"font" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)] forThemeAttribute:@"text-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)] forThemeAttribute:@"text-shadow-color" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)];
|
||||
[_textField setValue:[_datePicker valueForThemeAttribute:@"tile-text-shadow-offset" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)] forThemeAttribute:@"text-shadow-offset" inState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)];
|
||||
|
||||
[self addSubview:_textField];
|
||||
|
||||
@@ -1156,7 +1156,7 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
var themeState = [self themeState],
|
||||
context = [[CPGraphicsContext currentContext] graphicsPort];
|
||||
|
||||
if (themeState & CPThemeStateSelected)
|
||||
if (themeState.hasThemeState(CPThemeStateSelected))
|
||||
{
|
||||
[self setBackgroundColor:[_datePicker valueForThemeAttribute:@"bezel-color-calendar" inState:themeState]];
|
||||
CGContextSetLineWidth(context, [_datePicker valueForThemeAttribute:@"border-width"]);
|
||||
|
||||
+1
-1
@@ -733,7 +733,7 @@ CPThemeStateScrollerKnobDark = CPThemeState("scroller-knob-dark");
|
||||
var themeState = _themeState;
|
||||
|
||||
if (NAMES_FOR_PARTS[_hitPart] + "-color" !== anAttributeName)
|
||||
themeState &= ~CPThemeStateHighlighted;
|
||||
themeState = ThemeState.subtractThemeStates(themeState, CPThemeStateHighlighted);
|
||||
|
||||
return [self valueForThemeAttribute:anAttributeName inState:themeState];
|
||||
}
|
||||
|
||||
+16
-15
@@ -285,7 +285,6 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
- (void)setWidth:(float)aWidth forSegment:(unsigned)aSegment
|
||||
{
|
||||
[_segments[aSegment] setWidth:aWidth];
|
||||
|
||||
[self tileWithChangedSegment:aSegment];
|
||||
}
|
||||
|
||||
@@ -432,9 +431,9 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
[_segments[aSegment] setEnabled:shouldBeEnabled];
|
||||
|
||||
if (shouldBeEnabled)
|
||||
_themeStates[aSegment] &= ~CPThemeStateDisabled;
|
||||
_themeStates[aSegment] = ThemeState.subtractThemeStates(_themeStates[aSegment], CPThemeStateDisabled);
|
||||
else
|
||||
_themeStates[aSegment] |= CPThemeStateDisabled;
|
||||
_themeStates[aSegment] = CPThemeState(_themeStates[aSegment], CPThemeStateDisabled);
|
||||
|
||||
[self setNeedsLayout];
|
||||
[self setNeedsDisplay:YES];
|
||||
@@ -478,9 +477,9 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
- (void)drawSegmentBezel:(int)aSegment highlight:(BOOL)shouldHighlight
|
||||
{
|
||||
if (shouldHighlight)
|
||||
_themeStates[aSegment] |= CPThemeStateHighlighted;
|
||||
_themeStates[aSegment] = CPThemeState(_themeStates[aSegment], CPThemeStateHighlighted);
|
||||
else
|
||||
_themeStates[aSegment] &= ~CPThemeStateHighlighted;
|
||||
_themeStates[aSegment] = ThemeState.subtractThemeStates(_themeStates[aSegment], CPThemeStateHighlighted);
|
||||
|
||||
[self setNeedsLayout];
|
||||
[self setNeedsDisplay:YES];
|
||||
@@ -574,9 +573,10 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
if (_segments.length <= 0)
|
||||
return;
|
||||
|
||||
var themeState = _themeStates[0];
|
||||
var themeState = _themeStates[0],
|
||||
isDisabled = [self hasThemeState:CPThemeStateDisabled];
|
||||
|
||||
themeState |= _themeState & CPThemeStateDisabled;
|
||||
themeState = isDisabled ? CPThemeState(themeState, CPThemeStateDisabled) : themeState;
|
||||
|
||||
var leftCapColor = [self valueForThemeAttribute:@"left-segment-bezel-color"
|
||||
inState:themeState],
|
||||
@@ -589,7 +589,7 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
|
||||
var themeState = _themeStates[_themeStates.length - 1];
|
||||
|
||||
themeState |= _themeState & CPThemeStateDisabled;
|
||||
themeState = isDisabled ? CPThemeState(themeState, CPThemeStateDisabled) : themeState;
|
||||
|
||||
var rightCapColor = [self valueForThemeAttribute:@"right-segment-bezel-color"
|
||||
inState:themeState],
|
||||
@@ -604,7 +604,7 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
{
|
||||
var themeState = _themeStates[i];
|
||||
|
||||
themeState |= _themeState & CPThemeStateDisabled;
|
||||
themeState = isDisabled ? CPThemeState(themeState, CPThemeStateDisabled) : themeState;
|
||||
|
||||
var bezelColor = [self valueForThemeAttribute:@"center-segment-bezel-color"
|
||||
inState:themeState],
|
||||
@@ -642,11 +642,11 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
if (i == count - 1)
|
||||
continue;
|
||||
|
||||
var borderState = _themeStates[i] | _themeStates[i + 1];
|
||||
var borderState = CPThemeState(_themeStates[i], _themeStates[i + 1]);
|
||||
|
||||
borderState = (borderState & CPThemeStateSelected & ~CPThemeStateHighlighted) ? CPThemeStateSelected : CPThemeStateNormal;
|
||||
borderState = (borderState.hasThemeState(CPThemeStateSelected) && !borderState.hasThemeState(CPThemeStateHighlighted)) ? CPThemeStateSelected : CPThemeStateNormal;
|
||||
|
||||
borderState |= _themeState & CPThemeStateDisabled;
|
||||
borderState = isDisabled ? CPThemeState(borderState, CPThemeStateDisabled) : borderState;
|
||||
|
||||
var borderColor = [self valueForThemeAttribute:@"divider-bezel-color"
|
||||
inState:borderState],
|
||||
@@ -676,7 +676,7 @@ CPSegmentSwitchTrackingMomentary = 2;
|
||||
|
||||
var segment = _segments[aSegment],
|
||||
segmentWidth = [segment width],
|
||||
themeState = _themeStates[aSegment] | (_themeState & CPThemeStateDisabled),
|
||||
themeState = _themeState.hasThemeState(CPThemeStateDisabled) ? CPThemeState(_themeStates[aSegment], CPThemeStateDisabled) : _themeStates[aSegment];
|
||||
contentInset = [self valueForThemeAttribute:@"content-inset" inState:themeState],
|
||||
font = [self font];
|
||||
|
||||
@@ -915,10 +915,11 @@ var CPSegmentedControlSegmentsKey = "CPSegmentedControlSegmentsKey",
|
||||
// HACK
|
||||
|
||||
for (var i = 0; i < _segments.length; i++)
|
||||
{
|
||||
_themeStates[i] = [_segments[i] selected] ? CPThemeStateSelected : CPThemeStateNormal;
|
||||
|
||||
// We do this in a second loop because it relies on all the themeStates being set first
|
||||
for (var i = 0; i < _segments.length; i++)
|
||||
[self tileWithChangedSegment:i];
|
||||
}
|
||||
|
||||
var difference = MAX(originalWidth - [self frame].size.width, 0.0),
|
||||
remainingWidth = FLOOR(difference / _segments.length);
|
||||
|
||||
+4
-4
@@ -182,11 +182,11 @@
|
||||
[_buttonDown setFrame:downFrame];
|
||||
|
||||
[_buttonUp setValue:[self valueForThemeAttribute:@"bezel-color-up-button" inState:CPThemeStateBordered] forThemeAttribute:@"bezel-color" inState:CPThemeStateBordered];
|
||||
[_buttonUp setValue:[self valueForThemeAttribute:@"bezel-color-up-button" inState:CPThemeStateBordered | CPThemeStateDisabled] forThemeAttribute:@"bezel-color" inState:CPThemeStateBordered | CPThemeStateDisabled];
|
||||
[_buttonUp setValue:[self valueForThemeAttribute:@"bezel-color-up-button" inState:CPThemeStateBordered | CPThemeStateHighlighted] forThemeAttribute:@"bezel-color" inState:CPThemeStateBordered | CPThemeStateHighlighted];
|
||||
[_buttonUp setValue:[self valueForThemeAttribute:@"bezel-color-up-button" inState:CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)] forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)];
|
||||
[_buttonUp setValue:[self valueForThemeAttribute:@"bezel-color-up-button" inState:CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)] forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)];
|
||||
[_buttonDown setValue:[self valueForThemeAttribute:@"bezel-color-down-button" inState:CPThemeStateBordered] forThemeAttribute:@"bezel-color" inState:CPThemeStateBordered];
|
||||
[_buttonDown setValue:[self valueForThemeAttribute:@"bezel-color-down-button" inState:CPThemeStateBordered | CPThemeStateDisabled] forThemeAttribute:@"bezel-color" inState:CPThemeStateBordered | CPThemeStateDisabled];
|
||||
[_buttonDown setValue:[self valueForThemeAttribute:@"bezel-color-down-button" inState:CPThemeStateBordered | CPThemeStateHighlighted] forThemeAttribute:@"bezel-color" inState:CPThemeStateBordered | CPThemeStateHighlighted];
|
||||
[_buttonDown setValue:[self valueForThemeAttribute:@"bezel-color-down-button" inState:CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)] forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)];
|
||||
[_buttonDown setValue:[self valueForThemeAttribute:@"bezel-color-down-button" inState:CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)] forThemeAttribute:@"bezel-color" inState:CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)];
|
||||
}
|
||||
|
||||
- (void)_sizeToFit
|
||||
|
||||
+172
-130
@@ -314,6 +314,156 @@ var CPThemeNameKey = @"CPThemeNameKey",
|
||||
|
||||
@end
|
||||
|
||||
/*!
|
||||
* ThemeStates are immutable objects representing a particular ThemeState. Applications should never be creating
|
||||
* ThemeStates directly but should instead use the CPThemeState function.
|
||||
*/
|
||||
function ThemeState(stateNames)
|
||||
{
|
||||
var stateNameKeys = [];
|
||||
this._stateNames = {};
|
||||
|
||||
for (key in stateNames)
|
||||
{
|
||||
if (!stateNames.hasOwnProperty(key))
|
||||
continue;
|
||||
if (key != 'normal')
|
||||
{
|
||||
this._stateNames[key] = true;
|
||||
stateNameKeys.push(key);
|
||||
}
|
||||
}
|
||||
|
||||
if (stateNameKeys.length === 0)
|
||||
{
|
||||
stateNameKeys.push('normal');
|
||||
this._stateNames['normal'] = true;
|
||||
}
|
||||
|
||||
stateNameKeys.sort();
|
||||
this._stateNameString = stateNameKeys[0];
|
||||
|
||||
var stateNameLength = stateNameKeys.length;
|
||||
for (var stateIndex = 1; stateIndex < stateNameLength; stateIndex++)
|
||||
this._stateNameString = this._stateNameString + "+" + stateNameKeys[stateIndex];
|
||||
this._stateNameCount = stateNameLength;
|
||||
}
|
||||
|
||||
ThemeState.prototype.toString = function()
|
||||
{
|
||||
return this._stateNameString;
|
||||
}
|
||||
|
||||
ThemeState.prototype.hasThemeState = function(aState)
|
||||
{
|
||||
if (aState === undefined || aState === nil || aState._stateNames === undefined)
|
||||
return false;
|
||||
// We can do this in O(n) because both states have their stateNames already sorted.
|
||||
for (var stateName in aState._stateNames)
|
||||
{
|
||||
if (!aState._stateNames.hasOwnProperty(stateName))
|
||||
continue;
|
||||
if (!this._stateNames[stateName])
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
ThemeState.prototype.isSubsetOf = function(aState)
|
||||
{
|
||||
if (aState._stateNameCount < this._stateNameCount)
|
||||
return false;
|
||||
|
||||
for (key in this._stateNames)
|
||||
{
|
||||
if (!this._stateNames.hasOwnProperty(key))
|
||||
continue;
|
||||
if (!aState._stateNames[key])
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
ThemeState.subtractThemeStates = function(aState1, aState2)
|
||||
{
|
||||
if (aState2 === undefined || aState2 === nil || aState2 === [CPNull null])
|
||||
return aState1;
|
||||
|
||||
var newStates = {};
|
||||
for (var stateName in aState1._stateNames)
|
||||
{
|
||||
if (!aState1._stateNames.hasOwnProperty(stateName))
|
||||
continue;
|
||||
|
||||
if (!aState2._stateNames[stateName])
|
||||
newStates[stateName] = true;
|
||||
}
|
||||
|
||||
return ThemeState._cacheThemeState(new ThemeState(newStates));
|
||||
}
|
||||
|
||||
ThemeState._cacheThemeState = function(aState)
|
||||
{
|
||||
// We do this caching so themeState equality works. Basically, doing CPThemeState('foo+bar') === CPThemeState('bar', 'foo') will return true.
|
||||
var themeState = CPThemeStates[String(aState)];
|
||||
if (themeState === undefined)
|
||||
{
|
||||
themeState = aState;
|
||||
CPThemeStates[String(themeState)] = themeState;
|
||||
}
|
||||
return themeState;
|
||||
}
|
||||
|
||||
var CPThemeStates = {};
|
||||
|
||||
/*!
|
||||
* This method can be called in multiple ways:
|
||||
* CPThemeState('state1') - creates a new CPThemeState that corresponds to the string 'state1'
|
||||
* CPThemeState('state1', 'state2') - creates a new composite CPThemeState made up of both 'state1' or 'state2'
|
||||
* CPThemeState('state1+state2') - The same as CPThemeState('state1', 'state2')
|
||||
* CPThemeState(state1, state2) - creates a new composite CPThemeState made up of state1 and state2
|
||||
* where state1 and state2 are not strings but are themselves CPThemeStates.
|
||||
*/
|
||||
function CPThemeState()
|
||||
{
|
||||
if (arguments.length < 1)
|
||||
throw "CPThemeState() must be called with at least one string argument";
|
||||
|
||||
var themeState;
|
||||
if (arguments.length === 1 && typeof arguments[0] === 'string')
|
||||
{
|
||||
themeState = CPThemeStates[arguments[0]];
|
||||
if (themeState !== undefined)
|
||||
return themeState;
|
||||
}
|
||||
|
||||
var stateNames = {};
|
||||
for (var argIndex = 0; argIndex < arguments.length; argIndex++)
|
||||
{
|
||||
if (arguments[argIndex] === [CPNull null] || arguments[argIndex] === nil || arguments[argIndex] === undefined)
|
||||
continue;
|
||||
|
||||
if (typeof arguments[argIndex] === 'object')
|
||||
{
|
||||
for (var stateName in arguments[argIndex]._stateNames)
|
||||
{
|
||||
if (!arguments[argIndex]._stateNames.hasOwnProperty(stateName))
|
||||
continue;
|
||||
stateNames[stateName] = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var allNames = arguments[argIndex].split('+');
|
||||
for (var nameIndex = 0; nameIndex < allNames.length; nameIndex++)
|
||||
stateNames[allNames[nameIndex]] = true;
|
||||
}
|
||||
}
|
||||
|
||||
themeState = ThemeState._cacheThemeState(new ThemeState(stateNames));
|
||||
return themeState;
|
||||
}
|
||||
|
||||
@implementation _CPThemeKeyedUnarchiver : CPKeyedUnarchiver
|
||||
{
|
||||
CPBundle _bundle;
|
||||
@@ -341,71 +491,7 @@ var CPThemeNameKey = @"CPThemeNameKey",
|
||||
|
||||
@end
|
||||
|
||||
var CPThemeStates = {},
|
||||
CPThemeStateNames = {},
|
||||
CPThemeStateCount = 0;
|
||||
|
||||
function CPThemeState(aStateName)
|
||||
{
|
||||
var state = CPThemeStates[aStateName];
|
||||
|
||||
if (state === undefined)
|
||||
{
|
||||
if (aStateName.indexOf('+') === -1)
|
||||
state = 1 << CPThemeStateCount++;
|
||||
else
|
||||
{
|
||||
var state = 0,
|
||||
states = aStateName.split('+'),
|
||||
count = states.length;
|
||||
|
||||
while (count--)
|
||||
{
|
||||
var stateName = states[count],
|
||||
individualState = CPThemeStates[stateName];
|
||||
|
||||
if (individualState === undefined)
|
||||
{
|
||||
individualState = 1 << CPThemeStateCount++;
|
||||
CPThemeStates[stateName] = individualState;
|
||||
CPThemeStateNames[individualState] = stateName;
|
||||
}
|
||||
|
||||
state |= individualState;
|
||||
}
|
||||
}
|
||||
|
||||
CPThemeStates[aStateName] = state;
|
||||
CPThemeStateNames[state] = aStateName;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
function CPThemeStateName(aState)
|
||||
{
|
||||
var name = CPThemeStateNames[aState];
|
||||
|
||||
if (name !== undefined)
|
||||
return name;
|
||||
|
||||
if (!(aState & (aState - 1)))
|
||||
return "";
|
||||
|
||||
var state = 1,
|
||||
name = "";
|
||||
|
||||
for (; state < aState; state <<= 1)
|
||||
if (aState & state)
|
||||
name += (name.length === 0 ? '' : '+') + CPThemeStateNames[state];
|
||||
|
||||
CPThemeStateNames[aState] = name;
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
CPThemeStateNames[0] = "normal";
|
||||
CPThemeStateNormal = CPThemeStates["normal"] = 0;
|
||||
CPThemeStateNormal = CPThemeState("normal");
|
||||
CPThemeStateDisabled = CPThemeState("disabled");
|
||||
CPThemeStateHovered = CPThemeState("hovered");
|
||||
CPThemeStateHighlighted = CPThemeState("highlighted");
|
||||
@@ -464,11 +550,6 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
return [_values count] > 0;
|
||||
}
|
||||
|
||||
- (BOOL)isTrivial
|
||||
{
|
||||
return ([_values count] === 1) && (Number([_values allKeys][0]) === CPThemeStateNormal);
|
||||
}
|
||||
|
||||
- (void)setValue:(id)aValue
|
||||
{
|
||||
_cache = {};
|
||||
@@ -496,42 +577,32 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
|
||||
- (id)valueForState:(CPThemeState)aState
|
||||
{
|
||||
var value = _cache[aState];
|
||||
var stateName = String(aState);
|
||||
var value = _cache[stateName];
|
||||
|
||||
// This can be nil.
|
||||
if (value !== undefined)
|
||||
return value;
|
||||
|
||||
value = [_values objectForKey:String(aState)];
|
||||
value = [_values objectForKey:stateName];
|
||||
|
||||
// If we don't have a value, and we have a non-normal state...
|
||||
if ((value === undefined || value === nil) && aState !== CPThemeStateNormal)
|
||||
if (value === undefined || value === nil)
|
||||
{
|
||||
// If this is a composite state (not a power of 2), find the closest partial subset match.
|
||||
if (aState & (aState - 1))
|
||||
// If this is a composite state, find the closest partial subset match.
|
||||
if (aState._stateNameCount > 1)
|
||||
{
|
||||
var highestOneCount = 0,
|
||||
states = [_values allKeys],
|
||||
count = states.length;
|
||||
var states = [_values allKeys],
|
||||
count = states.length,
|
||||
largestThemeState = 0;
|
||||
|
||||
while (count--)
|
||||
{
|
||||
// states[count] is a string!
|
||||
var state = Number(states[count]);
|
||||
var stateObject = CPThemeState(states[count]);
|
||||
|
||||
// A & B = A iff A < B
|
||||
if ((state & aState) === state)
|
||||
if (stateObject.isSubsetOf(aState) && stateObject._stateNameCount > largestThemeState)
|
||||
{
|
||||
var oneCount = cachedNumberOfOnes[state];
|
||||
|
||||
if (oneCount === undefined)
|
||||
oneCount = numberOfOnes(state);
|
||||
|
||||
if (oneCount > highestOneCount)
|
||||
{
|
||||
highestOneCount = oneCount;
|
||||
value = [_values objectForKey:String(state)];
|
||||
}
|
||||
value = [_values objectForKey:states[count]];
|
||||
largestThemeState = stateObject._stateNameCount;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -554,7 +625,7 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
value = nil;
|
||||
}
|
||||
|
||||
_cache[aState] = value;
|
||||
_cache[stateName] = value;
|
||||
|
||||
return value;
|
||||
}
|
||||
@@ -596,10 +667,10 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
|
||||
if ([aCoder containsValueForKey:@"value"])
|
||||
{
|
||||
var state = CPThemeStateNormal;
|
||||
var state = String(CPThemeStateNormal);
|
||||
|
||||
if ([aCoder containsValueForKey:@"state"])
|
||||
state = CPThemeState([aCoder decodeObjectForKey:@"state"]);
|
||||
state = [aCoder decodeObjectForKey:@"state"];
|
||||
|
||||
[_values setObject:[aCoder decodeObjectForKey:"value"] forKey:state];
|
||||
}
|
||||
@@ -613,7 +684,7 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
{
|
||||
var key = keys[count];
|
||||
|
||||
[_values setObject:[encodedValues objectForKey:key] forKey:CPThemeState(key)];
|
||||
[_values setObject:[encodedValues objectForKey:key] forKey:key];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -633,8 +704,8 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
{
|
||||
var onlyKey = keys[0];
|
||||
|
||||
if (Number(onlyKey) !== CPThemeStateNormal)
|
||||
[aCoder encodeObject:CPThemeStateName(Number(onlyKey)) forKey:@"state"];
|
||||
if (onlyKey !== String(CPThemeStateNormal))
|
||||
[aCoder encodeObject:onlyKey forKey:@"state"];
|
||||
|
||||
[aCoder encodeObject:[_values objectForKey:onlyKey] forKey:@"value"];
|
||||
}
|
||||
@@ -646,7 +717,7 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
{
|
||||
var key = keys[count];
|
||||
|
||||
[encodedValues setObject:[_values objectForKey:key] forKey:CPThemeStateName(Number(key))];
|
||||
[encodedValues setObject:[_values objectForKey:key] forKey:key];
|
||||
}
|
||||
|
||||
[aCoder encodeObject:encodedValues forKey:@"values"];
|
||||
@@ -655,35 +726,6 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
|
||||
@end
|
||||
|
||||
var cachedNumberOfOnes = [ 0 /*000000*/, 1 /*000001*/, 1 /*000010*/, 2 /*000011*/, 1 /*000100*/, 2 /*000101*/, 2 /*000110*/,
|
||||
3 /*000111*/, 1 /*001000*/, 2 /*001001*/, 2 /*001010*/, 3 /*001011*/, 2 /*001100*/, 3 /*001101*/,
|
||||
3 /*001110*/, 4 /*001111*/, 1 /*010000*/, 2 /*010001*/, 2 /*010010*/, 3 /*010011*/, 2 /*010100*/,
|
||||
3 /*010101*/, 3 /*010110*/, 4 /*010111*/, 2 /*011000*/, 3 /*011001*/, 3 /*011010*/, 4 /*011011*/,
|
||||
3 /*011100*/, 4 /*011101*/, 4 /*011110*/, 5 /*011111*/, 1 /*100000*/, 2 /*100001*/, 2 /*100010*/,
|
||||
3 /*100011*/, 2 /*100100*/, 3 /*100101*/, 3 /*100110*/, 4 /*100111*/, 2 /*101000*/, 3 /*101001*/,
|
||||
3 /*101010*/, 4 /*101011*/, 3 /*101100*/, 4 /*101101*/, 4 /*101110*/, 5 /*101111*/, 2 /*110000*/,
|
||||
3 /*110001*/, 3 /*110010*/, 4 /*110011*/, 3 /*110100*/, 4 /*110101*/, 4 /*110110*/, 5 /*110111*/,
|
||||
3 /*111000*/, 4 /*111001*/, 4 /*111010*/, 5 /*111011*/, 4 /*111100*/, 5 /*111101*/, 5 /*111110*/,
|
||||
6 /*111111*/ ];
|
||||
|
||||
var numberOfOnes = function(aNumber)
|
||||
{
|
||||
var count = 0,
|
||||
slot = aNumber;
|
||||
|
||||
while (aNumber)
|
||||
{
|
||||
++count;
|
||||
aNumber &= (aNumber - 1);
|
||||
}
|
||||
|
||||
cachedNumberOfOnes[slot] = count;
|
||||
|
||||
return count;
|
||||
};
|
||||
|
||||
numberOfOnes.displayName = "numberOfOnes";
|
||||
|
||||
function CPThemeAttributeEncode(aCoder, aThemeAttribute)
|
||||
{
|
||||
var values = aThemeAttribute._values,
|
||||
@@ -694,7 +736,7 @@ function CPThemeAttributeEncode(aCoder, aThemeAttribute)
|
||||
{
|
||||
var state = [values allKeys][0];
|
||||
|
||||
if (Number(state) === 0)
|
||||
if (state === String(CPThemeStateNormal))
|
||||
{
|
||||
[aCoder encodeObject:[values objectForKey:state] forKey:key];
|
||||
|
||||
|
||||
@@ -1394,7 +1394,7 @@ CPTokenFieldDeleteButtonType = 1;
|
||||
var r = [super setThemeState:aState];
|
||||
|
||||
// Share hover state with the disclosure and delete buttons.
|
||||
if (aState & CPThemeStateHovered)
|
||||
if (aState.hasThemeState(CPThemeStateHovered))
|
||||
{
|
||||
[_disclosureButton setThemeState:CPThemeStateHovered];
|
||||
[_deleteButton setThemeState:CPThemeStateHovered];
|
||||
@@ -1408,7 +1408,7 @@ CPTokenFieldDeleteButtonType = 1;
|
||||
var r = [super unsetThemeState:aState];
|
||||
|
||||
// Share hover state with the disclosure and delete button.
|
||||
if (aState & CPThemeStateHovered)
|
||||
if (aState.hasThemeState(CPThemeStateHovered))
|
||||
{
|
||||
[_disclosureButton unsetThemeState:CPThemeStateHovered];
|
||||
[_deleteButton unsetThemeState:CPThemeStateHovered];
|
||||
|
||||
+7
-15
@@ -2889,21 +2889,15 @@ setBoundsOrigin:
|
||||
|
||||
- (BOOL)hasThemeState:(CPThemeState)aState
|
||||
{
|
||||
// Because CPThemeStateNormal is defined as 0 we need to check for it explicitly here
|
||||
if (aState === CPThemeStateNormal && _themeState === CPThemeStateNormal)
|
||||
return YES;
|
||||
|
||||
return !!(_themeState & ((typeof aState === "string") ? CPThemeState(aState) : aState));
|
||||
return _themeState.hasThemeState(aState);
|
||||
}
|
||||
|
||||
- (BOOL)setThemeState:(CPThemeState)aState
|
||||
{
|
||||
var newState = (typeof aState === "string") ? CPThemeState(aState) : aState;
|
||||
|
||||
if (_themeState & newState)
|
||||
if (_themeState.hasThemeState(aState))
|
||||
return NO;
|
||||
|
||||
_themeState |= newState;
|
||||
_themeState = CPThemeState(_themeState, aState);
|
||||
|
||||
[self setNeedsLayout];
|
||||
[self setNeedsDisplay:YES];
|
||||
@@ -2913,12 +2907,10 @@ setBoundsOrigin:
|
||||
|
||||
- (BOOL)unsetThemeState:(CPThemeState)aState
|
||||
{
|
||||
var newState = ((typeof aState === "string") ? CPThemeState(aState) : aState);
|
||||
|
||||
if (!(_themeState & newState))
|
||||
if (!_themeState.hasThemeState(aState))
|
||||
return NO;
|
||||
|
||||
_themeState &= ~newState;
|
||||
_themeState = ThemeState.subtractThemeStates(_themeState, aState);
|
||||
|
||||
[self setNeedsLayout];
|
||||
[self setNeedsDisplay:YES];
|
||||
@@ -3361,7 +3353,7 @@ var CPViewAutoresizingMaskKey = @"CPViewAutoresizingMask",
|
||||
|
||||
_theme = [CPTheme defaultTheme];
|
||||
_themeClass = [aCoder decodeObjectForKey:CPViewThemeClassKey];
|
||||
_themeState = CPThemeState([aCoder decodeIntForKey:CPViewThemeStateKey]);
|
||||
_themeState = CPThemeState([aCoder decodeObjectForKey:CPViewThemeStateKey]);
|
||||
_themeAttributes = {};
|
||||
|
||||
var theClass = [self class],
|
||||
@@ -3452,7 +3444,7 @@ var CPViewAutoresizingMaskKey = @"CPViewAutoresizingMask",
|
||||
[aCoder encodeConditionalObject:previousKeyView forKey:CPViewPreviousKeyViewKey];
|
||||
|
||||
[aCoder encodeObject:[self themeClass] forKey:CPViewThemeClassKey];
|
||||
[aCoder encodeInt:CPThemeStateName(_themeState) forKey:CPViewThemeStateKey];
|
||||
[aCoder encodeObject:String(_themeState) forKey:CPViewThemeStateKey];
|
||||
|
||||
for (var attributeName in _themeAttributes)
|
||||
if (_themeAttributes.hasOwnProperty(attributeName))
|
||||
|
||||
@@ -502,29 +502,29 @@ var themedButtonValues = nil,
|
||||
[@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize], CPThemeStateBordered],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateBordered],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 1.0), CPThemeStateBordered],
|
||||
[@"line-break-mode", CPLineBreakByTruncatingTail],
|
||||
[@"bezel-color", bezelColor, CPThemeStateBordered],
|
||||
[@"bezel-color", highlightedBezelColor, CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color", disabledBezelColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", defaultBezelColor, CPThemeStateBordered | CPThemeStateDefault],
|
||||
[@"bezel-color", defaultHighlightedBezelColor, CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault],
|
||||
[@"bezel-color", defaultDisabledBezelColor, CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"bezel-color", highlightedBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
[@"bezel-color", disabledBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color", defaultBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateDefault)],
|
||||
[@"bezel-color", defaultHighlightedBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDefault)],
|
||||
[@"bezel-color", defaultDisabledBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateDefault, CPThemeStateDisabled)],
|
||||
[@"content-inset", CGInsetMake(0.0, 7.0, 0.0, 7.0), CPThemeStateBordered],
|
||||
|
||||
[@"bezel-color", roundedBezelColor, CPThemeStateBordered | CPButtonStateBezelStyleRounded],
|
||||
[@"bezel-color", roundedHighlightedBezelColor, CPThemeStateBordered | CPThemeStateHighlighted | CPButtonStateBezelStyleRounded],
|
||||
[@"bezel-color", roundedDisabledBezelColor, CPThemeStateBordered | CPThemeStateDisabled | CPButtonStateBezelStyleRounded],
|
||||
[@"bezel-color", defaultRoundedBezelColor, CPThemeStateBordered | CPThemeStateDefault | CPButtonStateBezelStyleRounded],
|
||||
[@"bezel-color", defaultRoundedHighlightedBezelColor, CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault | CPButtonStateBezelStyleRounded],
|
||||
[@"bezel-color", defaultRoundedDisabledBezelColor, CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled | CPButtonStateBezelStyleRounded],
|
||||
[@"content-inset", CGInsetMake(0.0, 10.0, 0.0, 10.0), CPThemeStateBordered | CPButtonStateBezelStyleRounded],
|
||||
[@"bezel-color", roundedBezelColor, CPThemeState(CPThemeStateBordered, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color", roundedHighlightedBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color", roundedDisabledBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color", defaultRoundedBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateDefault, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color", defaultRoundedHighlightedBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDefault, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color", defaultRoundedDisabledBezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateDefault, CPThemeStateDisabled, CPButtonStateBezelStyleRounded)],
|
||||
[@"content-inset", CGInsetMake(0.0, 10.0, 0.0, 10.0), CPThemeState(CPThemeStateBordered, CPButtonStateBezelStyleRounded)],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateDisabled],
|
||||
|
||||
[@"text-color", defaultTextColor, CPThemeStateDefault],
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeState(CPThemeStateDefault, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size", CGSizeMake(0.0, 24.0)],
|
||||
[@"max-size", CGSizeMake(-1.0, 24.0)],
|
||||
@@ -588,15 +588,15 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", color, CPThemeStateBordered],
|
||||
[@"bezel-color", disabledColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", disabledColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"content-inset", CGInsetMake(0, 21.0 + 5.0, 0, 5.0), CPThemeStateBordered],
|
||||
[@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize]],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0]],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size", CGSizeMake(32.0, 24.0)],
|
||||
[@"max-size", CGSizeMake(-1.0, 24.0)]
|
||||
@@ -631,16 +631,16 @@ var themedButtonValues = nil,
|
||||
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", color, CPPopUpButtonStatePullsDown | CPThemeStateBordered],
|
||||
[@"bezel-color", disabledColor, CPPopUpButtonStatePullsDown | CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", color, CPThemeState(CPPopUpButtonStatePullsDown, CPThemeStateBordered)],
|
||||
[@"bezel-color", disabledColor, CPThemeState(CPPopUpButtonStatePullsDown, CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"content-inset", CGInsetMake(0, 27.0 + 5.0, 0, 5.0), CPThemeStateBordered],
|
||||
[@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize]],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:79.0 / 255.0 alpha:1.0]],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0]],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size", CGSizeMake(32.0, 24.0)],
|
||||
[@"max-size", CGSizeMake(-1.0, 24.0)]
|
||||
@@ -761,35 +761,35 @@ var themedButtonValues = nil,
|
||||
[@"track-inset", CGInsetMake(2.0, 0.0, 2.0, 0.0), CPThemeStateVertical],
|
||||
[@"track-border-overlay", 12.0, CPThemeStateVertical],
|
||||
[@"knob-slot-color", [CPNull null], CPThemeStateVertical],
|
||||
[@"knob-slot-color", trackColor, CPThemeStateVertical | CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColorLight, CPThemeStateVertical | CPThemeStateSelected | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColorDark, CPThemeStateVertical | CPThemeStateSelected | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColor, CPThemeState(CPThemeStateVertical, CPThemeStateSelected)],
|
||||
[@"knob-slot-color", trackColorLight, CPThemeState(CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColorDark, CPThemeState(CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-color", knobColor, CPThemeStateVertical],
|
||||
[@"knob-color", knobColorLight, CPThemeStateVertical | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorDark, CPThemeStateVertical | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColorLight, CPThemeState(CPThemeStateVertical, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColorDark, CPThemeState(CPThemeStateVertical, CPThemeStateScrollerKnobDark)],
|
||||
[@"increment-line-color", [CPNull null], CPThemeStateVertical],
|
||||
[@"decrement-line-color", [CPNull null], CPThemeStateVertical],
|
||||
[@"decrement-line-size", CGSizeMakeZero(), CPThemeStateVertical],
|
||||
[@"increment-line-size", CGSizeMakeZero(), CPThemeStateVertical],
|
||||
|
||||
// Legacy
|
||||
[@"scroller-width", 14.0, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"track-border-overlay", 0.0, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"increment-line-color", incrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-color", decrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"increment-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy]
|
||||
[@"scroller-width", 14.0, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"track-border-overlay", 0.0, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateSelected)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateSelected, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateSelected, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"increment-line-color", incrementColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"decrement-line-color", decrementColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"decrement-line-size", CGSizeMake(14.0, 11.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"increment-line-size", CGSizeMake(14.0, 11.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedVerticalScrollerValues forView:scroller];
|
||||
@@ -884,8 +884,8 @@ var themedButtonValues = nil,
|
||||
[@"track-border-overlay", 12.0],
|
||||
[@"knob-slot-color", [CPNull null]],
|
||||
[@"knob-slot-color", trackColor, CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColorLight, CPThemeStateSelected | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColorDark, CPThemeStateSelected | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColorLight, CPThemeState(CPThemeStateSelected, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColorDark, CPThemeState(CPThemeStateSelected, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-color", knobColor],
|
||||
[@"knob-color", knobColorLight, CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorDark, CPThemeStateScrollerKnobDark],
|
||||
@@ -898,12 +898,12 @@ var themedButtonValues = nil,
|
||||
[@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateScrollViewLegacy],
|
||||
[@"track-border-overlay", 0.0, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateSelected)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"increment-line-color", incrementColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-color", decrementColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-size", CGSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy],
|
||||
@@ -965,8 +965,8 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"vertical-alignment", CPTopVerticalTextAlignment, CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelColor, CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateBezeled],
|
||||
|
||||
@@ -978,30 +978,30 @@ var themedButtonValues = nil,
|
||||
[@"bezel-inset", CGInsetMakeZero(), CPThemeStateBezeled],
|
||||
[@"content-inset", CGInsetMake(8.0, 7.0, 7.0, 8.0), CPThemeStateBezeled],
|
||||
|
||||
[@"text-color", textDisabledColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-color", textDisabledColor, CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
[@"text-color", placeholderColor, CPTextFieldStatePlaceholder],
|
||||
[@"text-color", placeholderColor, CPTextFieldStatePlaceholder | CPThemeStateDisabled],
|
||||
[@"text-color", placeholderColor, CPThemeState(CPTextFieldStatePlaceholder, CPThemeStateDisabled)],
|
||||
|
||||
[@"line-break-mode", CPLineBreakByTruncatingTail, CPThemeStateTableDataView],
|
||||
[@"vertical-alignment", CPCenterVerticalTextAlignment, CPThemeStateTableDataView],
|
||||
[@"content-inset", CGInsetMake(3.0, 3.0, 3.0, 5.0), CPThemeStateTableDataView],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:51.0 / 255.0 alpha:1.0], CPThemeStateTableDataView],
|
||||
[@"text-color", [CPColor whiteColor], CPThemeStateTableDataView | CPThemeStateSelectedDataView],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateTableDataView | CPThemeStateSelectedDataView],
|
||||
[@"text-color", [CPColor blackColor], CPThemeStateTableDataView | CPThemeStateEditable],
|
||||
[@"text-color", [CPColor blackColor], CPThemeStateTableDataView | CPThemeStateSelectedDataView | CPThemeStateEditing],
|
||||
[@"text-color", [CPColor blackColor], CPThemeStateTableDataView | CPThemeStateBezeled],
|
||||
[@"content-inset", CGInsetMake(8.0, 8.0, 7.0, 5.0), CPThemeStateTableDataView | CPThemeStateEditing],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateTableDataView | CPThemeStateEditing],
|
||||
[@"bezel-inset", CGInsetMake(-1.0, -1.0, -1.0, -1.0), CPThemeStateTableDataView | CPThemeStateEditing],
|
||||
[@"text-color", [CPColor whiteColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)],
|
||||
[@"text-color", [CPColor blackColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateEditable)],
|
||||
[@"text-color", [CPColor blackColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView, CPThemeStateEditing)],
|
||||
[@"text-color", [CPColor blackColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateBezeled)],
|
||||
[@"content-inset", CGInsetMake(8.0, 8.0, 7.0, 5.0), CPThemeState(CPThemeStateTableDataView, CPThemeStateEditing)],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeState(CPThemeStateTableDataView, CPThemeStateEditing)],
|
||||
[@"bezel-inset", CGInsetMake(-1.0, -1.0, -1.0, -1.0), CPThemeState(CPThemeStateTableDataView, CPThemeStateEditing)],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:125.0 / 255.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedDataView],
|
||||
[@"text-shadow-color", [CPColor whiteColor], CPThemeStateTableDataView | CPThemeStateGroupRow],
|
||||
[@"text-shadow-offset", CGSizeMake(0,1), CPThemeStateTableDataView | CPThemeStateGroupRow],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.6], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedDataView],
|
||||
[@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize], CPThemeStateTableDataView | CPThemeStateGroupRow]
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:125.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:1.0], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow, CPThemeStateSelectedDataView)],
|
||||
[@"text-shadow-color", [CPColor whiteColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)],
|
||||
[@"text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.6], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow, CPThemeStateSelectedDataView)],
|
||||
[@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedTextFieldValues forView:textfield];
|
||||
@@ -1045,21 +1045,21 @@ var themedButtonValues = nil,
|
||||
// Global for reuse by subclasses
|
||||
themedRoundedTextFieldValues =
|
||||
[
|
||||
[@"bezel-color", bezelColor, CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelFocusedColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelDisabledColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelColor, CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize]],
|
||||
|
||||
// The new bezel is one pixel shorter, so we add one extra empty pixel at the bottom
|
||||
// for size compatibility with an earlier version.
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 1.0, 0.0), CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
[@"content-inset", CGInsetMake(8.0, 13.0, 7.0, 14.0), CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 1.0, 0.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
[@"content-inset", CGInsetMake(8.0, 13.0, 7.0, 14.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
|
||||
[@"text-color", textDisabledColor, CPTextFieldStateRounded | CPThemeStateDisabled],
|
||||
[@"text-color", placeholderColor, CPTextFieldStateRounded | CPTextFieldStatePlaceholder],
|
||||
[@"text-color", textDisabledColor, CPThemeState(CPTextFieldStateRounded, CPThemeStateDisabled)],
|
||||
[@"text-color", placeholderColor, CPThemeState(CPTextFieldStateRounded, CPTextFieldStatePlaceholder)],
|
||||
|
||||
[@"min-size", CGSizeMake(0.0, 30.0), CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
[@"max-size", CGSizeMake(-1.0, 30.0), CPTextFieldStateRounded | CPThemeStateBezeled]
|
||||
[@"min-size", CGSizeMake(0.0, 30.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
[@"max-size", CGSizeMake(-1.0, 30.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedRoundedTextFieldValues forView:textfield];
|
||||
@@ -1135,7 +1135,7 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", bezelColor, CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"font", [CPFont boldSystemFontOfSize:13.0]],
|
||||
[@"text-color", [CPColor colorWithWhite:0.2 alpha:0.8]],
|
||||
@@ -1147,8 +1147,8 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeStateNormal],
|
||||
[@"datepicker-textfield-bezel-color", bezelColorDatePickerTextField, CPThemeStateSelected],
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeStateNormal | CPThemeStateDisabled],
|
||||
[@"datepicker-textfield-bezel-color", bezelColorDatePickerTextField, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeState(CPThemeStateNormal, CPThemeStateDisabled)],
|
||||
[@"datepicker-textfield-bezel-color", bezelColorDatePickerTextField, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size-datepicker-textfield", CGSizeMake(6.0, 18.0)],
|
||||
|
||||
@@ -1209,12 +1209,12 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:217.0 / 255.0 green:217.0 / 255.0 blue:211.0 / 255.0 alpha:1.0], CPThemeStateNormal],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:100.0 / 255.0 green:154.0 / 255.0 blue:184.0 / 255.0 alpha:1.0], CPThemeStateSelected],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:217.0 / 255.0 green:217.0 / 255.0 blue:211.0 / 255.0 alpha:0.5], CPThemeStateNormal | CPThemeStateDisabled],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:100.0 / 255.0 green:154.0 / 255.0 blue:184.0 / 255.0 alpha:0.5], CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:217.0 / 255.0 green:217.0 / 255.0 blue:211.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateNormal, CPThemeStateDisabled)],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:100.0 / 255.0 green:154.0 / 255.0 blue:184.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
|
||||
[@"bezel-color-calendar", [CPColor whiteColor]],
|
||||
[@"bezel-color-calendar", [CPColor colorWithCalibratedRed:159.0 / 255.0 green:201.0 / 255.0 blue:225.0 / 255.0 alpha:1.0], CPThemeStateSelected],
|
||||
[@"bezel-color-calendar", [CPColor colorWithCalibratedRed:159.0 / 255.0 green:201.0 / 255.0 blue:225.0 / 255.0 alpha:0.5], CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"bezel-color-calendar", [CPColor colorWithCalibratedRed:159.0 / 255.0 green:201.0 / 255.0 blue:225.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"bezel-color-clock", clockImageColor],
|
||||
[@"bezel-color-clock", clockImageColorDisabled, CPThemeStateDisabled],
|
||||
|
||||
@@ -1258,35 +1258,35 @@ var themedButtonValues = nil,
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateHighlighted],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateHighlighted],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:100.0 / 255.0 green:154.0 / 255.0 blue:184.0 / 255.0 alpha:0.5], CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:100.0 / 255.0 green:154.0 / 255.0 blue:184.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:13.0 / 255.0 green:51.0 / 255.0 blue:70.0 / 255.0 alpha:1.0], CPThemeStateSelected],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateSelected],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateSelected],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateSelected],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:13.0 / 255.0 green:51.0 / 255.0 blue:70.0 / 255.0 alpha:1.0], CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:13.0 / 255.0 green:51.0 / 255.0 blue:70.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:179.0 / 255.0 green:179.0 / 255.0 blue:179.0 / 255.0 alpha:1.0], CPThemeStateDisabled],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateDisabled],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateDisabled],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateDisabled],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:13.0 / 255.0 green:51.0 / 255.0 blue:70.0 / 255.0 alpha:0.5], CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:13.0 / 255.0 green:51.0 / 255.0 blue:70.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:13.0 / 255.0 green:51.0 / 255.0 blue:70.0 / 255.0 alpha:0.5], CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:13.0 / 255.0 green:51.0 / 255.0 blue:70.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
|
||||
[@"arrow-image-left", arrowImageLeft],
|
||||
[@"arrow-image-right", arrowImageRight],
|
||||
@@ -1347,7 +1347,7 @@ var themedButtonValues = nil,
|
||||
[@"content-inset", CGInsetMake(5.0, 5.0, 4.0, 5.0), CPThemeStateBezeled],
|
||||
|
||||
// Bezeled token field with no tokens
|
||||
[@"content-inset", CGInsetMake(8.0, 8.0, 7.0, 8.0), CPThemeStateBezeled | CPTextFieldStatePlaceholder]
|
||||
[@"content-inset", CGInsetMake(8.0, 8.0, 7.0, 8.0), CPThemeState(CPThemeStateBezeled, CPTextFieldStatePlaceholder)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:overrides forView:tokenfield inherit:themedTextFieldValues];
|
||||
@@ -1389,8 +1389,8 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", bezelColor, CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeStateBezeled | CPThemeStateHighlighted],
|
||||
[@"bezel-color", bezelColorDisabled, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeState(CPThemeStateBezeled, CPThemeStateHighlighted)],
|
||||
[@"bezel-color", bezelColorDisabled, CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"text-color", textColor],
|
||||
[@"text-color", textHighlightedColor, CPThemeStateHighlighted],
|
||||
@@ -1422,8 +1422,8 @@ var themedButtonValues = nil,
|
||||
[@"content-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal],
|
||||
|
||||
[@"bezel-color", nil, CPThemeStateBordered],
|
||||
[@"bezel-color", arrowImage, CPThemeStateBordered | CPThemeStateHovered],
|
||||
[@"bezel-color", arrowImageHiglighted, CPThemeStateBordered | CPThemeStateHovered | CPThemeStateHighlighted],
|
||||
[@"bezel-color", arrowImage, CPThemeState(CPThemeStateBordered, CPThemeStateHovered)],
|
||||
[@"bezel-color", arrowImageHiglighted, CPThemeState(CPThemeStateBordered, CPThemeStateHovered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"min-size", CGSizeMake(7.0, 6.0)],
|
||||
[@"max-size", CGSizeMake(7.0, 6.0)],
|
||||
@@ -1445,15 +1445,15 @@ var themedButtonValues = nil,
|
||||
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", bezelColor, CPThemeStateBordered | CPThemeStateHovered],
|
||||
[@"bezel-color", [bezelColor colorWithAlphaComponent:0], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color", bezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateHovered)],
|
||||
[@"bezel-color", [bezelColor colorWithAlphaComponent:0], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"min-size", CGSizeMake(8.0, 8.0)],
|
||||
[@"max-size", CGSizeMake(8.0, 8.0)],
|
||||
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBordered],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"offset", CGPointMake(17, 6), CPThemeStateBordered]
|
||||
];
|
||||
@@ -1509,9 +1509,9 @@ var themedButtonValues = nil,
|
||||
[@"content-border-inset", CGInsetMake(5.0, 5.0, 4.0, 5.0), CPThemeStateBordered],
|
||||
[@"content-border-color", contentBorderColor, CPThemeStateBordered],
|
||||
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedColorWellValues forView:colorWell];
|
||||
@@ -1573,24 +1573,24 @@ var themedButtonValues = nil,
|
||||
|
||||
overrides =
|
||||
[
|
||||
[@"bezel-color", bezelColor, CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeStateBezeled | CPComboBoxStateButtonBordered | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeStateBezeled | CPComboBoxStateButtonBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelColor, CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered)],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateEditing)],
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"bezel-color", bezelNoBorderColor, CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelNoBorderDisabledColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-color", bezelNoBorderDisabledColor, CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"border-inset", CGInsetMake(3.0, 3.0, 3.0, 3.0), CPThemeStateBezeled],
|
||||
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 1.0, 1.0), CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 1.0, 1.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
|
||||
// The right border inset has to make room for the focus ring and popup button
|
||||
[@"content-inset", CGInsetMake(8.0, 27.0, 7.0, 8.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"content-inset", CGInsetMake(8.0, 27.0, 7.0, 8.0), CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered)],
|
||||
[@"content-inset", CGInsetMake(8.0, 24.0, 7.0, 8.0), CPThemeStateBezeled],
|
||||
[@"content-inset", CGInsetMake(8.0, 24.0, 7.0, 8.0), CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"content-inset", CGInsetMake(8.0, 24.0, 7.0, 8.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered)],
|
||||
[@"popup-button-size", CGSizeMake(17.0, 23.0), CPThemeStateBezeled],
|
||||
|
||||
// Because combo box uses a three-part bezel, the height is fixed
|
||||
@@ -1621,10 +1621,10 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"image", imageNormal, CPThemeStateNormal],
|
||||
[@"image", imageSelected, CPThemeStateSelected],
|
||||
[@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"image", imageSelectedHighlighted, CPThemeState(CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"image-offset", CPRadioImageOffset],
|
||||
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateNormal],
|
||||
@@ -1657,10 +1657,10 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"image", imageNormal, CPThemeStateNormal],
|
||||
[@"image", imageSelected, CPThemeStateSelected],
|
||||
[@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"image", imageSelectedHighlighted, CPThemeState(CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"image-offset", CPCheckBoxImageOffset],
|
||||
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateNormal],
|
||||
@@ -1691,8 +1691,8 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"image", mixedImage, CPButtonStateMixed],
|
||||
[@"image", mixedHighlightedImage, CPButtonStateMixed | CPThemeStateHighlighted],
|
||||
[@"image", mixedDisabledImage, CPButtonStateMixed | CPThemeStateDisabled],
|
||||
[@"image", mixedHighlightedImage, CPThemeState(CPButtonStateMixed, CPThemeStateHighlighted)],
|
||||
[@"image", mixedDisabledImage, CPThemeState(CPButtonStateMixed, CPThemeStateDisabled)],
|
||||
[@"image-offset", CPCheckBoxImageOffset, CPButtonStateMixed],
|
||||
[@"max-size", CGSizeMake(-1.0, -1.0)]
|
||||
];
|
||||
@@ -1755,29 +1755,29 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"center-segment-bezel-color", centerBezelColor, CPThemeStateNormal],
|
||||
[@"center-segment-bezel-color", inactiveCenterBezelColor, CPThemeStateDisabled],
|
||||
[@"center-segment-bezel-color", inactiveHighlightedCenterBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"center-segment-bezel-color", inactiveHighlightedCenterBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"center-segment-bezel-color", centerHighlightedBezelColor, CPThemeStateSelected],
|
||||
[@"center-segment-bezel-color", pushedCenterBezelColor, CPThemeStateHighlighted],
|
||||
[@"center-segment-bezel-color", pushedHighlightedCenterBezelColor, CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"center-segment-bezel-color", pushedHighlightedCenterBezelColor, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"divider-bezel-color", dividerBezelColor, CPThemeStateNormal],
|
||||
[@"divider-bezel-color", inactiveDividerBezelColor, CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"divider-bezel-color", dividerHighlightedBezelColor, CPThemeStateSelected],
|
||||
|
||||
[@"left-segment-bezel-color", leftBezelColor, CPThemeStateNormal],
|
||||
[@"left-segment-bezel-color", inactiveLeftBezelColor, CPThemeStateDisabled],
|
||||
[@"left-segment-bezel-color", inactiveHighlightedLeftBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"left-segment-bezel-color", inactiveHighlightedLeftBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"left-segment-bezel-color", leftHighlightedBezelColor, CPThemeStateSelected],
|
||||
[@"left-segment-bezel-color", pushedLeftBezelColor, CPThemeStateHighlighted],
|
||||
[@"left-segment-bezel-color", pushedHighlightedLeftBezelColor, CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"left-segment-bezel-color", pushedHighlightedLeftBezelColor, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"right-segment-bezel-color", rightBezelColor, CPThemeStateNormal],
|
||||
[@"right-segment-bezel-color", inactiveRightBezelColor, CPThemeStateDisabled],
|
||||
[@"right-segment-bezel-color", inactiveHighlightedRightBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"right-segment-bezel-color", inactiveHighlightedRightBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"right-segment-bezel-color", rightHighlightedBezelColor, CPThemeStateSelected],
|
||||
[@"right-segment-bezel-color", pushedRightBezelColor, CPThemeStateHighlighted],
|
||||
[@"right-segment-bezel-color", pushedHighlightedRightBezelColor, CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"right-segment-bezel-color", pushedHighlightedRightBezelColor, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"content-inset", CGInsetMake(0.0, 4.0, 0.0, 4.0), CPThemeStateNormal],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal],
|
||||
@@ -1878,7 +1878,7 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"track-width", 5.0],
|
||||
[@"track-color", trackColor, CPThemeStateVertical],
|
||||
[@"track-color", trackDisabledColor, CPThemeStateVertical | CPThemeStateDisabled],
|
||||
[@"track-color", trackDisabledColor, CPThemeState(CPThemeStateVertical, CPThemeStateDisabled)],
|
||||
|
||||
[@"knob-size", CGSizeMake(23.0, 24.0)],
|
||||
[@"knob-color", knobColor],
|
||||
@@ -1913,12 +1913,12 @@ var themedButtonValues = nil,
|
||||
themedCircularSliderValues =
|
||||
[
|
||||
[@"track-color", trackColor, CPThemeStateCircular],
|
||||
[@"track-color", trackDisabledColor, CPThemeStateCircular | CPThemeStateDisabled],
|
||||
[@"track-color", trackDisabledColor, CPThemeState(CPThemeStateCircular, CPThemeStateDisabled)],
|
||||
|
||||
[@"knob-size", CGSizeMake(5.0, 5.0), CPThemeStateCircular],
|
||||
[@"knob-color", knobColor, CPThemeStateCircular],
|
||||
[@"knob-color", knobHighlightedColor, CPThemeStateCircular | CPThemeStateHighlighted],
|
||||
[@"knob-color", knobDisabledColor, CPThemeStateCircular | CPThemeStateDisabled]
|
||||
[@"knob-color", knobHighlightedColor, CPThemeState(CPThemeStateCircular, CPThemeStateHighlighted)],
|
||||
[@"knob-color", knobDisabledColor, CPThemeState(CPThemeStateCircular, CPThemeStateDisabled)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedCircularSliderValues forView:slider];
|
||||
@@ -2029,7 +2029,7 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"background-color", pressed, CPThemeStateHighlighted],
|
||||
[@"background-color", highlighted, CPThemeStateSelected],
|
||||
[@"background-color", highlightedPressed, CPThemeStateHighlighted | CPThemeStateSelected]
|
||||
[@"background-color", highlightedPressed, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedColumnHeaderValues forView:header];
|
||||
@@ -2260,10 +2260,10 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"bezel-color-up-button", bezelUp, CPThemeStateBordered],
|
||||
[@"bezel-color-down-button", bezelDown, CPThemeStateBordered],
|
||||
[@"bezel-color-up-button", bezelUpDisabled, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color-down-button", bezelDownDisabled, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color-up-button", bezelUpHighlighted, CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color-down-button", bezelDownHighlighted, CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color-up-button", bezelUpDisabled, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color-down-button", bezelDownDisabled, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color-up-button", bezelUpHighlighted, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
[@"bezel-color-down-button", bezelDownHighlighted, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
[@"min-size", CGSizeMake(25.0, 25.0)],
|
||||
[@"up-button-size", CGSizeMake(19.0, 13.0)],
|
||||
[@"down-button-size", CGSizeMake(19.0, 12.0)]
|
||||
@@ -2429,6 +2429,7 @@ var themedButtonValues = nil,
|
||||
return box;
|
||||
}
|
||||
|
||||
|
||||
+ (CPLevelIndicator)themedLevelIndicator
|
||||
{
|
||||
var levelIndicator = [[CPLevelIndicator alloc] initWithFrame:CGRectMake(0,0,100,100)],
|
||||
@@ -2803,7 +2804,6 @@ var themedButtonValues = nil,
|
||||
+ (_CPToolbarView)themedToolbarView
|
||||
{
|
||||
var toolbarView = [[_CPToolbarView alloc] initWithFrame:CGRectMakeZero()],
|
||||
|
||||
toolbarExtraItemsImage = PatternImage(@"toolbar-view-extra-items-image.png", 10.0, 15.0),
|
||||
toolbarExtraItemsAlternateImage = PatternImage(@"toolbar-view-extra-items-alternate-image.png", 10.0, 15.0),
|
||||
toolbarSeparatorColor = PatternColor([
|
||||
@@ -2883,8 +2883,6 @@ var themedButtonValues = nil,
|
||||
+ (_CPMenuView)themedMenuView
|
||||
{
|
||||
var menuView = [[_CPMenuView alloc] initWithFrame:CGRectMake(0.0, 0.0, 200.0, 100.0)],
|
||||
|
||||
|
||||
menuWindowMoreAboveImage = PatternImage(@"menu-window-more-above.png", 38.0, 18.0),
|
||||
menuWindowMoreBelowImage = PatternImage(@"menu-window-more-below.png", 38.0, 18.0),
|
||||
generalIconNew = PatternImage(@"menu-general-icon-new.png", 16.0, 16.0),
|
||||
@@ -3014,7 +3012,6 @@ var themedButtonValues = nil,
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation AristoHUDThemeDescriptor : BKThemeDescriptor
|
||||
{
|
||||
}
|
||||
@@ -3094,7 +3091,7 @@ var themedButtonValues = nil,
|
||||
// var scroller = [AristoThemeDescriptor makeVerticalScroller],
|
||||
// overrides =
|
||||
// [
|
||||
// [@"knob-color", nil, CPThemeStateVertical | CPThemeStateDisabled]
|
||||
// [@"knob-color", nil, CPThemeState(CPThemeStateVertical, CPThemeStateDisabled)]
|
||||
// ];
|
||||
//
|
||||
// [self registerThemeValues:[self defaultThemeOverridesAddedTo:overrides] forView:scroller inherit:themedVerticalScrollerValues];
|
||||
@@ -3178,5 +3175,4 @@ var themedButtonValues = nil,
|
||||
|
||||
return progressBar;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -139,14 +139,14 @@ var themedButtonValues = nil,
|
||||
[@"text-shadow-color", regularTextShadowColor, CPThemeStateBordered],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeStateDisabled],
|
||||
|
||||
[@"text-color", defaultTextColor, CPThemeStateBordered | CPThemeStateDefault],
|
||||
[@"text-color", defaultTextColor, CPThemeState(CPThemeStateBordered, CPThemeStateDefault)],
|
||||
[@"text-color", defaultTextColor, CPThemeStateDefault],
|
||||
[@"text-shadow-color", defaultTextShadowColor, CPThemeStateBordered | CPThemeStateDefault],
|
||||
[@"text-shadow-color", defaultTextShadowColor, CPThemeState(CPThemeStateBordered, CPThemeStateDefault)],
|
||||
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeState(CPThemeStateDefault, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, CPThemeState(CPThemeStateDefault, CPThemeStateDisabled)],
|
||||
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 0.0), CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 0.0), CPThemeState(CPThemeStateDefault, CPThemeStateDisabled)],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 1.0), CPThemeStateBordered],
|
||||
|
||||
[@"line-break-mode", CPLineBreakByTruncatingTail],
|
||||
@@ -155,41 +155,41 @@ var themedButtonValues = nil,
|
||||
CPThemeStateBordered],
|
||||
[@"bezel-color",
|
||||
bezelColor["@"]["highlighted"],
|
||||
CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
[@"bezel-color",
|
||||
bezelColor["@"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDisabled],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color",
|
||||
bezelColor["default"]["@"],
|
||||
CPThemeStateBordered | CPThemeStateDefault],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateDefault)],
|
||||
[@"bezel-color",
|
||||
bezelColor["default"]["highlighted"],
|
||||
CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDefault)],
|
||||
[@"bezel-color",
|
||||
bezelColor["default"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateDefault, CPThemeStateDisabled)],
|
||||
[@"content-inset", CGInsetMake(0.0, 7.0, 0.0, 7.0), CPThemeStateBordered],
|
||||
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["@"]["@"],
|
||||
CPThemeStateBordered | CPButtonStateBezelStyleRounded],
|
||||
CPThemeState(CPThemeStateBordered, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["@"]["highlighted"],
|
||||
CPThemeStateBordered | CPThemeStateHighlighted | CPButtonStateBezelStyleRounded],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["@"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDisabled | CPButtonStateBezelStyleRounded],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateDisabled, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["default"]["@"],
|
||||
CPThemeStateBordered | CPThemeStateDefault | CPButtonStateBezelStyleRounded],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateDefault, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["default"]["highlighted"],
|
||||
CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault | CPButtonStateBezelStyleRounded],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDefault, CPButtonStateBezelStyleRounded)],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["default"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled | CPButtonStateBezelStyleRounded],
|
||||
CPThemeState(CPThemeStateBordered, CPThemeStateDefault, CPThemeStateDisabled, CPButtonStateBezelStyleRounded)],
|
||||
|
||||
[@"content-inset", CGInsetMake(0.0, 10.0, 0.0, 10.0), CPThemeStateBordered | CPButtonStateBezelStyleRounded],
|
||||
[@"content-inset", CGInsetMake(0.0, 10.0, 0.0, 10.0), CPThemeState(CPThemeStateBordered, CPButtonStateBezelStyleRounded)],
|
||||
[@"min-size", CGSizeMake(0.0, CPButtonDefaultHeight)],
|
||||
[@"max-size", CGSizeMake(-1.0, CPButtonDefaultHeight)],
|
||||
|
||||
@@ -235,7 +235,7 @@ var themedButtonValues = nil,
|
||||
var button = [self button];
|
||||
|
||||
[button setTitle:@"OK"];
|
||||
[button setThemeState:CPButtonStateBezelStyleRounded | CPThemeStateDefault];
|
||||
[button setThemeState:CPThemeState(CPButtonStateBezelStyleRounded, CPThemeStateDefault)];
|
||||
|
||||
return button;
|
||||
}
|
||||
@@ -256,15 +256,15 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", color["@"], CPThemeStateBordered],
|
||||
[@"bezel-color", color["disabled"], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", color["disabled"], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"content-inset", CGInsetMake(0, 21.0 + 5.0, 0, 5.0), CPThemeStateBordered],
|
||||
[@"font", [CPFont boldSystemFontOfSize:12.0]],
|
||||
[@"text-color", regularTextColor],
|
||||
[@"text-shadow-color", regularTextShadowColor],
|
||||
|
||||
[@"text-color", regularDisabledTextColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size", CGSizeMake(32.0, 25.0)],
|
||||
[@"max-size", CGSizeMake(-1.0, 25.0)]
|
||||
@@ -293,16 +293,16 @@ var themedButtonValues = nil,
|
||||
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", color["@"], CPPopUpButtonStatePullsDown | CPThemeStateBordered],
|
||||
[@"bezel-color", color["disabled"], CPPopUpButtonStatePullsDown | CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", color["@"], CPThemeState(CPPopUpButtonStatePullsDown, CPThemeStateBordered)],
|
||||
[@"bezel-color", color["disabled"], CPThemeState(CPPopUpButtonStatePullsDown, CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"content-inset", CGInsetMake(0, 27.0 + 5.0, 0, 5.0), CPThemeStateBordered],
|
||||
[@"font", [CPFont boldSystemFontOfSize:12.0]],
|
||||
[@"text-color", regularTextColor],
|
||||
[@"text-shadow-color", regularTextShadowColor],
|
||||
|
||||
[@"text-color", regularDisabledTextColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size", CGSizeMake(32.0, 25.0)],
|
||||
[@"max-size", CGSizeMake(-1.0, 25.0)]
|
||||
@@ -403,35 +403,35 @@ var themedButtonValues = nil,
|
||||
[@"track-inset", CGInsetMake(2.0, 0.0, 2.0, 0.0), CPThemeStateVertical],
|
||||
[@"track-border-overlay", 12.0, CPThemeStateVertical],
|
||||
[@"knob-slot-color", [CPNull null], CPThemeStateVertical],
|
||||
[@"knob-slot-color", trackColor["@"], CPThemeStateVertical | CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColor["light"], CPThemeStateVertical | CPThemeStateSelected | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColor["dark"], CPThemeStateVertical | CPThemeStateSelected | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColor["@"], CPThemeState(CPThemeStateVertical, CPThemeStateSelected)],
|
||||
[@"knob-slot-color", trackColor["light"], CPThemeState(CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColor["dark"], CPThemeState(CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-color", knobColor["@"], CPThemeStateVertical],
|
||||
[@"knob-color", knobColor["light"], CPThemeStateVertical | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColor["dark"], CPThemeStateVertical | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColor["light"], CPThemeState(CPThemeStateVertical, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColor["dark"], CPThemeState(CPThemeStateVertical, CPThemeStateScrollerKnobDark)],
|
||||
[@"increment-line-color", [CPNull null], CPThemeStateVertical],
|
||||
[@"decrement-line-color", [CPNull null], CPThemeStateVertical],
|
||||
[@"decrement-line-size", CGSizeMakeZero(), CPThemeStateVertical],
|
||||
[@"increment-line-size", CGSizeMakeZero(), CPThemeStateVertical],
|
||||
|
||||
// Legacy
|
||||
[@"scroller-width", 14.0, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"track-border-overlay", 0.0, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateSelected | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"increment-line-color", incrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-color", decrementColorLegacy, CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy],
|
||||
[@"increment-line-size", CGSizeMake(14.0, 11.0), CPThemeStateVertical | CPThemeStateScrollViewLegacy]
|
||||
[@"scroller-width", 14.0, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"track-border-overlay", 0.0, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateSelected)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateSelected, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateSelected, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"increment-line-color", incrementColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"decrement-line-color", decrementColorLegacy, CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"decrement-line-size", CGSizeMake(14.0, 11.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)],
|
||||
[@"increment-line-size", CGSizeMake(14.0, 11.0), CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedVerticalScrollerValues forView:scroller];
|
||||
@@ -484,8 +484,8 @@ var themedButtonValues = nil,
|
||||
[@"track-border-overlay", 12.0],
|
||||
[@"knob-slot-color", [CPNull null]],
|
||||
[@"knob-slot-color", trackColor["@"], CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColor["light"], CPThemeStateSelected | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColor["dark"], CPThemeStateSelected | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColor["light"], CPThemeState(CPThemeStateSelected, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColor["dark"], CPThemeState(CPThemeStateSelected, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-color", knobColor["@"]],
|
||||
[@"knob-color", knobColor["light"], CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColor["dark"], CPThemeStateScrollerKnobDark],
|
||||
@@ -498,12 +498,12 @@ var themedButtonValues = nil,
|
||||
[@"track-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateScrollViewLegacy],
|
||||
[@"track-border-overlay", 0.0, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateSelected],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateSelected)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-slot-color", trackColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight)],
|
||||
[@"knob-color", knobColorLegacy, CPThemeState(CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark)],
|
||||
[@"increment-line-color", incrementColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-color", decrementColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"decrement-line-size", CGSizeMake(11.0, 14.0), CPThemeStateScrollViewLegacy],
|
||||
@@ -541,16 +541,16 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"vertical-alignment", CPTopVerticalTextAlignment, CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelColor["@"], CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateBezeled],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"content-inset", CGInsetMake(8.0, 7.0, 5.0, 10.0), CPThemeStateBezeled],
|
||||
[@"content-inset", CGInsetMake(8.0, 7.0, 5.0, 10.0), CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"content-inset", CGInsetMake(8.0, 7.0, 5.0, 10.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPThemeStateBezeled],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
|
||||
[@"text-color", placeholderColor, CPTextFieldStatePlaceholder],
|
||||
|
||||
@@ -559,20 +559,20 @@ var themedButtonValues = nil,
|
||||
[@"content-inset", CGInsetMake(0.0, 0.0, 0.0, 5.0), CPThemeStateTableDataView],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:51.0 / 255.0 alpha:1.0], CPThemeStateTableDataView],
|
||||
[@"text-color", [CPColor whiteColor], CPThemeStateTableDataView | CPThemeStateSelectedDataView],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateTableDataView | CPThemeStateSelectedDataView],
|
||||
[@"text-color", [CPColor blackColor], CPThemeStateTableDataView | CPThemeStateEditing],
|
||||
[@"text-color", [CPColor blackColor], CPThemeStateTableDataView | CPThemeStateSelectedDataView | CPThemeStateEditable],
|
||||
[@"content-inset", CGInsetMake(7.0, 7.0, 5.0, 10.0), CPThemeStateTableDataView | CPThemeStateEditable],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateTableDataView | CPThemeStateEditing],
|
||||
[@"bezel-inset", CGInsetMake(-2.0, -2.0, -2.0, -2.0), CPThemeStateTableDataView | CPThemeStateEditing],
|
||||
[@"text-color", [CPColor whiteColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)],
|
||||
[@"text-color", [CPColor blackColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateEditing)],
|
||||
[@"text-color", [CPColor blackColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView, CPThemeStateEditable)],
|
||||
[@"content-inset", CGInsetMake(7.0, 7.0, 5.0, 10.0), CPThemeState(CPThemeStateTableDataView, CPThemeStateEditable)],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeState(CPThemeStateTableDataView, CPThemeStateEditing)],
|
||||
[@"bezel-inset", CGInsetMake(-2.0, -2.0, -2.0, -2.0), CPThemeState(CPThemeStateTableDataView, CPThemeStateEditing)],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:125.0 / 255.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:1.0], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedDataView],
|
||||
[@"text-shadow-color", [CPColor whiteColor], CPThemeStateTableDataView | CPThemeStateGroupRow],
|
||||
[@"text-shadow-offset", CGSizeMake(0, 1), CPThemeStateTableDataView | CPThemeStateGroupRow],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.6], CPThemeStateTableDataView | CPThemeStateGroupRow | CPThemeStateSelectedDataView],
|
||||
[@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize], CPThemeStateTableDataView | CPThemeStateGroupRow]
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:125.0 / 255.0 alpha:1.0], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)],
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:1.0 alpha:1.0], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow, CPThemeStateSelectedDataView)],
|
||||
[@"text-shadow-color", [CPColor whiteColor], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)],
|
||||
[@"text-shadow-offset", CGSizeMake(0, 1), CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.6], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow, CPThemeStateSelectedDataView)],
|
||||
[@"font", [CPFont boldSystemFontOfSize:CPFontCurrentSystemSize], CPThemeState(CPThemeStateTableDataView, CPThemeStateGroupRow)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedTextFieldValues forView:textfield];
|
||||
@@ -610,25 +610,25 @@ var themedButtonValues = nil,
|
||||
themedRoundedTextFieldValues =
|
||||
[
|
||||
[@"bezel-color",
|
||||
bezelColor["@"], CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
bezelColor["@"], CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
[@"bezel-color",
|
||||
bezelFocusedColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing],
|
||||
bezelFocusedColor, CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-color",
|
||||
bezelColor["disabled"], CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
bezelColor["disabled"], CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
[@"font", [CPFont systemFontOfSize:12.0]],
|
||||
|
||||
[@"content-inset", CGInsetMake(8.0, 14.0, 6.0, 14.0), CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
[@"content-inset", CGInsetMake(8.0, 14.0, 6.0, 14.0), CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"content-inset", CGInsetMake(8.0, 14.0, 6.0, 14.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
[@"content-inset", CGInsetMake(8.0, 14.0, 6.0, 14.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
|
||||
[@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
|
||||
[@"text-color", placeholderColor, CPTextFieldStateRounded | CPTextFieldStatePlaceholder],
|
||||
[@"text-color", regularDisabledTextColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-color", placeholderColor, CPThemeState(CPTextFieldStateRounded, CPTextFieldStatePlaceholder)],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size", CGSizeMake(0.0, 29.0), CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
[@"max-size", CGSizeMake(-1.0, 29.0), CPTextFieldStateRounded | CPThemeStateBezeled]
|
||||
[@"min-size", CGSizeMake(0.0, 29.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)],
|
||||
[@"max-size", CGSizeMake(-1.0, 29.0), CPThemeState(CPTextFieldStateRounded, CPThemeStateBezeled)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedRoundedTextFieldValues forView:textfield];
|
||||
@@ -688,7 +688,7 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", bezelColor["@"], CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"font", [CPFont boldSystemFontOfSize:13.0]],
|
||||
[@"text-color", [CPColor colorWithWhite:0.2 alpha:0.8]],
|
||||
@@ -700,8 +700,8 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeStateNormal],
|
||||
[@"datepicker-textfield-bezel-color", bezelColorDatePickerTextField, CPThemeStateSelected],
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeStateNormal | CPThemeStateDisabled],
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeState(CPThemeStateNormal, CPThemeStateDisabled)],
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
|
||||
[@"min-size-datepicker-textfield", CGSizeMake(6.0, 18.0)],
|
||||
|
||||
@@ -762,12 +762,12 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:217.0 / 255.0 green:217.0 / 255.0 blue:211.0 / 255.0 alpha:1.0], CPThemeStateNormal],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:68.0 / 255.0 green:109.0 / 255.0 blue:198.0 / 255.0 alpha:1.0], CPThemeStateSelected],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:217.0 / 255.0 green:217.0 / 255.0 blue:211.0 / 255.0 alpha:0.5], CPThemeStateNormal | CPThemeStateDisabled],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:68.0 / 255.0 green:109.0 / 255.0 blue:198.0 / 255.0 alpha:0.5], CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:217.0 / 255.0 green:217.0 / 255.0 blue:211.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateNormal, CPThemeStateDisabled)],
|
||||
[@"border-color", [CPColor colorWithCalibratedRed:68.0 / 255.0 green:109.0 / 255.0 blue:198.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
|
||||
[@"bezel-color-calendar", [CPColor whiteColor]],
|
||||
[@"bezel-color-calendar", [CPColor colorWithCalibratedRed:87.0 / 255.0 green:128.0 / 255.0 blue:216.0 / 255.0 alpha:1.0], CPThemeStateSelected],
|
||||
[@"bezel-color-calendar", [CPColor colorWithCalibratedRed:87.0 / 255.0 green:128.0 / 255.0 blue:216.0 / 255.0 alpha:0.5], CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"bezel-color-calendar", [CPColor colorWithCalibratedRed:87.0 / 255.0 green:128.0 / 255.0 blue:216.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"bezel-color-clock", clockImageColor],
|
||||
[@"bezel-color-clock", clockImageColorDisabled, CPThemeStateDisabled],
|
||||
|
||||
@@ -811,15 +811,15 @@ var themedButtonValues = nil,
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateHighlighted],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateHighlighted],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:87.0 / 255.0 green:128.0 / 255.0 blue:216.0 / 255.0 alpha:0.5], CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-text-shadow-color", [CPColor whiteColor], CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateHighlighted | CPThemeStateDisabled],
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:87.0 / 255.0 green:128.0 / 255.0 blue:216.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
[@"tile-text-shadow-color", [CPColor whiteColor], CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)],
|
||||
|
||||
[@"tile-text-color", [CPColor whiteColor], CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedRed:0.0 / 255.0 green:0.0 / 255.0 blue:0.0 / 255.0 alpha:0.2], CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"tile-text-color", [CPColor whiteColor], CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedRed:0.0 / 255.0 green:0.0 / 255.0 blue:0.0 / 255.0 alpha:0.2], CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"tile-text-color", [CPColor whiteColor], CPThemeStateSelected],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedRed:0.0 / 255.0 green:0.0 / 255.0 blue:0.0 / 255.0 alpha:0.2], CPThemeStateSelected],
|
||||
@@ -831,15 +831,15 @@ var themedButtonValues = nil,
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateDisabled],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateDisabled],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:0.5], CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedRed:0.0 / 255.0 green:0.0 / 255.0 blue:0.0 / 255.0 alpha:0.2], CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateDisabled | CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedRed:0.0 / 255.0 green:0.0 / 255.0 blue:0.0 / 255.0 alpha:0.2], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:0.5], CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedRed:0.0 / 255.0 green:0.0 / 255.0 blue:0.0 / 255.0 alpha:0.2], CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"tile-text-color", [CPColor colorWithCalibratedRed:255.0 / 255.0 green:255.0 / 255.0 blue:255.0 / 255.0 alpha:0.5], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-color", [CPColor colorWithCalibratedRed:0.0 / 255.0 green:0.0 / 255.0 blue:0.0 / 255.0 alpha:0.2], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"tile-text-shadow-offset", CGSizeMake(0,1), CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"tile-font", [CPFont systemFontOfSize:10.0], CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
|
||||
[@"arrow-image-left", arrowImageLeft],
|
||||
[@"arrow-image-right", arrowImageRight],
|
||||
@@ -888,7 +888,7 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"bezel-inset", CGInsetMakeZero()],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPThemeStateBezeled],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
|
||||
[@"editor-inset", CGInsetMake(3.0, 0.0, 0.0, 0.0)],
|
||||
|
||||
@@ -902,7 +902,7 @@ var themedButtonValues = nil,
|
||||
[@"content-inset", CGInsetMake(4.0, 8.0, 4.0, 8.0), CPThemeStateBezeled],
|
||||
|
||||
// Bezeled token field with no tokens
|
||||
[@"content-inset", CGInsetMake(8.0, 8.0, 7.0, 8.0), CPThemeStateBezeled | CPTextFieldStatePlaceholder]
|
||||
[@"content-inset", CGInsetMake(8.0, 8.0, 7.0, 8.0), CPThemeState(CPThemeStateBezeled, CPTextFieldStatePlaceholder)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:overrides forView:tokenfield inherit:themedTextFieldValues];
|
||||
@@ -930,8 +930,8 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", bezelColor["@"], CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelColor["highlighted"], CPThemeStateBezeled | CPThemeStateHighlighted],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelColor["highlighted"], CPThemeState(CPThemeStateBezeled, CPThemeStateHighlighted)],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"text-color", textColor],
|
||||
[@"text-color", textHighlightedColor, CPThemeStateHighlighted],
|
||||
@@ -964,8 +964,8 @@ var themedButtonValues = nil,
|
||||
[@"content-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal],
|
||||
|
||||
[@"bezel-color", nil, CPThemeStateBordered],
|
||||
[@"bezel-color", arrowImage, CPThemeStateBordered | CPThemeStateHovered],
|
||||
[@"bezel-color", arrowImageHiglighted, CPThemeStateBordered | CPThemeStateHovered | CPThemeStateHighlighted],
|
||||
[@"bezel-color", arrowImage, CPThemeState(CPThemeStateBordered, CPThemeStateHovered)],
|
||||
[@"bezel-color", arrowImageHiglighted, CPThemeState(CPThemeStateBordered, CPThemeStateHovered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"min-size", CGSizeMake(7.0, 6.0)],
|
||||
[@"max-size", CGSizeMake(7.0, 6.0)],
|
||||
@@ -987,15 +987,15 @@ var themedButtonValues = nil,
|
||||
|
||||
themeValues =
|
||||
[
|
||||
[@"bezel-color", bezelColor, CPThemeStateBordered | CPThemeStateHovered],
|
||||
[@"bezel-color", [bezelColor colorWithAlphaComponent:0], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color", bezelColor, CPThemeState(CPThemeStateBordered, CPThemeStateHovered)],
|
||||
[@"bezel-color", [bezelColor colorWithAlphaComponent:0], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color", bezelHighlightedColor, CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"min-size", CGSizeMake(8.0, 8.0)],
|
||||
[@"max-size", CGSizeMake(8.0, 8.0)],
|
||||
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBordered],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"offset", CGPointMake(16, 6), CPThemeStateBordered]
|
||||
];
|
||||
@@ -1049,36 +1049,36 @@ var themedButtonValues = nil,
|
||||
|
||||
overrides =
|
||||
[
|
||||
[@"bezel-color", bezelColor["@"], CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeStateBezeled | CPComboBoxStateButtonBordered | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeStateBezeled | CPComboBoxStateButtonBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelColor["@"], CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered)],
|
||||
[@"bezel-color", bezelFocusedColor, CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateEditing)],
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateDisabled)],
|
||||
|
||||
[@"bezel-color", bezelNoBorderColor["@"], CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelNoBorderColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-color", bezelNoBorderColor["disabled"], CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
[@"border-inset", CGInsetMake(3.0, 3.0, 3.0, 3.0), CPThemeStateBezeled],
|
||||
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPThemeStateBezeled | CPThemeStateEditing | CPComboBoxStateButtonBordered],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPThemeStateBezeled | CPThemeStateDisabled | CPComboBoxStateButtonBordered],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing, CPComboBoxStateButtonBordered)],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled, CPComboBoxStateButtonBordered)],
|
||||
|
||||
[@"bezel-inset", CGInsetMake(0.0, 4.0, 0.0, 1.0), CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 5.0, 3.0, 4.0), CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 4.0, 0.0, 1.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 5.0, 3.0, 4.0), CPThemeState(CPThemeStateBezeled, CPThemeStateDisabled)],
|
||||
|
||||
// The right border inset has to make room for the focus ring and popup button
|
||||
[@"content-inset", CGInsetMake(9.0, 26.0, 7.0, 10.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"content-inset", CGInsetMake(9.0, 26.0, 7.0, 10.0), CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered)],
|
||||
[@"content-inset", CGInsetMake(9.0, 26.0, 7.0, 10.0), CPThemeStateBezeled],
|
||||
[@"content-inset", CGInsetMake(9.0, 24.0, 7.0, 10.0), CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"content-inset", CGInsetMake(9.0, 24.0, 7.0, 10.0), CPThemeState(CPThemeStateBezeled, CPThemeStateEditing)],
|
||||
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), CPThemeState(CPThemeStateBezeled, CPComboBoxStateButtonBordered)],
|
||||
[@"popup-button-size", CGSizeMake(17.0, 23.0), CPThemeStateBezeled],
|
||||
|
||||
// Because combo box uses a three-part bezel, the height is fixed
|
||||
[@"min-size", CGSizeMake(0, 31.0)],
|
||||
[@"max-size", CGSizeMake(-1, 31.0)],
|
||||
|
||||
[@"text-color", regularDisabledTextColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
];
|
||||
|
||||
[self registerThemeValues:overrides forView:combo inherit:themedTextFieldValues];
|
||||
@@ -1105,10 +1105,10 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"image", imageNormal, CPThemeStateNormal],
|
||||
[@"image", imageSelected, CPThemeStateSelected],
|
||||
[@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"image", imageSelectedHighlighted, CPThemeState(CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"image-offset", CPRadioImageOffset],
|
||||
|
||||
[@"text-color", regularDisabledTextColor, CPThemeStateDisabled],
|
||||
@@ -1140,10 +1140,10 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"image", imageNormal, CPThemeStateNormal],
|
||||
[@"image", imageSelected, CPThemeStateSelected],
|
||||
[@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"image", imageSelectedHighlighted, CPThemeState(CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"image-offset", CPCheckBoxImageOffset],
|
||||
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateNormal],
|
||||
@@ -1174,8 +1174,8 @@ var themedButtonValues = nil,
|
||||
themeValues =
|
||||
[
|
||||
[@"image", mixedImage, CPButtonStateMixed],
|
||||
[@"image", mixedHighlightedImage, CPButtonStateMixed | CPThemeStateHighlighted],
|
||||
[@"image", mixedDisabledImage, CPButtonStateMixed | CPThemeStateDisabled],
|
||||
[@"image", mixedHighlightedImage, CPThemeState(CPButtonStateMixed, CPThemeStateHighlighted)],
|
||||
[@"image", mixedDisabledImage, CPThemeState(CPButtonStateMixed, CPThemeStateDisabled)],
|
||||
[@"image-offset", CPCheckBoxImageOffset, CPButtonStateMixed],
|
||||
[@"max-size", CGSizeMake(-1.0, -1.0)]
|
||||
];
|
||||
@@ -1238,29 +1238,29 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"center-segment-bezel-color", centerBezelColor, CPThemeStateNormal],
|
||||
[@"center-segment-bezel-color", inactiveCenterBezelColor, CPThemeStateDisabled],
|
||||
[@"center-segment-bezel-color", inactiveHighlightedCenterBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"center-segment-bezel-color", inactiveHighlightedCenterBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"center-segment-bezel-color", centerHighlightedBezelColor, CPThemeStateSelected],
|
||||
[@"center-segment-bezel-color", pushedCenterBezelColor, CPThemeStateHighlighted],
|
||||
[@"center-segment-bezel-color", pushedHighlightedCenterBezelColor, CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"center-segment-bezel-color", pushedHighlightedCenterBezelColor, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"divider-bezel-color", dividerBezelColor, CPThemeStateNormal],
|
||||
[@"divider-bezel-color", inactiveDividerBezelColor, CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"divider-bezel-color", dividerHighlightedBezelColor, CPThemeStateSelected],
|
||||
|
||||
[@"left-segment-bezel-color", leftBezelColor, CPThemeStateNormal],
|
||||
[@"left-segment-bezel-color", inactiveLeftBezelColor, CPThemeStateDisabled],
|
||||
[@"left-segment-bezel-color", inactiveHighlightedLeftBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"left-segment-bezel-color", inactiveHighlightedLeftBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"left-segment-bezel-color", leftHighlightedBezelColor, CPThemeStateSelected],
|
||||
[@"left-segment-bezel-color", pushedLeftBezelColor, CPThemeStateHighlighted],
|
||||
[@"left-segment-bezel-color", pushedHighlightedLeftBezelColor, CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"left-segment-bezel-color", pushedHighlightedLeftBezelColor, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"right-segment-bezel-color", rightBezelColor, CPThemeStateNormal],
|
||||
[@"right-segment-bezel-color", inactiveRightBezelColor, CPThemeStateDisabled],
|
||||
[@"right-segment-bezel-color", inactiveHighlightedRightBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"right-segment-bezel-color", inactiveHighlightedRightBezelColor, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"right-segment-bezel-color", rightHighlightedBezelColor, CPThemeStateSelected],
|
||||
[@"right-segment-bezel-color", pushedRightBezelColor, CPThemeStateHighlighted],
|
||||
[@"right-segment-bezel-color", pushedHighlightedRightBezelColor, CPThemeStateHighlighted | CPThemeStateSelected],
|
||||
[@"right-segment-bezel-color", pushedHighlightedRightBezelColor, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)],
|
||||
|
||||
[@"content-inset", CGInsetMake(0.0, 4.0, 0.0, 4.0), CPThemeStateNormal],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 0.0, 0.0, 0.0), CPThemeStateNormal],
|
||||
@@ -1272,14 +1272,14 @@ var themedButtonValues = nil,
|
||||
// The "default" button state is the same theme color as the "selected" segmented control state, so we can use
|
||||
// the same text theme values.
|
||||
[@"text-color", defaultTextColor, CPThemeStateSelected],
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"text-shadow-color", regularTextShadowColor],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeStateDisabled],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:0.0 alpha:0.2], CPThemeStateSelected],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 1.0)],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 1.0), CPThemeStateSelected],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 0.0), CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 0.0), CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"line-break-mode", CPLineBreakByTruncatingTail],
|
||||
|
||||
[@"divider-thickness", 1.0],
|
||||
@@ -1365,7 +1365,7 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"track-width", 5.0],
|
||||
[@"track-color", trackColor, CPThemeStateVertical],
|
||||
[@"track-color", trackDisabledColor, CPThemeStateVertical | CPThemeStateDisabled],
|
||||
[@"track-color", trackDisabledColor, CPThemeState(CPThemeStateVertical, CPThemeStateDisabled)],
|
||||
|
||||
[@"knob-size", CGSizeMake(21.0, 21.0)],
|
||||
[@"knob-color", knobColor],
|
||||
@@ -1400,12 +1400,12 @@ var themedButtonValues = nil,
|
||||
themedCircularSliderValues =
|
||||
[
|
||||
[@"track-color", trackColor, CPThemeStateCircular],
|
||||
[@"track-color", trackDisabledColor, CPThemeStateCircular | CPThemeStateDisabled],
|
||||
[@"track-color", trackDisabledColor, CPThemeState(CPThemeStateCircular, CPThemeStateDisabled)],
|
||||
|
||||
[@"knob-size", CGSizeMake(5.0, 5.0), CPThemeStateCircular],
|
||||
[@"knob-color", knobColor, CPThemeStateCircular],
|
||||
[@"knob-color", knobHighlightedColor, CPThemeStateCircular | CPThemeStateHighlighted],
|
||||
[@"knob-color", knobDisabledColor, CPThemeStateCircular | CPThemeStateDisabled]
|
||||
[@"knob-color", knobHighlightedColor, CPThemeState(CPThemeStateCircular, CPThemeStateHighlighted)],
|
||||
[@"knob-color", knobDisabledColor, CPThemeState(CPThemeStateCircular, CPThemeStateDisabled)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedCircularSliderValues forView:slider];
|
||||
@@ -1500,7 +1500,7 @@ var themedButtonValues = nil,
|
||||
|
||||
[@"background-color", pressed, CPThemeStateHighlighted],
|
||||
[@"background-color", highlighted, CPThemeStateSelected],
|
||||
[@"background-color", highlightedPressed, CPThemeStateHighlighted | CPThemeStateSelected]
|
||||
[@"background-color", highlightedPressed, CPThemeState(CPThemeStateHighlighted, CPThemeStateSelected)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedColumnHeaderValues forView:header];
|
||||
@@ -1708,10 +1708,10 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"bezel-color-up-button", bezelUp["@"], CPThemeStateBordered],
|
||||
[@"bezel-color-down-button", bezelDown["@"], CPThemeStateBordered],
|
||||
[@"bezel-color-up-button", bezelUp["disabled"], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color-down-button", bezelDown["disabled"], CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color-up-button", bezelUp["highlighted"], CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color-down-button", bezelDown["highlighted"], CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color-up-button", bezelUp["disabled"], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color-down-button", bezelDown["disabled"], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)],
|
||||
[@"bezel-color-up-button", bezelUp["highlighted"], CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
[@"bezel-color-down-button", bezelDown["highlighted"], CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
[@"min-size", CGSizeMake(25.0, 25.0)],
|
||||
[@"up-button-size", CGSizeMake(25.0, 13.0)],
|
||||
[@"down-button-size", CGSizeMake(25.0, 12.0)]
|
||||
@@ -1800,9 +1800,9 @@ var themedButtonValues = nil,
|
||||
[@"content-border-inset", CGInsetMake(5.0, 5.0, 4.0, 5.0), CPThemeStateBordered],
|
||||
[@"content-border-color", contentBorderColor, CPThemeStateBordered],
|
||||
|
||||
[@"bezel-color", bezelColor["highlighted"], CPThemeStateBordered | CPThemeStateHighlighted],
|
||||
[@"bezel-color", bezelColor["highlighted"], CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted)],
|
||||
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeStateBordered | CPThemeStateDisabled]
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedColorWellValues forView:colorWell];
|
||||
@@ -2627,13 +2627,13 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"image", imageNormal, CPThemeStateNormal],
|
||||
[@"image", imageSelected, CPThemeStateSelected],
|
||||
[@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"image", imageSelectedHighlighted, CPThemeState(CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)],
|
||||
[@"image", mixedImage, CPButtonStateMixed],
|
||||
[@"image", mixedHighlightedImage, CPButtonStateMixed | CPThemeStateHighlighted],
|
||||
[@"image", mixedDisabledImage, CPButtonStateMixed | CPThemeStateDisabled]
|
||||
[@"image", mixedHighlightedImage, CPThemeState(CPButtonStateMixed, CPThemeStateHighlighted)],
|
||||
[@"image", mixedDisabledImage, CPThemeState(CPButtonStateMixed, CPThemeStateDisabled)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:[self defaultThemeOverridesAddedTo:hudSpecific] forView:button inherit:themedCheckBoxValues];
|
||||
@@ -2667,10 +2667,10 @@ var themedButtonValues = nil,
|
||||
[
|
||||
[@"image", imageNormal, CPThemeStateNormal],
|
||||
[@"image", imageSelected, CPThemeStateSelected],
|
||||
[@"image", imageSelectedHighlighted, CPThemeStateSelected | CPThemeStateHighlighted],
|
||||
[@"image", imageSelectedHighlighted, CPThemeState(CPThemeStateSelected, CPThemeStateHighlighted)],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled]
|
||||
[@"image", imageSelectedDisabled, CPThemeState(CPThemeStateSelected, CPThemeStateDisabled)]
|
||||
];
|
||||
|
||||
[self registerThemeValues:[self defaultThemeOverridesAddedTo:hudSpecific] forView:button inherit:themedRadioButtonValues];
|
||||
|
||||
@@ -171,9 +171,9 @@ var _CPAutocompleteMenuMaximumHeight = 307;
|
||||
|
||||
var dataView = [tableColumn dataView],
|
||||
fontNormal = [dataView valueForThemeAttribute:@"font" inState:CPThemeStateTableDataView],
|
||||
fontSelected = [dataView valueForThemeAttribute:@"font" inState:CPThemeStateTableDataView | CPThemeStateSelectedDataView],
|
||||
fontSelected = [dataView valueForThemeAttribute:@"font" inState:CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)],
|
||||
contentInsetNormal = [dataView valueForThemeAttribute:@"content-inset" inState:CPThemeStateTableDataView],
|
||||
contentInsetSelected = [dataView valueForThemeAttribute:@"content-inset" inState:CPThemeStateTableDataView | CPThemeStateSelectedDataView];
|
||||
contentInsetSelected = [dataView valueForThemeAttribute:@"content-inset" inState:CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)];
|
||||
|
||||
var mergedString = contentArray.join("\n");
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
@import <AppKit/CPTheme.j>
|
||||
|
||||
@implementation CPThemeTest : OJTestCase
|
||||
{
|
||||
}
|
||||
|
||||
- (void)testCreatingThemeState
|
||||
{
|
||||
var themeState = new ThemeState({'test': true, 'test1': true});
|
||||
[self assertTrue:themeState._stateNames['test'] message:"Creating a new ThemeState sets the statenames correctly."];
|
||||
[self assertTrue:themeState._stateNames['test1'] message:"Creating a new ThemeState sets the statenames correctly."];
|
||||
[self assertTrue:(themeState._stateNameCount === 2) message:"Creating a new ThemeState sets count of state names correctly."];
|
||||
[self assertTrue:(String(themeState) === "test+test1") message:"Creating a new ThemeState sets its string value to its sorted state names"];
|
||||
|
||||
themeState = new ThemeState();
|
||||
[self assertTrue:themeState._stateNames['normal'] message:"Creating a new ThemeState with no states sets the ThemeState to be a normal themestate"];
|
||||
[self assertTrue:(themeState._stateNameCount === 1) message:"Creating a new ThemeState with no states creates a new ThemeState with one state (normal)."];
|
||||
|
||||
themeState = new ThemeState({'boo': true, 'normal': true});
|
||||
[self assertTrue:themeState._stateNames['boo'] message:"Creating a new combined ThemeState with normal and something else only sets the other theme state."];
|
||||
[self assertFalse:themeState._stateNames['normal'] message:"Creating a new combined ThemeState with normal and something else only sets the other theme state."];
|
||||
[self assertTrue:(themeState._stateNameCount === 1) message:"Creating a new ThemeState with no states creates a new ThemeState with one state (normal)."];
|
||||
}
|
||||
|
||||
- (void)testCreatingThemeStateWithCPThemeState
|
||||
{
|
||||
var themeState1 = CPThemeState('normal');
|
||||
var themeState2 = CPThemeState('normal');
|
||||
[self assertTrue:(themeState1 === themeState2) message:"Creating two themestates with the same string returns the same object for both"];
|
||||
|
||||
|
||||
themeState1 = CPThemeState('smee+blee');
|
||||
themeState2 = CPThemeState('blee+smee');
|
||||
|
||||
[self assertTrue:(themeState1 === themeState2) message:"Creating two combined themestates with the same component themestates returns the same object for both"];
|
||||
|
||||
var themeState3 = CPThemeState('hello', themeState1, themeState2);
|
||||
[self assertTrue:(String(themeState3) === "blee+hello+smee") message:"Can create a combined themestate with both string and object arguments"];
|
||||
|
||||
var themeState4 = CPThemeState(themeState3);
|
||||
[self assertTrue:(themeState4 === themeState3) message:"Creating a new ThemeState off an old one returns the same object"];
|
||||
|
||||
var themeState5 = CPThemeState('a', 'theme', 'state');
|
||||
[self assertTrue:(String(themeState5) === 'a+state+theme') message:"Creating a new ThemeState using multiple strings works."];
|
||||
}
|
||||
|
||||
- (void)testThemeAttributeValueForState
|
||||
{
|
||||
var themeAttribute = [[_CPThemeAttribute alloc] initWithName:@"test" defaultValue:5];
|
||||
[self assertTrue:([themeAttribute valueForState:CPThemeState("aState")] == 5) message:"Return the default value for the theme attribute if the theme attribute has no value defined for the given state"];
|
||||
|
||||
[themeAttribute setValue:7 forState:CPThemeState("aState")];
|
||||
[self assertTrue:([themeAttribute valueForState:CPThemeState("aState")] == 7) message:"Return the correct value for the state if the state is defined"];
|
||||
|
||||
[themeAttribute setValue:8 forState:CPThemeState('normal')];
|
||||
[self assertTrue:([themeAttribute valueForState:CPThemeState("aState1")] == 8) message:"Return the normal value for the state if the theme attribute has no value defined for the given state but has a value for the normal state defined"];
|
||||
|
||||
[themeAttribute setValue:10 forState:CPThemeState('aState3+aState4')];
|
||||
[self assertTrue:([themeAttribute valueForState:CPThemeState("aState3")] == 8) message:"Return the normal value for the state if the state is only a partial match on the theme attributes defined states"];
|
||||
[self assertTrue:([themeAttribute valueForState:CPThemeState("aState4+aState3")] == 10) message:"Correctly match combined states on the theme attribute"];
|
||||
|
||||
[themeAttribute setValue:9 forState:CPThemeState('aState3')];
|
||||
[self assertTrue:([themeAttribute valueForState:CPThemeState("aState8+aState3+aState4")] == 10) message:"Return the largest partial subset match for a combined state that isn't a perfect match"];
|
||||
}
|
||||
@end
|
||||
@@ -42,10 +42,21 @@
|
||||
[self assert:undefined same:[_CPDisplayServer run]];
|
||||
}
|
||||
|
||||
- (void)testHasThemeState
|
||||
{
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateNormal] message:@"By default, CPView should be in CPThemeStateNormal"];
|
||||
|
||||
view._themeState = CPThemeState(CPThemeStateDisabled, CPThemeStateBordered);
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateDisabled] message:@"CPView should be in state CPThemeStateDisabled"];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateBordered] message:@"CPView should be in state CPThemeStateBordered"];
|
||||
[self assertTrue:[view hasThemeState:CPThemeState(CPThemeStateBordered, CPThemeStateDisabled)] message:@"CPView should be in the combined state of CPThemeStateDisabled and CPThemeStateBordered"];
|
||||
[self assertFalse:[view hasThemeState:CPThemeState(CPThemeStateNormal)] message:@"CPView should not be in CPThemeStateNormal"];
|
||||
}
|
||||
|
||||
- (void)testThemeState
|
||||
{
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateNormal] message:@"CPView should initialy have CPThemeStateNormal"];
|
||||
[self assertFalse:[view hasThemeState:CPThemeStateDisabled] message:@"view should be disabled"];
|
||||
[self assertFalse:[view hasThemeState:CPThemeStateDisabled] message:@"view should not be disabled"];
|
||||
|
||||
[view setThemeState:CPThemeStateDisabled];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateDisabled] message:@"The view should be CPThemeStateDisabled"];
|
||||
@@ -53,9 +64,30 @@
|
||||
[view setThemeState:CPThemeStateHighlighted];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateHighlighted] message:@"Theme state should be CPThemeStateHighlighted"];
|
||||
|
||||
[view setThemeState:CPThemeStateNormal | CPThemeStateHighlighted];
|
||||
[view setThemeState:CPThemeState(CPThemeStateNormal, CPThemeStateHighlighted)];
|
||||
[self assertFalse:[view hasThemeState:CPThemeStateNormal] message:@"CPThemeStateNormal cannot exist as part of a compound state"];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateHighlighted] message:@"The view should be CPThemeStateHighlighted"];
|
||||
|
||||
[view setThemeState:CPThemeState(CPThemeStateHighlighted, CPThemeStateDisabled)];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateHighlighted] message:@"The view should be CPThemeStateHighlighted"];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateDisabled] message:@"The view should be CPThemeStateDisabled"];
|
||||
[self assertTrue:[view hasThemeState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)] message:@"The view should be in the combined state of CPThemeStateDisabled and CPThemeStateHighlighted"];
|
||||
}
|
||||
|
||||
- (void)testUnsetThemeState
|
||||
{
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateNormal] message:@"CPView should initialy have CPThemeStateNormal"];
|
||||
[view unsetThemeState:CPThemeStateNormal];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateNormal] message:@"CPView always be in CPThemeStateNormal even if you try to unset it"];
|
||||
[view setThemeState:CPThemeStateDisabled];
|
||||
[view unsetThemeState:CPThemeStateDisabled];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateNormal] message:@"CPView should be in CPThemeStateNormal when all other theme states have been unset from it"];
|
||||
[view setThemeState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)];
|
||||
[view unsetThemeState:CPThemeStateDisabled];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateHighlighted] message:"@CPView should have the remaining state when one of its combined states is unset"];
|
||||
[view setThemeState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateBordered)];
|
||||
[view unsetThemeState:CPThemeState(CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDisabled)];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateNormal] message:@"CPView should be able to unset a combined theme state"];
|
||||
}
|
||||
|
||||
- (void)testThemeAttributes
|
||||
|
||||
@@ -113,7 +113,7 @@ var BrowserColumnTheme = 0,
|
||||
|
||||
var value = [theme valueForAttributeWithName:[attribute name] inState:state forClass:className];
|
||||
|
||||
[valueLabel setStringValue:[SCString stringWithTemplate:ValueLabelTemplate, [theme name], className, [attribute name], CPThemeStateName(state)]]
|
||||
[valueLabel setStringValue:[SCString stringWithTemplate:ValueLabelTemplate, [theme name], className, [attribute name], String(state)]]
|
||||
[self showValueDescription:value];
|
||||
}
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ function main(args)
|
||||
value = [theme valueForAttributeWithName:attributeName inState:state forClass:className],
|
||||
description = CPDescriptionOfObject(value).replace(/^/mg, " ");
|
||||
|
||||
colorPrint("cyan", " " + CPThemeStateName(state));
|
||||
colorPrint("cyan", " " + String(state));
|
||||
stream.print(description + "\n");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -113,10 +113,10 @@ var IBDefaultFontSizeTableHeader = 11.0;
|
||||
|
||||
if (![textColor isEqual:defaultColor])
|
||||
{
|
||||
var selectedColor = [self valueForDataViewThemeAttribute:@"text-color" inState:CPThemeStateTableDataView | CPThemeStateSelectedDataView];
|
||||
var selectedColor = [self valueForDataViewThemeAttribute:@"text-color" inState:CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)];
|
||||
|
||||
[dataView setValue:selectedColor forThemeAttribute:@"text-color" inState:CPThemeStateTableDataView | CPThemeStateSelectedDataView];
|
||||
[dataView setValue:textColor forThemeAttribute:@"text-color" inState:CPThemeStateTableDataView | CPThemeStateSelectedDataView | CPThemeStateEditing];
|
||||
[dataView setValue:selectedColor forThemeAttribute:@"text-color" inState:CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView)];
|
||||
[dataView setValue:textColor forThemeAttribute:@"text-color" inState:CPThemeState(CPThemeStateTableDataView, CPThemeStateSelectedDataView, CPThemeStateEditing)];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
{
|
||||
var theme = [Nib2Cib defaultTheme],
|
||||
height = [theme valueForAttributeWithName:@"default-row-height" forClass:[CPTableView class]],
|
||||
width = [theme valueForAttributeWithName:@"scroller-width" inState:CPThemeStateVertical | CPThemeStateScrollViewLegacy forClass:[CPScroller class]];
|
||||
width = [theme valueForAttributeWithName:@"scroller-width" inState:CPThemeState(CPThemeStateVertical, CPThemeStateScrollViewLegacy) forClass:[CPScroller class]];
|
||||
|
||||
_frame.size.height = height;
|
||||
_bounds.size.height = height;
|
||||
|
||||
Reference in new issue
Block a user