Mercurial > projects > dwt-mac
changeset 64:cda53a4e462f
Ported dwt.widgets.DateTime
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Tue, 23 Dec 2008 22:49:58 +0100 |
parents | a3f5118c8b37 |
children | 906145852b63 |
files | dwt/internal/cocoa/OS.d dwt/widgets/DateTime.d |
diffstat | 2 files changed, 25 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/dwt/internal/cocoa/OS.d Tue Dec 23 22:38:33 2008 +0100 +++ b/dwt/internal/cocoa/OS.d Tue Dec 23 22:49:58 2008 +0100 @@ -51,6 +51,7 @@ import dwt.internal.cocoa.NSBitmapImageRep; import dwt.internal.cocoa.NSButtonCell; import dwt.internal.cocoa.NSCell; +import dwt.internal.cocoa.NSDatePicker; import dwt.internal.cocoa.NSEvent; import dwt.internal.cocoa.NSGradient; import dwt.internal.cocoa.NSGraphicsContext; @@ -3042,8 +3043,8 @@ public static const int NSHighlightModeMatrix = 1; public static const int NSHomeFunctionKey = 63273; public static const int NSHorizontalRuler = 0; -public static const int NSHourMinuteDatePickerElementFlag = 12; -public static const int NSHourMinuteSecondDatePickerElementFlag = 14; +alias NSDatePickerElementFlags.NSHourMinuteDatePickerElementFlag NSHourMinuteDatePickerElementFlag; +alias NSDatePickerElementFlags.NSHourMinuteSecondDatePickerElementFlag NSHourMinuteSecondDatePickerElementFlag; public static const int NSIdentityMappingCharacterCollection = 0; public static const int NSIllegalTextMovement = 0; public static const int NSImageAbove = 5; @@ -3488,7 +3489,7 @@ public static const int NSTextBlockTopAlignment = 0; public static const int NSTextBlockWidth = 0; public static const int NSTextCellType = 1; -public static const int NSTextFieldAndStepperDatePickerStyle = 0; +alias NSDatePickerStyle.NSTextFieldAndStepperDatePickerStyle NSTextFieldAndStepperDatePickerStyle; public static const int NSTextFieldDatePickerStyle = 2; public static const int NSTextFieldRoundedBezel = 1; public static const int NSTextFieldSquareBezel = 0; @@ -3618,8 +3619,8 @@ public static const int NSWritingDirectionLeftToRight = 0; public static const int NSWritingDirectionNatural = -1; public static const int NSWritingDirectionRightToLeft = 1; -public static const int NSYearMonthDatePickerElementFlag = 192; -public static const int NSYearMonthDayDatePickerElementFlag = 224; +alias NSDatePickerElementFlags.NSYearMonthDatePickerElementFlag NSYearMonthDatePickerElementFlag; +alias NSDatePickerElementFlags.NSYearMonthDayDatePickerElementFlag NSYearMonthDayDatePickerElementFlag; public static const int kCFStringEncodingUTF8 = 134217984; public static const int NSASCIIStringEncoding = 1; public static const int NSAdminApplicationDirectory = 4;
--- a/dwt/widgets/DateTime.d Tue Dec 23 22:38:33 2008 +0100 +++ b/dwt/widgets/DateTime.d Tue Dec 23 22:49:58 2008 +0100 @@ -7,6 +7,9 @@ * * Contributors: * IBM Corporation - initial API and implementation + * + * Port to the D programming language: + * Jacob Carlborg <doob@me.com> *******************************************************************************/ module dwt.widgets.DateTime; @@ -26,6 +29,12 @@ import dwt.internal.cocoa.OS; import dwt.internal.cocoa.SWTDatePicker; +import tango.text.convert.Format; + +import dwt.internal.c.Carbon; +import dwt.widgets.Composite; +import dwt.widgets.TypedListener; + /** * Instances of this class are selectable user interface * objects that allow the user to enter and modify date @@ -158,10 +167,10 @@ } void createHandle () { - NSDatePicker widget = cast(NSDatePicker)new SWTDatePicker().alloc(); + NSDatePicker widget = cast(NSDatePicker)(new SWTDatePicker()).alloc(); widget.initWithFrame(NSRect()); - int pickerStyle = OS.NSTextFieldAndStepperDatePickerStyle; - int elementFlags = 0; + NSDatePickerStyle pickerStyle = OS.NSTextFieldAndStepperDatePickerStyle; + NSDatePickerElementFlags elementFlags; if ((style & DWT.CALENDAR) !is 0) { pickerStyle = OS.NSClockAndCalendarDatePickerStyle; elementFlags = OS.NSYearMonthDayDatePickerElementFlag; @@ -184,7 +193,7 @@ } NSCalendarDate getCalendarDate () { - NSDate date = ((NSDatePicker)view).dateValue(); + NSDate date = (cast(NSDatePicker)view).dateValue(); return date.dateWithCalendarFormat(null, null); } @@ -239,7 +248,7 @@ */ public int getMinutes () { checkWidget (); - return csat(int)/*64*/getCalendarDate().minuteOfHour(); + return cast(int)/*64*/getCalendarDate().minuteOfHour(); } /** @@ -257,12 +266,12 @@ */ public int getMonth () { checkWidget (); - return csat(int)/*64*/getCalendarDate().monthOfYear() - 1; + return cast(int)/*64*/getCalendarDate().monthOfYear() - 1; } String getNameText() { - return (style & DWT.TIME) !is 0 ? getHours() + ":" + getMinutes() + ":" + getSeconds() - : (getMonth() + 1) + "/" + getDay() + "/" + getYear(); + return (style & DWT.TIME) !is 0 ? Format("{}{}{}{}{}", getHours() , ":" + getMinutes() , ":" , getSeconds()) + : Format("{}{}{}{}{}", (getMonth() + 1) + "/" + getDay() + "/" + getYear()); } /** @@ -330,7 +339,7 @@ postEvent (DWT.Selection); } -void setBackground (float [] color) { +void setBackground (CGFloat [] color) { NSColor nsColor; if (color is null) { return; // TODO reset to OS default @@ -391,7 +400,7 @@ } } -void setForeground (float [] color) { +void setForeground (CGFloat [] color) { NSColor nsColor; if (color is null) { return; // TODO reset to OS default