mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-09-21 18:00:43 +00:00
Merge pull request #1934 from Dogild/showcase
Fixed: Aristo showcase is broken because CPDatePicker
This commit is contained in:
@@ -135,10 +135,10 @@ CPEraDatePickerElementFlag = 0x0100;
|
||||
@"clock-text-shadow-color": [CPColor clearColor],
|
||||
@"clock-text-shadow-offset": CGSizeMakeZero(),
|
||||
@"clock-font": [CPNull null],
|
||||
@"second-hand-color": [CPColor clearColor],
|
||||
@"hour-hand-color": [CPColor clearColor],
|
||||
@"middle-hand-color": [CPColor clearColor],
|
||||
@"minute-hand-color": [CPColor clearColor],
|
||||
@"second-hand-image": [CPNull null],
|
||||
@"hour-hand-image": [CPNull null],
|
||||
@"middle-hand-image": [CPNull null],
|
||||
@"minute-hand-image": [CPNull null],
|
||||
@"size-clock": CGSizeMakeZero(),
|
||||
@"second-hand-size": CGSizeMakeZero(),
|
||||
@"hour-hand-size": CGSizeMakeZero(),
|
||||
|
||||
@@ -445,6 +445,9 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
*/
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
if ([_datePicker datePickerStyle] == CPTextFieldAndStepperDatePickerStyle || [_datePicker datePickerStyle] == CPTextFieldDatePickerStyle)
|
||||
return;
|
||||
|
||||
var bounds = [self bounds],
|
||||
dayNames = [self _dayNames],
|
||||
width = CGRectGetWidth(bounds),
|
||||
@@ -753,6 +756,9 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
*/
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
if ([_datePicker datePickerStyle] == CPTextFieldAndStepperDatePickerStyle || [_datePicker datePickerStyle] == CPTextFieldDatePickerStyle)
|
||||
return;
|
||||
|
||||
[super layoutSubviews];
|
||||
|
||||
[self tile];
|
||||
@@ -1133,6 +1139,9 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
*/
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
if ([_datePicker datePickerStyle] == CPTextFieldAndStepperDatePickerStyle || [_datePicker datePickerStyle] == CPTextFieldDatePickerStyle)
|
||||
return;
|
||||
|
||||
var bounds = [self bounds];
|
||||
[_textField sizeToFit];
|
||||
[_textField setFrameOrigin:CGPointMake(bounds.size.width / 2 - [_textField frameSize].width / 2 + [_datePicker valueForThemeAttribute:@"border-width"], bounds.size.height / 2 - [_textField frameSize].height / 2)];
|
||||
@@ -1205,6 +1214,9 @@ var CPShortWeekDayNameArrayEn = [@"Mo", @"Tu", @"We", @"Th", @"Fr", @"Sa", @"Su"
|
||||
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
if ([_datePicker datePickerStyle] == CPTextFieldAndStepperDatePickerStyle || [_datePicker datePickerStyle] == CPTextFieldDatePickerStyle)
|
||||
return;
|
||||
|
||||
if ([_datePicker drawsBackground])
|
||||
[self setBackgroundColor:[_datePicker backgroundColor]];
|
||||
else
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
@class CPDatePicker
|
||||
|
||||
@global CPHourMinuteSecondDatePickerElementFlag
|
||||
@global CPTextFieldAndStepperDatePickerStyle
|
||||
@global CPTextFieldDatePickerStyle
|
||||
|
||||
@implementation _CPDatePickerClock : CPView
|
||||
{
|
||||
@@ -123,6 +125,9 @@
|
||||
*/
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
if ([_datePicker datePickerStyle] == CPTextFieldAndStepperDatePickerStyle || [_datePicker datePickerStyle] == CPTextFieldDatePickerStyle)
|
||||
return;
|
||||
|
||||
[super layoutSubviews];
|
||||
|
||||
var bounds = [self bounds],
|
||||
@@ -131,10 +136,10 @@
|
||||
[dateValue _dateWithTimeZone:[_datePicker timeZone]];
|
||||
|
||||
[self setBackgroundColor:[_datePicker valueForThemeAttribute:@"bezel-color-clock" inState:[_datePicker themeState]]];
|
||||
[_middleHandLayer setBackgroundHandColor:[_datePicker valueForThemeAttribute:@"middle-hand-color" inState:[_datePicker themeState]]];
|
||||
[_hourHandLayer setBackgroundHandColor:[_datePicker valueForThemeAttribute:@"hour-hand-color" inState:[_datePicker themeState]]];
|
||||
[_minuteHandLayer setBackgroundHandColor:[_datePicker valueForThemeAttribute:@"minute-hand-color" inState:[_datePicker themeState]]];
|
||||
[_secondHandLayer setBackgroundHandColor:[_datePicker valueForThemeAttribute:@"second-hand-color" inState:[_datePicker themeState]]];
|
||||
[_middleHandLayer setImage:[_datePicker valueForThemeAttribute:@"middle-hand-image" inState:[_datePicker themeState]]];
|
||||
[_hourHandLayer setImage:[_datePicker valueForThemeAttribute:@"hour-hand-image" inState:[_datePicker themeState]]];
|
||||
[_minuteHandLayer setImage:[_datePicker valueForThemeAttribute:@"minute-hand-image" inState:[_datePicker themeState]]];
|
||||
[_secondHandLayer setImage:[_datePicker valueForThemeAttribute:@"second-hand-image" inState:[_datePicker themeState]]];
|
||||
|
||||
if ([_datePicker _isEnglishFormat])
|
||||
{
|
||||
@@ -156,6 +161,12 @@
|
||||
[_minuteHandLayer setRotationRadians:[self _minutePositionRadianForDate:dateValue]];
|
||||
[_secondHandLayer setRotationRadians:[self _secondPositionRadianForDate:dateValue]];
|
||||
|
||||
[_PMAMTextField setEnabled:_isEnabled];
|
||||
[_hourHandLayer setEnabled:_isEnabled];
|
||||
[_middleHandLayer setEnabled:_isEnabled];
|
||||
[_secondHandLayer setEnabled:_isEnabled];
|
||||
[_minuteHandLayer setEnabled:_isEnabled];
|
||||
|
||||
// Check if we have to display the hand second
|
||||
if (([_datePicker datePickerElements] & CPHourMinuteSecondDatePickerElementFlag) == CPHourMinuteSecondDatePickerElementFlag)
|
||||
[_secondHandLayer setHidden:NO];
|
||||
@@ -200,12 +211,6 @@
|
||||
- (void)setEnabled:(BOOL)aBoolean
|
||||
{
|
||||
_isEnabled = aBoolean;
|
||||
[_PMAMTextField setEnabled:aBoolean];
|
||||
[_hourHandLayer setEnabled:aBoolean];
|
||||
[_middleHandLayer setEnabled:aBoolean];
|
||||
[_secondHandLayer setEnabled:aBoolean];
|
||||
[_minuteHandLayer setEnabled:aBoolean];
|
||||
|
||||
[self setNeedsLayout];
|
||||
}
|
||||
|
||||
@@ -216,6 +221,7 @@
|
||||
{
|
||||
BOOL _isEnabled @accessors(setter=setEnabled:, getter=isEnabled);
|
||||
|
||||
CPImage _image;
|
||||
CALayer _imageLayer;
|
||||
float _rotationRadians;
|
||||
}
|
||||
@@ -258,6 +264,16 @@
|
||||
[_imageLayer setPosition:CGPointMake(CGRectGetMidX(aRect), CGRectGetMidY(aRect))];
|
||||
}
|
||||
|
||||
- (void)setImage:(CPImage)anImage
|
||||
{
|
||||
if (_image == anImage)
|
||||
return;
|
||||
|
||||
_image = anImage;
|
||||
|
||||
[_imageLayer setNeedsDisplay];
|
||||
}
|
||||
|
||||
/*! Set the rotation of the imageLayer
|
||||
@param radians
|
||||
*/
|
||||
@@ -273,15 +289,26 @@
|
||||
1.0, 1.0)];
|
||||
}
|
||||
|
||||
- (void)setBackgroundHandColor:(CPColor)aColor
|
||||
{
|
||||
[_imageLayer setBackgroundColor:aColor];
|
||||
}
|
||||
|
||||
- (void)setEnabled:(BOOL)aBoolean
|
||||
{
|
||||
_isEnabled = aBoolean;
|
||||
[self setNeedsDisplay];
|
||||
[_imageLayer setNeedsDisplay];
|
||||
}
|
||||
|
||||
- (void)imageDidLoad:(CPImage)anImage
|
||||
{
|
||||
[_imageLayer setNeedsDisplay];
|
||||
}
|
||||
|
||||
- (void)drawLayer:(CALayer)aLayer inContext:(CGContext)aContext
|
||||
{
|
||||
var bounds = [aLayer bounds];
|
||||
|
||||
if ([_image loadStatus] != CPImageLoadStatusCompleted)
|
||||
[_image setDelegate:self];
|
||||
else
|
||||
CGContextDrawImage(aContext, bounds, _image);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@@ -676,6 +676,9 @@ var CPZeroKeyCode = 48,
|
||||
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
if ([_datePicker datePickerStyle] == CPClockAndCalendarDatePickerStyle)
|
||||
return;
|
||||
|
||||
[super layoutSubviews];
|
||||
|
||||
var themeState = [_datePicker themeState];
|
||||
|
||||
@@ -1097,7 +1097,7 @@ var themedButtonValues = nil,
|
||||
|
||||
+ (CPDatePicker)themedDatePicker
|
||||
{
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40,140,300,29)],
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40.0, 40.0, 170.0, 29.0)],
|
||||
|
||||
bezelColor = PatternColor(
|
||||
[
|
||||
@@ -1166,6 +1166,7 @@ var themedButtonValues = nil,
|
||||
[@"max-size", CGSizeMake(-1.0, 29.0)]
|
||||
];
|
||||
|
||||
[datePicker setDatePickerStyle:CPTextFieldDatePickerStyle];
|
||||
[self registerThemeValues:themeValues forView:datePicker];
|
||||
|
||||
return datePicker;
|
||||
@@ -1173,7 +1174,7 @@ var themedButtonValues = nil,
|
||||
|
||||
+ (CPDatePicker)themedDatePickerCalendar
|
||||
{
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40,140,300,29)],
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40.0, 140.0, 276.0, 148.0)],
|
||||
|
||||
arrowImageLeft = PatternImage("datepicker-calendar-arrow-left.png", 7.0, 10.0),
|
||||
arrowImageRight = PatternImage("datepicker-calendar-arrow-right.png", 7.0, 10.0),
|
||||
@@ -1183,16 +1184,16 @@ var themedButtonValues = nil,
|
||||
arrowImageRightHighlighted = PatternImage("datepicker-calendar-arrow-right-highlighted.png", 7.0, 10.0),
|
||||
circleImageHighlighted = PatternImage("datepicker-circle-image-highlighted.png", 9.0, 10.0),
|
||||
|
||||
secondHandColor = PatternColor("datepicker-clock-second-hand.png", 89.0, 89.0),
|
||||
minuteHandColor = PatternColor("datepicker-clock-minute-hand.png", 85.0, 85.0),
|
||||
hourHandColor = PatternColor("datepicker-clock-hour-hand.png", 47.0, 47.0),
|
||||
middleHandColor = PatternColor("datepicker-clock-middle-hand.png", 13.0, 13.0),
|
||||
secondHandImage = CPImageInBundle(@"datepicker-clock-second-hand.png", CGSizeMake(89, 89)),
|
||||
minuteHandImage = CPImageInBundle(@"datepicker-clock-minute-hand.png", CGSizeMake(85, 85)),
|
||||
hourHandImage = CPImageInBundle(@"datepicker-clock-hour-hand.png", CGSizeMake(47, 47)),
|
||||
middleHandImage = CPImageInBundle(@"datepicker-clock-middle-hand.png", CGSizeMake(13, 13)),
|
||||
clockImageColor = PatternColor("datepicker-clock.png", 122.0, 123.0),
|
||||
|
||||
secondHandColorDisabled = PatternColor("datepicker-clock-second-hand-disabled.png", 89.0, 89.0),
|
||||
minuteHandColorDisabled = PatternColor("datepicker-clock-minute-hand-disabled.png", 85.0, 85.0),
|
||||
hourHandColorDisabled = PatternColor("datepicker-clock-hour-hand-disabled.png", 47.0, 47.0),
|
||||
middleHandColorDisabled = PatternColor("datepicker-clock-middle-hand-disabled.png", 13.0, 13.0),
|
||||
secondHandImageDisabled = CPImageInBundle(@"datepicker-clock-second-hand-disabled.png", CGSizeMake(89, 89)),
|
||||
minuteHandImageDisabled = CPImageInBundle(@"datepicker-clock-minute-hand-disabled.png", CGSizeMake(85, 85)),
|
||||
hourHandImageDisabled = CPImageInBundle(@"datepicker-clock-hour-hand-disabled.png", CGSizeMake(47, 47)),
|
||||
middleHandImageDisabled = CPImageInBundle(@"datepicker-clock-middle-hand-disabled.png", CGSizeMake(13, 13)),
|
||||
clockImageColorDisabled = PatternColor("datepicker-clock-disabled.png", 122.0, 123.0),
|
||||
|
||||
themeValues =
|
||||
@@ -1286,15 +1287,15 @@ var themedButtonValues = nil,
|
||||
[@"circle-image-highlighted", circleImageHighlighted],
|
||||
[@"arrow-inset", CGInsetMake(9.0, 4.0, 0.0, 0.0)],
|
||||
|
||||
[@"second-hand-color", secondHandColor],
|
||||
[@"hour-hand-color", hourHandColor],
|
||||
[@"middle-hand-color", middleHandColor],
|
||||
[@"minute-hand-color", minuteHandColor],
|
||||
[@"second-hand-image", secondHandImage],
|
||||
[@"hour-hand-image", hourHandImage],
|
||||
[@"middle-hand-image", middleHandImage],
|
||||
[@"minute-hand-image", minuteHandImage],
|
||||
|
||||
[@"second-hand-color", secondHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"hour-hand-color", hourHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"middle-hand-color", middleHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"minute-hand-color", minuteHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"second-hand-image", secondHandImageDisabled, CPThemeStateDisabled],
|
||||
[@"hour-hand-image", hourHandImageDisabled, CPThemeStateDisabled],
|
||||
[@"middle-hand-image", middleHandImageDisabled, CPThemeStateDisabled],
|
||||
[@"minute-hand-image", minuteHandImageDisabled, CPThemeStateDisabled],
|
||||
|
||||
[@"second-hand-size", CGSizeMake(89.0, 89.0)],
|
||||
[@"hour-hand-size", CGSizeMake(47.0, 47.0)],
|
||||
@@ -1312,6 +1313,7 @@ var themedButtonValues = nil,
|
||||
];
|
||||
|
||||
[datePicker setDatePickerStyle:CPClockAndCalendarDatePickerStyle];
|
||||
[datePicker setBackgroundColor:[CPColor whiteColor]];
|
||||
[self registerThemeValues:themeValues forView:datePicker];
|
||||
|
||||
return datePicker;
|
||||
|
||||
@@ -667,7 +667,7 @@ var themedButtonValues = nil,
|
||||
|
||||
+ (CPDatePicker)themedDatePicker
|
||||
{
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40,140,300,29)],
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40.0 ,40.0 ,170.0 ,29.0)],
|
||||
|
||||
bezelColor = PatternColor(
|
||||
"textfield-bezel-square{state}{position}.png",
|
||||
@@ -719,6 +719,7 @@ var themedButtonValues = nil,
|
||||
[@"max-size", CGSizeMake(-1.0, 29.0)]
|
||||
];
|
||||
|
||||
[datePicker setDatePickerStyle:CPTextFieldDatePickerStyle];
|
||||
[self registerThemeValues:themeValues forView:datePicker];
|
||||
|
||||
return datePicker;
|
||||
@@ -726,7 +727,7 @@ var themedButtonValues = nil,
|
||||
|
||||
+ (CPDatePicker)themedDatePickerCalendar
|
||||
{
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40,140,300,29)],
|
||||
var datePicker = [[CPDatePicker alloc] initWithFrame:CGRectMake(40.0, 140.0, 276.0 ,148.0)],
|
||||
|
||||
arrowImageLeft = PatternImage("datepicker-calendar-arrow-left.png", 7.0, 10.0),
|
||||
arrowImageRight = PatternImage("datepicker-calendar-arrow-right.png", 7.0, 10.0),
|
||||
@@ -736,16 +737,16 @@ var themedButtonValues = nil,
|
||||
arrowImageRightHighlighted = PatternImage("datepicker-calendar-arrow-right-highlighted.png", 7.0, 10.0),
|
||||
circleImageHighlighted = PatternImage("datepicker-circle-image-highlighted.png", 9.0, 10.0),
|
||||
|
||||
secondHandColor = PatternColor("datepicker-clock-second-hand.png", 89.0, 89.0),
|
||||
minuteHandColor = PatternColor("datepicker-clock-minute-hand.png", 85.0, 85.0),
|
||||
hourHandColor = PatternColor("datepicker-clock-hour-hand.png", 47.0, 47.0),
|
||||
middleHandColor = PatternColor("datepicker-clock-middle-hand.png", 13.0, 13.0),
|
||||
secondHandImage = CPImageInBundle(@"datepicker-clock-second-hand.png", CGSizeMake(89, 89)),
|
||||
minuteHandImage = CPImageInBundle(@"datepicker-clock-minute-hand.png", CGSizeMake(85, 85)),
|
||||
hourHandImage = CPImageInBundle(@"datepicker-clock-hour-hand.png", CGSizeMake(47, 47)),
|
||||
middleHandImage = CPImageInBundle(@"datepicker-clock-middle-hand.png", CGSizeMake(13, 13)),
|
||||
clockImageColor = PatternColor("datepicker-clock.png", 122.0, 123.0),
|
||||
|
||||
secondHandColorDisabled = PatternColor("datepicker-clock-second-hand-disabled.png", 89.0, 89.0),
|
||||
minuteHandColorDisabled = PatternColor("datepicker-clock-minute-hand-disabled.png", 85.0, 85.0),
|
||||
hourHandColorDisabled = PatternColor("datepicker-clock-hour-hand-disabled.png", 47.0, 47.0),
|
||||
middleHandColorDisabled = PatternColor("datepicker-clock-middle-hand-disabled.png", 13.0, 13.0),
|
||||
secondHandImageDisabled = CPImageInBundle(@"datepicker-clock-second-hand-disabled.png", CGSizeMake(89, 89)),
|
||||
minuteHandImageDisabled = CPImageInBundle(@"datepicker-clock-minute-hand-disabled.png", CGSizeMake(85, 85)),
|
||||
hourHandImageDisabled = CPImageInBundle(@"datepicker-clock-hour-hand-disabled.png", CGSizeMake(47, 47)),
|
||||
middleHandImageDisabled = CPImageInBundle(@"datepicker-clock-middle-hand-disabled.png", CGSizeMake(13, 13)),
|
||||
clockImageColorDisabled = PatternColor("datepicker-clock-disabled.png", 122.0, 123.0),
|
||||
|
||||
themeValues =
|
||||
@@ -839,15 +840,15 @@ var themedButtonValues = nil,
|
||||
[@"circle-image-highlighted", circleImageHighlighted],
|
||||
[@"arrow-inset", CGInsetMake(9.0, 4.0, 0.0, 0.0)],
|
||||
|
||||
[@"second-hand-color", secondHandColor],
|
||||
[@"hour-hand-color", hourHandColor],
|
||||
[@"middle-hand-color", middleHandColor],
|
||||
[@"minute-hand-color", minuteHandColor],
|
||||
[@"second-hand-image", secondHandImage],
|
||||
[@"hour-hand-image", hourHandImage],
|
||||
[@"middle-hand-image", middleHandImage],
|
||||
[@"minute-hand-image", minuteHandImage],
|
||||
|
||||
[@"second-hand-color", secondHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"hour-hand-color", hourHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"middle-hand-color", middleHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"minute-hand-color", minuteHandColorDisabled, CPThemeStateDisabled],
|
||||
[@"second-hand-image", secondHandImageDisabled, CPThemeStateDisabled],
|
||||
[@"hour-hand-image", hourHandImageDisabled, CPThemeStateDisabled],
|
||||
[@"middle-hand-image", middleHandImageDisabled, CPThemeStateDisabled],
|
||||
[@"minute-hand-image", minuteHandImageDisabled, CPThemeStateDisabled],
|
||||
|
||||
[@"second-hand-size", CGSizeMake(89.0, 89.0)],
|
||||
[@"hour-hand-size", CGSizeMake(47.0, 47.0)],
|
||||
@@ -864,6 +865,7 @@ var themedButtonValues = nil,
|
||||
];
|
||||
|
||||
[datePicker setDatePickerStyle:CPClockAndCalendarDatePickerStyle];
|
||||
[datePicker setBackgroundColor:[CPColor whiteColor]];
|
||||
[self registerThemeValues:themeValues forView:datePicker];
|
||||
|
||||
return datePicker;
|
||||
|
||||
Reference in New Issue
Block a user