mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-10-03 07:36:16 +00:00
Merge branch 'master' of https://github.com/cappuccino/cappuccino
This commit is contained in:
+1
-1
@@ -255,7 +255,7 @@ var bottomHeight = 71;
|
||||
[_themeView setValue:aValue forThemeAttribute:aName];
|
||||
}
|
||||
|
||||
- (void)setValue:(id)aValue forThemeAttribute:(CPString)aName inState:(CPThemeState)aState
|
||||
- (void)setValue:(id)aValue forThemeAttribute:(CPString)aName inState:(ThemeState)aState
|
||||
{
|
||||
[_themeView setValue:aValue forThemeAttribute:aName inState:aState];
|
||||
}
|
||||
|
||||
+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:[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:[CPThemeStateNormal, CPThemeStateBordered]];
|
||||
[button setValue:highlightedColor forThemeAttribute:@"bezel-color" inState:[CPThemeStateHighlighted, CPThemeStateBordered, ]];
|
||||
[button setValue:disabledColor forThemeAttribute:@"bezel-color" inState:[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:[CPThemeStateNormal, CPThemeStateBordered, CPPopUpButtonStatePullsDown]];
|
||||
[button setValue:highlightedColor forThemeAttribute:@"bezel-color" inState:[CPThemeStateHighlighted, CPThemeStateBordered, CPPopUpButtonStatePullsDown]];
|
||||
[button setValue:disabledColor forThemeAttribute:@"bezel-color" inState:[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:[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: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:[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: 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:[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: 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:[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]];
|
||||
|
||||
[self addSubview:_textField];
|
||||
|
||||
@@ -1059,7 +1059,7 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
|
||||
/*! Set a theme
|
||||
*/
|
||||
- (BOOL)setThemeState:(CPThemeState)aState
|
||||
- (BOOL)setThemeState:(ThemeState)aState
|
||||
{
|
||||
[_textField setThemeState:aState];
|
||||
[super setThemeState:aState];
|
||||
@@ -1067,7 +1067,7 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
|
||||
/*! Unset a theme
|
||||
*/
|
||||
- (BOOL)unsetThemeState:(CPThemeState)aState
|
||||
- (BOOL)unsetThemeState:(ThemeState)aState
|
||||
{
|
||||
[_textField unsetThemeState:aState];
|
||||
[super unsetThemeState:aState];
|
||||
@@ -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"]);
|
||||
|
||||
@@ -1222,6 +1222,7 @@ var CPMonthDateType = 0,
|
||||
int _maxNumber @accessors(getter=maxNumber);
|
||||
int _minNumber @accessors(getter=minNumber);
|
||||
|
||||
BOOL _firstEvent;
|
||||
CPTimer _timerEdition;
|
||||
}
|
||||
|
||||
@@ -1231,6 +1232,7 @@ var CPMonthDateType = 0,
|
||||
|
||||
- (BOOL)acceptFirstResponder
|
||||
{
|
||||
_firstEvent = YES;
|
||||
return NO;
|
||||
}
|
||||
|
||||
@@ -1339,7 +1341,7 @@ var CPMonthDateType = 0,
|
||||
if (keyCode != CPDeleteKeyCode && keyCode != CPDeleteForwardKeyCode && keyCode < CPZeroKeyCode || keyCode > CPNineKeyCode)
|
||||
return;
|
||||
|
||||
var newValue = [self stringValue],
|
||||
var newValue = [self stringValue].replace(/\s/g, ''),
|
||||
length = [newValue length],
|
||||
eventKeyValue = parseInt([anEvent characters]).toString();
|
||||
|
||||
@@ -1355,7 +1357,7 @@ var CPMonthDateType = 0,
|
||||
{
|
||||
_timerEdition = [CPTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(_timerKeyEvent:) userInfo:nil repeats:NO];
|
||||
|
||||
if ((_dateType == CPYearDateType && length == 4) || (_dateType != CPYearDateType && length == 2) || !length)
|
||||
if (_firstEvent || !length)
|
||||
newValue = eventKeyValue;
|
||||
else
|
||||
newValue = parseInt(newValue).toString() + eventKeyValue;
|
||||
@@ -1374,6 +1376,8 @@ var CPMonthDateType = 0,
|
||||
if (parseInt(newValue) > [self _maxNumberWithMaxDate] || ([_datePicker _isEnglishFormat] && _dateType == CPHourDateType && parseInt(newValue) > 12))
|
||||
return;
|
||||
|
||||
_firstEvent = NO;
|
||||
|
||||
[super setObjectValue:newValue];
|
||||
}
|
||||
|
||||
@@ -1473,7 +1477,13 @@ var CPMonthDateType = 0,
|
||||
}
|
||||
|
||||
while ([aStringValue length] < 2)
|
||||
aStringValue = "0" + aStringValue;
|
||||
{
|
||||
if (_dateType == CPSecondDateType || _dateType == CPMinuteDateType)
|
||||
aStringValue = @"0" + aStringValue;
|
||||
else
|
||||
aStringValue = @" " + aStringValue;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
[super setObjectValue:aStringValue];
|
||||
@@ -1612,6 +1622,7 @@ var CPMonthDateType = 0,
|
||||
*/
|
||||
- (void)makeDeselectable
|
||||
{
|
||||
_firstEvent = YES;
|
||||
[self unsetThemeState:CPThemeStateSelected];
|
||||
}
|
||||
|
||||
|
||||
+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.without(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] = _themeStates[aSegment].without(CPThemeStateDisabled);
|
||||
else
|
||||
_themeStates[aSegment] |= CPThemeStateDisabled;
|
||||
_themeStates[aSegment] = _themeStates[aSegment].and(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] = _themeStates[aSegment].and(CPThemeStateHighlighted);
|
||||
else
|
||||
_themeStates[aSegment] &= ~CPThemeStateHighlighted;
|
||||
_themeStates[aSegment] = _themeStates[aSegment].without(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 ? themeState.and(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 ? themeState.and(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 ? themeState.and(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 = _themeStates[i].and(_themeStates[i + 1]);
|
||||
|
||||
borderState = (borderState & CPThemeStateSelected & ~CPThemeStateHighlighted) ? CPThemeStateSelected : CPThemeStateNormal;
|
||||
borderState = (borderState.hasThemeState(CPThemeStateSelected) && !borderState.hasThemeState(CPThemeStateHighlighted)) ? CPThemeStateSelected : CPThemeStateNormal;
|
||||
|
||||
borderState |= _themeState & CPThemeStateDisabled;
|
||||
borderState = isDisabled ? borderState.and(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) ? _themeStates[aSegment].and(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:[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]];
|
||||
[_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:[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]];
|
||||
}
|
||||
|
||||
- (void)_sizeToFit
|
||||
|
||||
@@ -6186,14 +6186,20 @@ var CPTableViewDataSourceKey = @"CPTableViewDataSourceKey",
|
||||
[self setThemeState:CPThemeStateTableDataView];
|
||||
}
|
||||
|
||||
- (BOOL)setThemeState:(CPThemeState)aState
|
||||
- (BOOL)setThemeState:(ThemeState)aState
|
||||
{
|
||||
if (aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
[super setThemeState:aState];
|
||||
[self recursivelyPerformSelector:@selector(setThemeState:) withObject:aState startingFrom:self];
|
||||
}
|
||||
|
||||
- (BOOL)unsetThemeState:(CPThemeState)aState
|
||||
- (BOOL)unsetThemeState:(ThemeState)aState
|
||||
{
|
||||
if (aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
[super unsetThemeState:aState];
|
||||
[self recursivelyPerformSelector:@selector(unsetThemeState:) withObject:aState startingFrom:self];
|
||||
}
|
||||
|
||||
+183
-133
@@ -240,7 +240,7 @@ var CPThemesByName = { },
|
||||
@param aClass The themed class in which to look for the attribute
|
||||
@return A value or nil
|
||||
*/
|
||||
- (id)valueForAttributeWithName:(CPString)aName inState:(CPThemeState)aState forClass:(id)aClass
|
||||
- (id)valueForAttributeWithName:(CPString)aName inState:(ThemeState)aState forClass:(id)aClass
|
||||
{
|
||||
var attribute = [self attributeWithName:aName forClass:aClass];
|
||||
|
||||
@@ -314,6 +314,164 @@ 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 || !aState._stateNames)
|
||||
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 (var key in this._stateNames)
|
||||
{
|
||||
if (!this._stateNames.hasOwnProperty(key))
|
||||
continue;
|
||||
|
||||
if (!aState._stateNames[key])
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
ThemeState.prototype.without = function(aState)
|
||||
{
|
||||
if (!aState || aState === [CPNull null])
|
||||
return this;
|
||||
|
||||
var newStates = {};
|
||||
for (var stateName in this._stateNames)
|
||||
{
|
||||
if (!this._stateNames.hasOwnProperty(stateName))
|
||||
continue;
|
||||
|
||||
if (!aState._stateNames[stateName])
|
||||
newStates[stateName] = true;
|
||||
}
|
||||
|
||||
return ThemeState._cacheThemeState(new ThemeState(newStates));
|
||||
}
|
||||
|
||||
ThemeState.prototype.and = function(aState)
|
||||
{
|
||||
return CPThemeState(this, aState);
|
||||
}
|
||||
|
||||
var CPThemeStates = {};
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
/*!
|
||||
* 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])
|
||||
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 +499,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 +558,6 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
return [_values count] > 0;
|
||||
}
|
||||
|
||||
- (BOOL)isTrivial
|
||||
{
|
||||
return ([_values count] === 1) && (Number([_values allKeys][0]) === CPThemeStateNormal);
|
||||
}
|
||||
|
||||
- (void)setValue:(id)aValue
|
||||
{
|
||||
_cache = {};
|
||||
@@ -479,7 +568,7 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
_values = @{ String(CPThemeStateNormal): aValue };
|
||||
}
|
||||
|
||||
- (void)setValue:(id)aValue forState:(CPThemeState)aState
|
||||
- (void)setValue:(id)aValue forState:(ThemeState)aState
|
||||
{
|
||||
_cache = { };
|
||||
|
||||
@@ -494,44 +583,34 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
return [self valueForState:CPThemeStateNormal];
|
||||
}
|
||||
|
||||
- (id)valueForState:(CPThemeState)aState
|
||||
- (id)valueForState:(ThemeState)aState
|
||||
{
|
||||
var value = _cache[aState];
|
||||
var stateName = String(aState),
|
||||
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 +633,7 @@ CPThemeStateKeyWindow = CPThemeState("keyWindow");
|
||||
value = nil;
|
||||
}
|
||||
|
||||
_cache[aState] = value;
|
||||
_cache[stateName] = value;
|
||||
|
||||
return value;
|
||||
}
|
||||
@@ -596,10 +675,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 +692,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 +712,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 +725,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 +734,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 +744,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];
|
||||
|
||||
|
||||
+10
-4
@@ -1389,12 +1389,15 @@ CPTokenFieldDeleteButtonType = 1;
|
||||
[self setNeedsLayout];
|
||||
}
|
||||
|
||||
- (BOOL)setThemeState:(CPThemeState)aState
|
||||
- (BOOL)setThemeState:(ThemeState)aState
|
||||
{
|
||||
if (aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
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];
|
||||
@@ -1403,12 +1406,15 @@ CPTokenFieldDeleteButtonType = 1;
|
||||
return r;
|
||||
}
|
||||
|
||||
- (BOOL)unsetThemeState:(CPThemeState)aState
|
||||
- (BOOL)unsetThemeState:(ThemeState)aState
|
||||
{
|
||||
if (aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
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];
|
||||
|
||||
+26
-18
@@ -2887,23 +2887,23 @@ setBoundsOrigin:
|
||||
return _themeState;
|
||||
}
|
||||
|
||||
- (BOOL)hasThemeState:(CPThemeState)aState
|
||||
- (BOOL)hasThemeState:(ThemeState)aState
|
||||
{
|
||||
// Because CPThemeStateNormal is defined as 0 we need to check for it explicitly here
|
||||
if (aState === CPThemeStateNormal && _themeState === CPThemeStateNormal)
|
||||
return YES;
|
||||
if (aState.isa && [aState isKindOfClass:CPArray])
|
||||
return _themeState.hasThemeState.apply(_themeState, aState);
|
||||
|
||||
return !!(_themeState & ((typeof aState === "string") ? CPThemeState(aState) : aState));
|
||||
return _themeState.hasThemeState(aState);
|
||||
}
|
||||
|
||||
- (BOOL)setThemeState:(CPThemeState)aState
|
||||
- (BOOL)setThemeState:(ThemeState)aState
|
||||
{
|
||||
var newState = (typeof aState === "string") ? CPThemeState(aState) : aState;
|
||||
if (aState && aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
if (_themeState & newState)
|
||||
if (_themeState.hasThemeState(aState))
|
||||
return NO;
|
||||
|
||||
_themeState |= newState;
|
||||
_themeState = CPThemeState(_themeState, aState);
|
||||
|
||||
[self setNeedsLayout];
|
||||
[self setNeedsDisplay:YES];
|
||||
@@ -2911,15 +2911,17 @@ setBoundsOrigin:
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)unsetThemeState:(CPThemeState)aState
|
||||
- (BOOL)unsetThemeState:(ThemeState)aState
|
||||
{
|
||||
var newState = ((typeof aState === "string") ? CPThemeState(aState) : aState);
|
||||
if (aState && aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
if (!(_themeState & newState))
|
||||
var oldThemeState = _themeState
|
||||
_themeState = _themeState.without(aState);
|
||||
|
||||
if (oldThemeState === _themeState)
|
||||
return NO;
|
||||
|
||||
_themeState &= ~newState;
|
||||
|
||||
[self setNeedsLayout];
|
||||
[self setNeedsDisplay:YES];
|
||||
|
||||
@@ -3077,8 +3079,11 @@ setBoundsOrigin:
|
||||
return dictionary;
|
||||
}
|
||||
|
||||
- (void)setValue:(id)aValue forThemeAttribute:(CPString)aName inState:(CPThemeState)aState
|
||||
- (void)setValue:(id)aValue forThemeAttribute:(CPString)aName inState:(ThemeState)aState
|
||||
{
|
||||
if (aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
if (!_themeAttributes || !_themeAttributes[aName])
|
||||
[CPException raise:CPInvalidArgumentException reason:[self className] + " does not contain theme attribute '" + aName + "'"];
|
||||
|
||||
@@ -3109,8 +3114,11 @@ setBoundsOrigin:
|
||||
[self setNeedsLayout];
|
||||
}
|
||||
|
||||
- (id)valueForThemeAttribute:(CPString)aName inState:(CPThemeState)aState
|
||||
- (id)valueForThemeAttribute:(CPString)aName inState:(ThemeState)aState
|
||||
{
|
||||
if (aState.isa && [aState isKindOfClass:CPArray])
|
||||
aState = CPThemeState.apply(null, aState);
|
||||
|
||||
if (!_themeAttributes || !_themeAttributes[aName])
|
||||
[CPException raise:CPInvalidArgumentException reason:[self className] + " does not contain theme attribute '" + aName + "'"];
|
||||
|
||||
@@ -3361,7 +3369,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 +3460,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], [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, [CPThemeStateBordered, CPThemeStateHighlighted]],
|
||||
[@"bezel-color", disabledBezelColor, [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"bezel-color", defaultBezelColor, [CPThemeStateBordered, CPThemeStateDefault]],
|
||||
[@"bezel-color", defaultHighlightedBezelColor, [CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDefault]],
|
||||
[@"bezel-color", defaultDisabledBezelColor, [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, [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]],
|
||||
|
||||
[@"text-color", [CPColor colorWithCalibratedWhite:0.6 alpha:1.0], CPThemeStateDisabled],
|
||||
|
||||
[@"text-color", defaultTextColor, CPThemeStateDefault],
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-color", defaultDisabledTextColor, [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, [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], [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], [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, [CPPopUpButtonStatePullsDown, CPThemeStateBordered]],
|
||||
[@"bezel-color", disabledColor, [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], [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", [CPColor colorWithCalibratedWhite:240.0 / 255.0 alpha:0.6], [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, [CPThemeStateVertical, CPThemeStateSelected]],
|
||||
[@"knob-slot-color", trackColorLight, [CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-slot-color", trackColorDark, [CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobDark]],
|
||||
[@"knob-color", knobColor, CPThemeStateVertical],
|
||||
[@"knob-color", knobColorLight, CPThemeStateVertical | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorDark, CPThemeStateVertical | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColorLight, [CPThemeStateVertical, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-color", knobColorDark, [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, [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]]
|
||||
];
|
||||
|
||||
[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, [CPThemeStateSelected, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-slot-color", trackColorDark, [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, [CPThemeStateScrollViewLegacy, CPThemeStateSelected]],
|
||||
[@"knob-slot-color", trackColorLegacy, [CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-slot-color", trackColorLegacy, [CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark]],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColorLegacy, [CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-color", knobColorLegacy, [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, [CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
[@"bezel-color", bezelDisabledColor, [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, [CPThemeStateBezeled, CPThemeStateDisabled]],
|
||||
[@"text-color", placeholderColor, CPTextFieldStatePlaceholder],
|
||||
[@"text-color", placeholderColor, CPTextFieldStatePlaceholder | CPThemeStateDisabled],
|
||||
[@"text-color", placeholderColor, [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], [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 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], [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]]
|
||||
];
|
||||
|
||||
[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, [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
[@"bezel-color", bezelFocusedColor, [CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
[@"bezel-color", bezelDisabledColor, [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), [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
[@"content-inset", CGInsetMake(8.0, 13.0, 7.0, 14.0), [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
|
||||
[@"text-color", textDisabledColor, CPTextFieldStateRounded | CPThemeStateDisabled],
|
||||
[@"text-color", placeholderColor, CPTextFieldStateRounded | CPTextFieldStatePlaceholder],
|
||||
[@"text-color", textDisabledColor, [CPTextFieldStateRounded, CPThemeStateDisabled]],
|
||||
[@"text-color", placeholderColor, [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), [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
[@"max-size", CGSizeMake(-1.0, 30.0), [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, [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], [CPThemeStateNormal, CPThemeStateDisabled]],
|
||||
[@"datepicker-textfield-bezel-color", bezelColorDatePickerTextField, [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], [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]],
|
||||
|
||||
[@"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], [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], [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: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], [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: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], [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], 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], [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]],
|
||||
|
||||
[@"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), [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, [CPThemeStateBezeled, CPThemeStateHighlighted]],
|
||||
[@"bezel-color", bezelColorDisabled, [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, [CPThemeStateBordered, CPThemeStateHovered]],
|
||||
[@"bezel-color", arrowImageHiglighted, [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, [CPThemeStateBordered, CPThemeStateHovered]],
|
||||
[@"bezel-color", [bezelColor colorWithAlphaComponent:0], [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"bezel-color", bezelHighlightedColor, [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), [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, [CPThemeStateBordered, CPThemeStateHighlighted]],
|
||||
|
||||
[@"bezel-color", bezelDisabledColor, CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelDisabledColor, [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, [CPThemeStateBezeled, CPComboBoxStateButtonBordered]],
|
||||
[@"bezel-color", bezelFocusedColor, [CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateEditing]],
|
||||
[@"bezel-color", bezelDisabledColor, [CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateDisabled]],
|
||||
|
||||
[@"bezel-color", bezelNoBorderColor, CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelNoBorderDisabledColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, [CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
[@"bezel-color", bezelNoBorderDisabledColor, [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), [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), [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), [CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), [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, [CPThemeStateSelected, CPThemeStateHighlighted]],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, [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, [CPThemeStateSelected, CPThemeStateHighlighted]],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, [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, [CPButtonStateMixed, CPThemeStateHighlighted]],
|
||||
[@"image", mixedDisabledImage, [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, [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, [CPThemeStateHighlighted, CPThemeStateSelected]],
|
||||
|
||||
[@"divider-bezel-color", dividerBezelColor, CPThemeStateNormal],
|
||||
[@"divider-bezel-color", inactiveDividerBezelColor, CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, [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, [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, [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, [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, [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, [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, [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, [CPThemeStateCircular, CPThemeStateHighlighted]],
|
||||
[@"knob-color", knobDisabledColor, [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, [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, [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"bezel-color-down-button", bezelDownDisabled, [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"bezel-color-up-button", bezelUpHighlighted, [CPThemeStateBordered, CPThemeStateHighlighted]],
|
||||
[@"bezel-color-down-button", bezelDownHighlighted, [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, [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, [CPThemeStateBordered, CPThemeStateDefault]],
|
||||
[@"text-color", defaultTextColor, CPThemeStateDefault],
|
||||
[@"text-shadow-color", defaultTextShadowColor, CPThemeStateBordered | CPThemeStateDefault],
|
||||
[@"text-shadow-color", defaultTextShadowColor, [CPThemeStateBordered, CPThemeStateDefault]],
|
||||
|
||||
[@"text-color", defaultDisabledTextColor, CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-color", defaultDisabledTextColor, [CPThemeStateDefault, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, [CPThemeStateDefault, CPThemeStateDisabled]],
|
||||
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 0.0), CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[@"text-shadow-offset", CGSizeMake(0.0, 0.0), [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],
|
||||
[CPThemeStateBordered, CPThemeStateHighlighted]],
|
||||
[@"bezel-color",
|
||||
bezelColor["@"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDisabled],
|
||||
[CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"bezel-color",
|
||||
bezelColor["default"]["@"],
|
||||
CPThemeStateBordered | CPThemeStateDefault],
|
||||
[CPThemeStateBordered, CPThemeStateDefault]],
|
||||
[@"bezel-color",
|
||||
bezelColor["default"]["highlighted"],
|
||||
CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault],
|
||||
[CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDefault]],
|
||||
[@"bezel-color",
|
||||
bezelColor["default"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled],
|
||||
[CPThemeStateBordered, CPThemeStateDefault, CPThemeStateDisabled]],
|
||||
[@"content-inset", CGInsetMake(0.0, 7.0, 0.0, 7.0), CPThemeStateBordered],
|
||||
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["@"]["@"],
|
||||
CPThemeStateBordered | CPButtonStateBezelStyleRounded],
|
||||
[CPThemeStateBordered, CPButtonStateBezelStyleRounded]],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["@"]["highlighted"],
|
||||
CPThemeStateBordered | CPThemeStateHighlighted | CPButtonStateBezelStyleRounded],
|
||||
[CPThemeStateBordered, CPThemeStateHighlighted, CPButtonStateBezelStyleRounded]],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["@"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDisabled | CPButtonStateBezelStyleRounded],
|
||||
[CPThemeStateBordered, CPThemeStateDisabled, CPButtonStateBezelStyleRounded]],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["default"]["@"],
|
||||
CPThemeStateBordered | CPThemeStateDefault | CPButtonStateBezelStyleRounded],
|
||||
[CPThemeStateBordered, CPThemeStateDefault, CPButtonStateBezelStyleRounded]],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["default"]["highlighted"],
|
||||
CPThemeStateBordered | CPThemeStateHighlighted | CPThemeStateDefault | CPButtonStateBezelStyleRounded],
|
||||
[CPThemeStateBordered, CPThemeStateHighlighted, CPThemeStateDefault, CPButtonStateBezelStyleRounded]],
|
||||
[@"bezel-color",
|
||||
roundedBezelColor["default"]["disabled"],
|
||||
CPThemeStateBordered | CPThemeStateDefault | CPThemeStateDisabled | CPButtonStateBezelStyleRounded],
|
||||
[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), [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:[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"], [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, [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, [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["@"], [CPPopUpButtonStatePullsDown, CPThemeStateBordered]],
|
||||
[@"bezel-color", color["disabled"], [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, [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, [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["@"], [CPThemeStateVertical, CPThemeStateSelected]],
|
||||
[@"knob-slot-color", trackColor["light"], [CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-slot-color", trackColor["dark"], [CPThemeStateVertical, CPThemeStateSelected, CPThemeStateScrollerKnobDark]],
|
||||
[@"knob-color", knobColor["@"], CPThemeStateVertical],
|
||||
[@"knob-color", knobColor["light"], CPThemeStateVertical | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColor["dark"], CPThemeStateVertical | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColor["light"], [CPThemeStateVertical, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-color", knobColor["dark"], [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, [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]]
|
||||
];
|
||||
|
||||
[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"], [CPThemeStateSelected, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-slot-color", trackColor["dark"], [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, [CPThemeStateScrollViewLegacy, CPThemeStateSelected]],
|
||||
[@"knob-slot-color", trackColorLegacy, [CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-slot-color", trackColorLegacy, [CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobDark]],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobLight],
|
||||
[@"knob-color", knobColorLegacy, CPThemeStateScrollViewLegacy | CPThemeStateScrollerKnobDark],
|
||||
[@"knob-color", knobColorLegacy, [CPThemeStateScrollViewLegacy, CPThemeStateScrollerKnobLight]],
|
||||
[@"knob-color", knobColorLegacy, [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, [CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
[@"bezel-color", bezelColor["disabled"], [CPThemeStateBezeled, CPThemeStateDisabled]],
|
||||
[@"font", [CPFont systemFontOfSize:CPFontCurrentSystemSize], CPThemeStateBezeled],
|
||||
[@"text-color", regularDisabledTextColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-color", regularDisabledTextColor, [CPThemeStateBezeled, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, [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), [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), [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], [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 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], [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]]
|
||||
];
|
||||
|
||||
[self registerThemeValues:themedTextFieldValues forView:textfield];
|
||||
@@ -610,25 +610,25 @@ var themedButtonValues = nil,
|
||||
themedRoundedTextFieldValues =
|
||||
[
|
||||
[@"bezel-color",
|
||||
bezelColor["@"], CPTextFieldStateRounded | CPThemeStateBezeled],
|
||||
bezelColor["@"], [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
[@"bezel-color",
|
||||
bezelFocusedColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateEditing],
|
||||
bezelFocusedColor, [CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
[@"bezel-color",
|
||||
bezelColor["disabled"], CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
bezelColor["disabled"], [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), [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
[@"content-inset", CGInsetMake(8.0, 14.0, 6.0, 14.0), [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), [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
[@"bezel-inset", CGInsetMake(0.0, 1.0, 0.0, 1.0), [CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
|
||||
[@"text-color", placeholderColor, CPTextFieldStateRounded | CPTextFieldStatePlaceholder],
|
||||
[@"text-color", regularDisabledTextColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPTextFieldStateRounded | CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"text-color", placeholderColor, [CPTextFieldStateRounded, CPTextFieldStatePlaceholder]],
|
||||
[@"text-color", regularDisabledTextColor, [CPTextFieldStateRounded, CPThemeStateBezeled, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, [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), [CPTextFieldStateRounded, CPThemeStateBezeled]],
|
||||
[@"max-size", CGSizeMake(-1.0, 29.0), [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"], [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], [CPThemeStateNormal, CPThemeStateDisabled]],
|
||||
[@"datepicker-textfield-bezel-color", [CPColor clearColor], [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], [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]],
|
||||
|
||||
[@"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], [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], [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 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], [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], 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], [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], 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], [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]],
|
||||
|
||||
[@"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), [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), [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"], [CPThemeStateBezeled, CPThemeStateHighlighted]],
|
||||
[@"bezel-color", bezelColor["disabled"], [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, [CPThemeStateBordered, CPThemeStateHovered]],
|
||||
[@"bezel-color", arrowImageHiglighted, [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, [CPThemeStateBordered, CPThemeStateHovered]],
|
||||
[@"bezel-color", [bezelColor colorWithAlphaComponent:0], [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"bezel-color", bezelHighlightedColor, [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), [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["@"], [CPThemeStateBezeled, CPComboBoxStateButtonBordered]],
|
||||
[@"bezel-color", bezelFocusedColor, [CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateEditing]],
|
||||
[@"bezel-color", bezelColor["disabled"], [CPThemeStateBezeled, CPComboBoxStateButtonBordered, CPThemeStateDisabled]],
|
||||
|
||||
[@"bezel-color", bezelNoBorderColor["@"], CPThemeStateBezeled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, CPThemeStateBezeled | CPThemeStateEditing],
|
||||
[@"bezel-color", bezelNoBorderColor["disabled"], CPThemeStateBezeled | CPThemeStateDisabled],
|
||||
[@"bezel-color", bezelNoBorderFocusedColor, [CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
[@"bezel-color", bezelNoBorderColor["disabled"], [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), [CPThemeStateBezeled, CPThemeStateEditing, CPComboBoxStateButtonBordered]],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 4.0, 3.0, 4.0), [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), [CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
[@"bezel-inset", CGInsetMake(3.0, 5.0, 3.0, 4.0), [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), [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), [CPThemeStateBezeled, CPThemeStateEditing]],
|
||||
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), CPThemeStateBezeled | CPComboBoxStateButtonBordered],
|
||||
[@"popup-button-size", CGSizeMake(21.0, 23.0), [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, [CPThemeStateBordered, CPThemeStateDisabled]],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, [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, [CPThemeStateSelected, CPThemeStateHighlighted]],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, [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, [CPThemeStateSelected, CPThemeStateHighlighted]],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, [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, [CPButtonStateMixed, CPThemeStateHighlighted]],
|
||||
[@"image", mixedDisabledImage, [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, [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, [CPThemeStateHighlighted, CPThemeStateSelected]],
|
||||
|
||||
[@"divider-bezel-color", dividerBezelColor, CPThemeStateNormal],
|
||||
[@"divider-bezel-color", inactiveDividerBezelColor, CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"divider-bezel-color", inactiveHighlightedDividerBezelColor, [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, [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, [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, [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, [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, [CPThemeStateDisabled, CPThemeStateSelected]],
|
||||
[@"text-shadow-color", regularTextShadowColor],
|
||||
[@"text-shadow-color", regularDisabledTextShadowColor, CPThemeStateDisabled],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, CPThemeStateDisabled | CPThemeStateSelected],
|
||||
[@"text-shadow-color", defaultDisabledTextShadowColor, [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), [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, [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, [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, [CPThemeStateCircular, CPThemeStateHighlighted]],
|
||||
[@"knob-color", knobDisabledColor, [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, [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"], [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]],
|
||||
[@"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"], [CPThemeStateBordered, CPThemeStateHighlighted]],
|
||||
|
||||
[@"bezel-color", bezelColor["disabled"], CPThemeStateBordered | CPThemeStateDisabled]
|
||||
[@"bezel-color", bezelColor["disabled"], [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, [CPThemeStateSelected, CPThemeStateHighlighted]],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, [CPThemeStateSelected, CPThemeStateDisabled]],
|
||||
[@"image", mixedImage, CPButtonStateMixed],
|
||||
[@"image", mixedHighlightedImage, CPButtonStateMixed | CPThemeStateHighlighted],
|
||||
[@"image", mixedDisabledImage, CPButtonStateMixed | CPThemeStateDisabled]
|
||||
[@"image", mixedHighlightedImage, [CPButtonStateMixed, CPThemeStateHighlighted]],
|
||||
[@"image", mixedDisabledImage, [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, [CPThemeStateSelected, CPThemeStateHighlighted]],
|
||||
[@"image", imageHighlighted, CPThemeStateHighlighted],
|
||||
[@"image", imageDisabled, CPThemeStateDisabled],
|
||||
[@"image", imageSelectedDisabled, CPThemeStateSelected | CPThemeStateDisabled]
|
||||
[@"image", imageSelectedDisabled, [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:[CPThemeStateTableDataView, CPThemeStateSelectedDataView]],
|
||||
contentInsetNormal = [dataView valueForThemeAttribute:@"content-inset" inState:CPThemeStateTableDataView],
|
||||
contentInsetSelected = [dataView valueForThemeAttribute:@"content-inset" inState:CPThemeStateTableDataView | CPThemeStateSelectedDataView];
|
||||
contentInsetSelected = [dataView valueForThemeAttribute:@"content-inset" inState:[CPThemeStateTableDataView, CPThemeStateSelectedDataView]];
|
||||
|
||||
var mergedString = contentArray.join("\n");
|
||||
|
||||
|
||||
@@ -172,7 +172,10 @@ CFHTTPRequest.prototype.responseXML = function()
|
||||
{
|
||||
var responseXML = this._nativeRequest.responseXML;
|
||||
|
||||
if (responseXML && (NativeRequest === window.XMLHttpRequest))
|
||||
// Internet Explorer will return a non-null but empty request.responseXML if the response
|
||||
// content type wasn't "text/html", so also check that responseXML.documentRoot is set.
|
||||
// Otherwise fall back to regular parsing.
|
||||
if (responseXML && (NativeRequest === window.XMLHttpRequest) && responseXML.documentRoot)
|
||||
return responseXML;
|
||||
|
||||
return parseXML(this.responseText());
|
||||
|
||||
@@ -320,8 +320,8 @@ var XML_XML = "xml",
|
||||
#define IS_WHITESPACE(anXMLNode) (NODE_TYPE(anXMLNode) === 8 || NODE_TYPE(anXMLNode) === 3)
|
||||
#define IS_DOCUMENTTYPE(anXMLNode) (NODE_TYPE(anXMLNode) === 10)
|
||||
|
||||
#define PLIST_NEXT_SIBLING(anXMLNode) while ((anXMLNode = NEXT_SIBLING(anXMLNode)) && IS_WHITESPACE(anXMLNode)) ;
|
||||
#define PLIST_FIRST_CHILD(anXMLNode) anXMLNode = FIRST_CHILD(anXMLNode); if (anXMLNode !== NULL && IS_WHITESPACE(anXMLNode)) PLIST_NEXT_SIBLING(anXMLNode)
|
||||
#define PLIST_NEXT_SIBLING(anXMLNode) while ((anXMLNode = NEXT_SIBLING(anXMLNode)) && IS_WHITESPACE(anXMLNode));
|
||||
#define PLIST_FIRST_CHILD(anXMLNode) { anXMLNode = FIRST_CHILD(anXMLNode); if (anXMLNode !== NULL && IS_WHITESPACE(anXMLNode)) PLIST_NEXT_SIBLING(anXMLNode) }
|
||||
|
||||
var textContent = function(nodes)
|
||||
{
|
||||
|
||||
@@ -132,6 +132,16 @@
|
||||
[self assert:CPMixedState equals:[button state] message:@"Mixed state is allowed, state should be CPMixedState"];
|
||||
}
|
||||
|
||||
- (void)testThemeStateWhenSettingObjectValue
|
||||
{
|
||||
[button unsetThemeState:[button themeState]];
|
||||
[button setObjectValue:CPOnState];
|
||||
[self assert:String(CPThemeStateSelected) equals:String([button themeState]) message:@"object should be in the selected themestate"];
|
||||
|
||||
[button setObjectValue:CPOffState];
|
||||
[self assert:String(CPThemeStateNormal) equals:String([button themeState]) message:@"object should be in the normal themestate"];
|
||||
}
|
||||
|
||||
- (void)testThemeAttributes
|
||||
{
|
||||
var attributes = [CPButton themeAttributes];
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
@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."];
|
||||
|
||||
var themeState6 = CPThemeState('a')
|
||||
var themeState7 = CPThemeState('a', 'b')
|
||||
[self assertTrue:(String(CPThemeState(themeState6, themeState7)) === 'a+b') message:"Creating a new ThemeState where the same state repeats itself does not result in the state being in the new themestate twice"];
|
||||
}
|
||||
|
||||
- (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,20 +42,83 @@
|
||||
[self assert:undefined same:[_CPDisplayServer run]];
|
||||
}
|
||||
|
||||
- (void)testThemeState
|
||||
- (void)testHasThemeState
|
||||
{
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateNormal] message:@"CPView should initialy have CPThemeStateNormal"];
|
||||
[self assertFalse:[view hasThemeState:CPThemeStateDisabled] message:@"view should be disabled"];
|
||||
[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 assertTrue:[view hasThemeState:[CPThemeStateBordered, CPThemeStateDisabled]] message:@"hasThemeState works with an array argument"];
|
||||
[self assertFalse:[view hasThemeState:CPThemeState(CPThemeStateNormal)] message:@"CPView should not be in CPThemeStateNormal"];
|
||||
}
|
||||
|
||||
- (void)testSetThemeState
|
||||
{
|
||||
[self assert:String(CPThemeStateNormal) equals:String([view themeState]) message:@"CPView should initialy have CPThemeStateNormal"];
|
||||
|
||||
[view setThemeState:CPThemeStateDisabled];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateDisabled] message:@"The view should be CPThemeStateDisabled"];
|
||||
[self assert:String(CPThemeStateDisabled) equals:String([view themeState]) message:@"The view should be CPThemeStateDisabled"];
|
||||
|
||||
[view setThemeState:CPThemeStateHighlighted];
|
||||
[self assertTrue:[view hasThemeState:CPThemeStateHighlighted] message:@"Theme state should be CPThemeStateHighlighted"];
|
||||
[self assert:String(CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)) equals:String([view themeState]) message:@"Theme state should be CPThemeStateHighlighted and CPThemeStateDisabled"];
|
||||
|
||||
[view setThemeState:CPThemeStateNormal | CPThemeStateHighlighted];
|
||||
[view unsetThemeState:[view themeState]];
|
||||
[view setThemeState:CPThemeState(CPThemeStateNormal, CPThemeStateHighlighted)];
|
||||
[self assertFalse:[view hasThemeState:CPThemeStateNormal] message:@"CPThemeStateNormal cannot exist as part of a compound state"];
|
||||
[self assert:String([view themeState]) equals:String(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 assert:String(CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted)) equals:String([view themeState]) message:@"The view should be in the combined state of CPThemeStateDisabled and CPThemeStateHighlighted"];
|
||||
|
||||
[view unsetThemeState:[view themeState]];
|
||||
[view setThemeState:[CPThemeStateSelected, CPThemeStateDisabled]];
|
||||
[self assert:String(CPThemeState(CPThemeStateDisabled, CPThemeStateSelected)) equals:String([view themeState]) message:@"setThemeState works with array argument"];
|
||||
}
|
||||
|
||||
- (void)testUnsetThemeState
|
||||
{
|
||||
[self assert:String(CPThemeStateNormal) equals:String([view themeState]) message:@"CPView should initialy have CPThemeStateNormal"];
|
||||
[view unsetThemeState:CPThemeStateNormal];
|
||||
[self assert:String(CPThemeStateNormal) equals:String([view themeState]) message:@"CPView always be in CPThemeStateNormal even if you try to unset it"];
|
||||
|
||||
[view setThemeState:CPThemeStateDisabled];
|
||||
[view unsetThemeState:CPThemeStateDisabled];
|
||||
[self assert:String(CPThemeStateNormal) equals:String([view themeState]) 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 assert:String(CPThemeStateHighlighted) equals:String([view themeState]) 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 assert:String(CPThemeStateNormal) equals:String([view themeState]) message:@"CPView should be able to unset a combined theme state"];
|
||||
|
||||
[view setThemeState:CPThemeState(CPThemeStateDisabled, CPThemeStateHighlighted, CPThemeStateBordered)];
|
||||
[view unsetThemeState:[CPThemeStateBordered, CPThemeStateHighlighted]];
|
||||
[self assert:String(CPThemeStateDisabled) equals:String([view themeState]) message:@"unsetThemeState works with array argument"];
|
||||
|
||||
[view setThemeState:CPThemeStateDisabled];
|
||||
[view unsetThemeState:[CPThemeStateDisabled, CPThemeStateHighlighted]];
|
||||
[self assert:String(CPThemeStateNormal) equals:String([view themeState]) message:@"CPView should be able to unset a combined theme state that has more theme states than the view currently has"];
|
||||
|
||||
[view setThemeState:CPThemeState(CPThemeStateDisabled, CPThemeStateBordered)];
|
||||
var returnValue = [view unsetThemeState:[CPThemeStateDisabled, CPThemeStateHighlighted]];
|
||||
[self assert:String(CPThemeStateBordered) equals:String([view themeState]) message:@"CPView should be able to unset a combined theme state that has not entirely overlapping themestates"];
|
||||
[self assertTrue:returnValue message:@"When unsetThemeState successfully unsets anything, it return YES"];
|
||||
|
||||
[view setThemeState:CPThemeState(CPThemeStateDisabled, CPThemeStateBordered)];
|
||||
var returnValue = [view unsetThemeState:[CPThemeStateSelected, CPThemeStateHighlighted]];
|
||||
[self assert:String(CPThemeState(CPThemeStateDisabled, CPThemeStateBordered)) equals:String([view themeState]) message:@"CPView not unset any theme states it does not have"];
|
||||
[self assertFalse:returnValue message:@"When unsetThemeState doesn't unset anything, it returns NO"];
|
||||
|
||||
[view setThemeState:CPThemeState(CPThemeStateDisabled, CPThemeStateBordered)];
|
||||
var returnValue = [view unsetThemeState:null];
|
||||
[self assert:String(CPThemeState(CPThemeStateDisabled, CPThemeStateBordered)) equals:String([view themeState]) message:@"Trying to unset a null themestate does not change the current themestate of the view"];
|
||||
[self assertFalse:returnValue message:@"Trying to unset a null themestate returns false"];
|
||||
}
|
||||
|
||||
- (void)testThemeAttributes
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
[self setText:value];
|
||||
}
|
||||
|
||||
- (void)setThemeState:(CPThemeState)state
|
||||
- (void)setThemeState:(ThemeState)state
|
||||
{
|
||||
if (state === CPThemeStateSelectedDataView)
|
||||
{
|
||||
@@ -55,7 +55,7 @@
|
||||
[super setThemeState:state];
|
||||
}
|
||||
|
||||
- (void)unsetThemeState:(CPThemeState)state
|
||||
- (void)unsetThemeState:(ThemeState)state
|
||||
{
|
||||
if (state === CPThemeStateSelectedDataView)
|
||||
{
|
||||
|
||||
@@ -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];
|
||||
}
|
||||
|
||||
|
||||
@@ -25,4 +25,57 @@ var FILE = require("file"),
|
||||
[self assert:[[CPDate alloc] initWithString:"2012-01-01 10:00:00 +0100"] equals:date];
|
||||
}
|
||||
|
||||
- (void)testPropertyListFromXMLShouldHandleEmptyXMLGracefully {
|
||||
// rhino can't parse empty XML documents
|
||||
if (system.engine !== "rhino") {
|
||||
var XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">",
|
||||
object = CFPropertyList.propertyListFromXML(XML);
|
||||
|
||||
[self assert:object equals:null];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)testPropertyListFromXMLShouldHandleEmptierXMLGracefully {
|
||||
// rhino can't parse empty XML documents
|
||||
if (system.engine !== "rhino") {
|
||||
var XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
|
||||
object = CFPropertyList.propertyListFromXML(XML);
|
||||
|
||||
[self assert:object equals:null];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)testPropertyListFromXMLShouldHandleEmptiestXMLGracefully {
|
||||
// rhino can't parse empty XML documents
|
||||
if (system.engine !== "rhino") {
|
||||
var XML = "",
|
||||
object = CFPropertyList.propertyListFromXML(XML);
|
||||
|
||||
[self assert:object equals:null];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)testPropertyListFromXMLShouldParseNiceAndCleanXML {
|
||||
var XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"><plist version=\"1.0\"><dict><key>Main cib file base name</key><string>MainMenu.cib</string><key>CPBundleName</key><string>CopyAndPaste</string><key>CPBundleVersion</key><string>1.0</string><key>CPHumanReadableCopyright</key><string>Copyright \u00a9 2013, SlevenBits, Ltd. All rights reserved.</string></dict></plist>",
|
||||
object = CFPropertyList.propertyListFromXML(XML);
|
||||
|
||||
[self assert:[object valueForKey:"Main cib file base name"] equals:"MainMenu.cib"];
|
||||
[self assert:[object valueForKey:"CPBundleName"] equals:"CopyAndPaste"];
|
||||
[self assert:[object valueForKey:"CPBundleVersion"] equals:"1.0"];
|
||||
[self assert:[object valueForKey:"CPHumanReadableCopyright"] equals:"Copyright \u00a9 2013, SlevenBits, Ltd. All rights reserved."];
|
||||
[self assert:[object count] equals:4];
|
||||
}
|
||||
|
||||
- (void)testPropertyListFromXMLShouldIgnoreWhiteSpace{
|
||||
var XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!--Some really fab XML coming here--> <!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\"> <!--Get ready, this will be great--> \n<plist version=\"1.0\"> \n<dict>\n\t<key>Main cib file base name</key>\n\t<string>MainMenu.cib</string>\n\t <key>CPBundleName</key>\n\t<string>CopyAndPaste</string>\n <key>CPBundleVersion</key>\n <string>1.0</string>\n <key>CPHumanReadableCopyright</key>\n <string>Copyright \u00a9 2013, SlevenBits, Ltd. All rights reserved.</string>\n</dict>\n</plist>\n",
|
||||
// feed in preparsed XML to ensure we preserve whitespace for purposes of this test
|
||||
object = CFPropertyList.propertyListFromXML(new window.DOMParser().parseFromString(XML, "text/xml"));
|
||||
|
||||
[self assert:[object valueForKey:"Main cib file base name"] equals:"MainMenu.cib"];
|
||||
[self assert:[object valueForKey:"CPBundleName"] equals:"CopyAndPaste"];
|
||||
[self assert:[object valueForKey:"CPBundleVersion"] equals:"1.0"];
|
||||
[self assert:[object valueForKey:"CPHumanReadableCopyright"] equals:"Copyright \u00a9 2013, SlevenBits, Ltd. All rights reserved."];
|
||||
[self assert:[object count] equals:4];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
+102
-108
@@ -116,6 +116,7 @@ div.qindex, div.navtab {
|
||||
div.qindex, div.navpath {
|
||||
width: 100%;
|
||||
line-height: 140%;
|
||||
background: white;
|
||||
}
|
||||
|
||||
div.qindex+table {
|
||||
@@ -175,7 +176,11 @@ a.elRef {
|
||||
}
|
||||
|
||||
a.code {
|
||||
color: #4765A1;
|
||||
color: #8AACE5;
|
||||
}
|
||||
|
||||
a.code:visited {
|
||||
color: #8AACE5;
|
||||
}
|
||||
|
||||
a.codeRef {
|
||||
@@ -188,24 +193,33 @@ dl.el {
|
||||
margin-left: -1cm;
|
||||
}
|
||||
|
||||
.fragment {
|
||||
margin-top: 20px;
|
||||
background-color: #27292C;
|
||||
width: 100%;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.fragment .line:first-child {
|
||||
padding-top: 20px;
|
||||
}
|
||||
.fragment .line {
|
||||
font-family: Consolas, Courier, monospace, fixed;
|
||||
white-space: pre-wrap; /* css-3 */
|
||||
white-space: -moz-pre-wrap !important; /* Mozilla, since 1999 */
|
||||
white-space: -pre-wrap; /* Opera 4-6 */
|
||||
white-space: -o-pre-wrap; /* Opera 7 */
|
||||
word-wrap: break-word; /* Internet Explorer 5.5+ */
|
||||
font-size: 11px;
|
||||
margin-bottom: 3px;
|
||||
color: #d4d4d4;
|
||||
}
|
||||
|
||||
.fragment .lineno {
|
||||
color: #d4d4d4;
|
||||
color: #555;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.fragment .lineno a {
|
||||
color: #d4d4d4;
|
||||
color: #777;
|
||||
}
|
||||
|
||||
pre.fragment {
|
||||
@@ -221,21 +235,14 @@ pre.fragment {
|
||||
}
|
||||
|
||||
div.ah {
|
||||
background-color: black;
|
||||
background-color: #333;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
margin-bottom: 3px;
|
||||
margin-top: 3px;
|
||||
padding: 0.2em;
|
||||
border: solid thin #333;
|
||||
border-radius: 0.5em;
|
||||
-webkit-border-radius: .5em;
|
||||
-moz-border-radius: .5em;
|
||||
box-shadow: 2px 2px 3px #999;
|
||||
-webkit-box-shadow: 2px 2px 3px #999;
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
||||
background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
|
||||
background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000);
|
||||
background-color: #F6F6F6;
|
||||
}
|
||||
|
||||
div.groupHeader {
|
||||
@@ -252,8 +259,8 @@ div.groupText {
|
||||
|
||||
body {
|
||||
background-color: white;
|
||||
color: black;
|
||||
margin: 0;
|
||||
color: #333;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
div.contents {
|
||||
@@ -301,7 +308,7 @@ table tr.memlist > td {
|
||||
tr.memlist td {
|
||||
font-family: Consolas, "Lucida Console", Courier, monospace;
|
||||
padding: .25em 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
border-bottom: 1px solid #F6F6F6;
|
||||
}
|
||||
|
||||
/* Don't show the [static] column in full member list */
|
||||
@@ -340,16 +347,18 @@ address.footer {
|
||||
img.footer {
|
||||
border: 0px;
|
||||
vertical-align: middle;
|
||||
height: 15px;
|
||||
margin-top: -5px;
|
||||
}
|
||||
|
||||
/* @group Code Colorization */
|
||||
|
||||
span.keyword {
|
||||
color: #008000
|
||||
color: #D67C7B
|
||||
}
|
||||
|
||||
span.keywordtype {
|
||||
color: #604020
|
||||
color: #C0A7C6
|
||||
}
|
||||
|
||||
span.keywordflow {
|
||||
@@ -357,7 +366,7 @@ span.keywordflow {
|
||||
}
|
||||
|
||||
span.comment {
|
||||
color: #A085E4
|
||||
color: #6A6C73
|
||||
}
|
||||
|
||||
span.preprocessor {
|
||||
@@ -365,7 +374,7 @@ span.preprocessor {
|
||||
}
|
||||
|
||||
span.stringliteral {
|
||||
color: #002080
|
||||
color: #C2C67F;
|
||||
}
|
||||
|
||||
span.charliteral {
|
||||
@@ -427,7 +436,7 @@ th.dirtab {
|
||||
hr {
|
||||
height: 0px;
|
||||
border: none;
|
||||
border-top: 2px solid #ddd;
|
||||
border-top: 1px solid #ddd;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
@@ -458,7 +467,7 @@ table.memberdecls {
|
||||
}
|
||||
|
||||
.memItemLeft, .memItemRight, .memTemplParams {
|
||||
border-top: 1px solid #f3f3f3;
|
||||
border-top: 1px solid #F3F3F3;
|
||||
}
|
||||
|
||||
.memItemLeft, .memTemplItemLeft {
|
||||
@@ -513,50 +522,27 @@ table.memberdecls {
|
||||
}
|
||||
|
||||
.memproto, dl.reflist dt {
|
||||
border-top: 1px solid #BDBDBD;
|
||||
border-left: 1px solid #BDBDBD;
|
||||
border-right: 1px solid #BDBDBD;
|
||||
padding: 6px 0px 6px 0px;
|
||||
color: #333;
|
||||
font-weight: bold;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
||||
/* opera specific markup */
|
||||
box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
|
||||
border-top-right-radius: 8px;
|
||||
border-top-left-radius: 8px;
|
||||
/* firefox specific markup */
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 1px 1px 5px;
|
||||
-moz-border-radius-topright: 3px;
|
||||
-moz-border-radius-topleft: 3px;
|
||||
/* webkit specific markup */
|
||||
-webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.15);
|
||||
-webkit-border-top-right-radius: 3px;
|
||||
-webkit-border-top-left-radius: 3px;
|
||||
background-color: #E2E2E2;
|
||||
font-weight: normal;
|
||||
background-color: #F6F6F6;
|
||||
padding-left: 9px;
|
||||
}
|
||||
|
||||
.memdoc > p {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.memdoc > p:last-child {
|
||||
color: #AAAAAA;
|
||||
font-size: 80%;
|
||||
}
|
||||
.memdoc, dl.reflist dd {
|
||||
border-bottom: 1px solid #BDBDBD;
|
||||
border-left: 1px solid #BDBDBD;
|
||||
border-right: 1px solid #BDBDBD;
|
||||
border-bottom: 1px solid #F6F6F6;
|
||||
border-left: 1px solid #F6F6F6;
|
||||
border-right: 1px solid #F6F6F6;
|
||||
background-color: white;
|
||||
border-top-width: 0;
|
||||
/* opera specific markup */
|
||||
border-bottom-left-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.15);
|
||||
/* firefox specific markup */
|
||||
-moz-border-radius-bottomleft: 3px;
|
||||
-moz-border-radius-bottomright: 3px;
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 1px 1px 5px;
|
||||
/* webkit specific markup */
|
||||
-webkit-border-bottom-left-radius: 3px;
|
||||
-webkit-border-bottom-right-radius: 3px;
|
||||
-webkit-box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.15);
|
||||
padding: .8em 12px 0 12px;
|
||||
}
|
||||
|
||||
@@ -595,6 +581,15 @@ dl.reflist dt {
|
||||
color: #602020;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.params .paramname {
|
||||
color: #602020 !important;
|
||||
white-space: nowrap;
|
||||
text-align: right;
|
||||
font-family: Consolas, "Lucida Console", Courier, monospace;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.paramname em {
|
||||
font-style: normal;
|
||||
}
|
||||
@@ -751,12 +746,6 @@ table.fieldtable {
|
||||
margin-bottom: 10px;
|
||||
border: 1px solid #A9B9D8;
|
||||
border-spacing: 0px;
|
||||
-moz-border-radius: 4px;
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
-moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
|
||||
-webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
|
||||
box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.fieldtable td, .fieldtable th {
|
||||
@@ -788,12 +777,6 @@ table.fieldtable {
|
||||
padding-bottom: 4px;
|
||||
padding-top: 5px;
|
||||
text-align:left;
|
||||
-moz-border-radius-topleft: 4px;
|
||||
-moz-border-radius-topright: 4px;
|
||||
-webkit-border-top-left-radius: 4px;
|
||||
-webkit-border-top-right-radius: 4px;
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
border-bottom: 1px solid #A9B9D8;
|
||||
}
|
||||
|
||||
@@ -811,12 +794,11 @@ table.fieldtable {
|
||||
.navpath ul
|
||||
{
|
||||
font-size: 11px;
|
||||
background: -moz-linear-gradient(-90deg, whiteSmoke, #CCC);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(whiteSmoke), to(#CCC));
|
||||
background-color: white;
|
||||
height:30px;
|
||||
line-height:30px;
|
||||
color:#333;
|
||||
border:solid 1px #CCC;
|
||||
border:solid 1px #f3f3f3;
|
||||
overflow:hidden;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
@@ -824,7 +806,7 @@ table.fieldtable {
|
||||
|
||||
.navpath li
|
||||
{
|
||||
list-style-type:none;
|
||||
list-style-type: none;
|
||||
float:left;
|
||||
padding-left:10px;
|
||||
padding-right: 15px;
|
||||
@@ -843,6 +825,7 @@ table.fieldtable {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
|
||||
.navpath li.navelem a:hover
|
||||
{
|
||||
color:#6985BC;
|
||||
@@ -858,7 +841,7 @@ table.fieldtable {
|
||||
background-image:none;
|
||||
background-repeat:no-repeat;
|
||||
background-position:right;
|
||||
color:#374E7C;
|
||||
color:#aaa;
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
@@ -902,17 +885,14 @@ div.header
|
||||
{
|
||||
background-color: #F9FAFC;
|
||||
margin: 0px;
|
||||
border-bottom: 1px solid #C5CFE5;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
}
|
||||
|
||||
div.headertitle
|
||||
{
|
||||
padding: 10px 5px 10px 20px;
|
||||
background: #333;
|
||||
background: -moz-linear-gradient(-90deg, #444, #333);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#444), to(#333));
|
||||
color: white;
|
||||
text-shadow: -1px -1px black;
|
||||
background-color: #f6f6f6;
|
||||
color: #333;
|
||||
min-height: 36px;
|
||||
}
|
||||
|
||||
@@ -977,16 +957,24 @@ dl.bug
|
||||
border-collapse: separate;
|
||||
}
|
||||
|
||||
#projectlogo img
|
||||
#projectlogo
|
||||
{
|
||||
border: 0px none;
|
||||
max-height: 55px;
|
||||
padding-left: 5px;
|
||||
margin-top: 8px;
|
||||
display: block;
|
||||
float: right;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#projectlogo img
|
||||
{
|
||||
max-height: 40px;
|
||||
}
|
||||
|
||||
#projectname
|
||||
{
|
||||
font: 300% Tahoma, Arial,sans-serif;
|
||||
font: 200% Tahoma, Arial,sans-serif;
|
||||
margin: 0px;
|
||||
padding: 2px 0px;
|
||||
}
|
||||
@@ -1010,13 +998,9 @@ dl.bug
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #CCC;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
text-shadow: -1px -1px black;
|
||||
background: #485D77;
|
||||
background: -moz-linear-gradient(-90deg, #485D77, #252D38);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#485D77), to(#252D38));
|
||||
background: #FA7622;
|
||||
}
|
||||
|
||||
.image
|
||||
@@ -1093,9 +1077,8 @@ dl.citelist dd {
|
||||
|
||||
/* ADDITIONS */
|
||||
.tabs, .tabs2, .tabs3 {
|
||||
background: -moz-linear-gradient(-90deg, #fff, #eee);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#eee));
|
||||
border-bottom: 1px solid #ccc;
|
||||
background: #F6F6F6 !important;
|
||||
border-bottom: 1px solid #eaeaea;
|
||||
width: 100%;
|
||||
z-index: 101;
|
||||
font-size: 100%;
|
||||
@@ -1128,17 +1111,15 @@ dl.citelist dd {
|
||||
display: block;
|
||||
padding: 0 20px;
|
||||
font-weight: bold;
|
||||
text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
|
||||
text-decoration: none;
|
||||
outline: none;
|
||||
background: none;
|
||||
color: #444;
|
||||
border-right: 1px solid #ccc;
|
||||
border-right: 1px solid #eaeaea;
|
||||
}
|
||||
|
||||
.tablist a:hover {
|
||||
background: inherit;
|
||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
|
||||
text-decoration: none;
|
||||
text-shadow: none;
|
||||
color: gray;
|
||||
@@ -1164,10 +1145,9 @@ dl.citelist dd {
|
||||
}
|
||||
|
||||
.tablist li.current a {
|
||||
background: -moz-linear-gradient(-90deg, #eee, #fff);
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#fff));
|
||||
background: #ddd;
|
||||
color: #444;
|
||||
text-shadow: 0px 1px 1px #f2f2f2;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
.tabs2 li{
|
||||
@@ -1191,7 +1171,7 @@ dl.citelist dd {
|
||||
#nav-tree li {
|
||||
white-space:nowrap;
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
#nav-tree .plus {
|
||||
@@ -1199,17 +1179,23 @@ dl.citelist dd {
|
||||
}
|
||||
|
||||
#nav-tree .selected {
|
||||
background: -moz-linear-gradient(-90deg, #62B9ED, #308CD9) !important;
|
||||
background: -webkit-gradient(linear, left top, left bottom, from(#62B9ED), to(#308CD9)) !important;
|
||||
border-top: 1px solid #308CD9;
|
||||
text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
|
||||
background-color: #F87631 !important;
|
||||
border-top: none;
|
||||
background-image: none;
|
||||
}
|
||||
|
||||
#nav-tree img {
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
border:0px;
|
||||
vertical-align: middle;
|
||||
-webkit-filter: grayscale(1);
|
||||
width: 8px;
|
||||
height: 11px;
|
||||
margin-top: -4px;
|
||||
}
|
||||
|
||||
#nav-tree .selected img {
|
||||
-webkit-filter: grayscale(0);
|
||||
}
|
||||
|
||||
#nav-tree a {
|
||||
@@ -1233,7 +1219,9 @@ dl.citelist dd {
|
||||
text-decoration:none;
|
||||
padding:2px;
|
||||
margin:0px;
|
||||
color:#fff;
|
||||
color: white;
|
||||
text-shadow: none;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#nav-tree .children_ul {
|
||||
@@ -1243,17 +1231,16 @@ dl.citelist dd {
|
||||
|
||||
#nav-tree .item {
|
||||
margin:0px;
|
||||
padding:0px;
|
||||
padding:0px;;
|
||||
}
|
||||
|
||||
#nav-tree {
|
||||
padding: 0px 0px;
|
||||
background: #E8EAEE;
|
||||
background: white;
|
||||
font-size:14px;
|
||||
overflow:auto;
|
||||
padding-right: 0px !important;
|
||||
margin-right: -5px !important;
|
||||
background: #E8EAEE !important;
|
||||
}
|
||||
|
||||
#doc-content {
|
||||
@@ -1280,7 +1267,7 @@ dl.citelist dd {
|
||||
}
|
||||
|
||||
.ui-resizable-e {
|
||||
background: #CCC !important;
|
||||
background: #eaeaea !important;
|
||||
cursor:e-resize;
|
||||
height:100%;
|
||||
right:0;
|
||||
@@ -1314,7 +1301,14 @@ dl.citelist dd {
|
||||
right: 5px;
|
||||
}
|
||||
#nav-sync img {
|
||||
width: 16px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
.mlabels-right {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.groupheader {
|
||||
color: #FA7622;
|
||||
}
|
||||
|
||||
@@ -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