Mercurial > projects > dstep
diff dstep/foundation/NSDateFormatter.d @ 14:89f3c3ef1fd2
Added the Foundation framework
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 03 Aug 2009 15:23:15 +0200 |
parents | |
children | 19885b43130e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/foundation/NSDateFormatter.d Mon Aug 03 15:23:15 2009 +0200 @@ -0,0 +1,430 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Aug 3, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.foundation.NSDateFormatter; + +import dstep.corefoundation.CFDateFormatter; +import dstep.foundation.NSArray; +import dstep.foundation.NSCalendar; +import dstep.foundation.NSDate; +import dstep.foundation.NSError; +import dstep.foundation.NSFormatter; +import dstep.foundation.NSLocale; +import dstep.foundation.NSMutableDictionary; +import dstep.foundation.NSTimeZone; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc : id; + +alias NSUInteger NSDateFormatterStyle; +alias NSUInteger NSDateFormatterBehavior; + +enum +{ + NSDateFormatterNoStyle = kCFDateFormatterNoStyle, + NSDateFormatterShortStyle = kCFDateFormatterShortStyle, + NSDateFormatterMediumStyle = kCFDateFormatterMediumStyle, + NSDateFormatterLongStyle = kCFDateFormatterLongStyle, + NSDateFormatterFullStyle = kCFDateFormatterFullStyle +} + +enum +{ + NSDateFormatterBehaviorDefault = 0, + NSDateFormatterBehavior10_0 = 1000, + NSDateFormatterBehavior10_4 = 1040 +} + +class NSDateFormatter : NSFormatter +{ + mixin ObjcWrap; + mixin TNSDateFormatterCompatibility; + + Object init () + { + return invokeObjcSelf!(Object, "init"); + } + + this () + { + objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); + id result = Bridge.invokeObjcMethod!(id, "init")(objcObject); + + if (result) + objcObject = ret; + + dObject = this; + } + + bool getObjectValue (id* obj, NSString string, NSRange* rangep, NSError** error) + { + return invokeObjcSelf!(bool, "getObjectValue:forString:range:error:", id*, NSString, NSRange*, NSError**)(obj, string, rangep, error); + } + + NSString stringFromDate (NSDate date) + { + return invokeObjcSelf!(NSString, "stringFromDate:", NSDate)(date); + } + + NSDate dateFromString (NSString string) + { + return invokeObjcSelf!(NSDate, "dateFromString:", NSString)(string); + } + + NSString dateFormat () + { + return invokeObjcSelf!(NSString, "dateFormat"); + } + + uint dateStyle () + { + return invokeObjcSelf!(uint, "dateStyle"); + } + + void setDateStyle (uint style) + { + return invokeObjcSelf!(void, "setDateStyle:", uint)(style); + } + + uint timeStyle () + { + return invokeObjcSelf!(uint, "timeStyle"); + } + + void setTimeStyle (uint style) + { + return invokeObjcSelf!(void, "setTimeStyle:", uint)(style); + } + + NSLocale locale () + { + return invokeObjcSelf!(NSLocale, "locale"); + } + + void setLocale (NSLocale locale) + { + return invokeObjcSelf!(void, "setLocale:", NSLocale)(locale); + } + + bool generatesCalendarDates () + { + return invokeObjcSelf!(bool, "generatesCalendarDates"); + } + + void setGeneratesCalendarDates (bool b) + { + return invokeObjcSelf!(void, "setGeneratesCalendarDates:", bool)(b); + } + + uint formatterBehavior () + { + return invokeObjcSelf!(uint, "formatterBehavior"); + } + + void setFormatterBehavior (uint behavior) + { + return invokeObjcSelf!(void, "setFormatterBehavior:", uint)(behavior); + } + + static uint defaultFormatterBehavior () + { + return invokeObjcSelfClass!(uint, "defaultFormatterBehavior"); + } + + static void setDefaultFormatterBehavior (uint behavior) + { + return invokeObjcSelfClass!(void, "setDefaultFormatterBehavior:", uint)(behavior); + } + + void setDateFormat (NSString string) + { + return invokeObjcSelf!(void, "setDateFormat:", NSString)(string); + } + + NSTimeZone timeZone () + { + return invokeObjcSelf!(NSTimeZone, "timeZone"); + } + + void setTimeZone (NSTimeZone tz) + { + return invokeObjcSelf!(void, "setTimeZone:", NSTimeZone)(tz); + } + + NSCalendar calendar () + { + return invokeObjcSelf!(NSCalendar, "calendar"); + } + + void setCalendar (NSCalendar calendar) + { + return invokeObjcSelf!(void, "setCalendar:", NSCalendar)(calendar); + } + + bool isLenient () + { + return invokeObjcSelf!(bool, "isLenient"); + } + + void setLenient (bool b) + { + return invokeObjcSelf!(void, "setLenient:", bool)(b); + } + + NSDate twoDigitStartDate () + { + return invokeObjcSelf!(NSDate, "twoDigitStartDate"); + } + + void setTwoDigitStartDate (NSDate date) + { + return invokeObjcSelf!(void, "setTwoDigitStartDate:", NSDate)(date); + } + + NSDate defaultDate () + { + return invokeObjcSelf!(NSDate, "defaultDate"); + } + + void setDefaultDate (NSDate date) + { + return invokeObjcSelf!(void, "setDefaultDate:", NSDate)(date); + } + + NSArray eraSymbols () + { + return invokeObjcSelf!(NSArray, "eraSymbols"); + } + + void setEraSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setEraSymbols:", NSArray)(array); + } + + NSArray monthSymbols () + { + return invokeObjcSelf!(NSArray, "monthSymbols"); + } + + void setMonthSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setMonthSymbols:", NSArray)(array); + } + + NSArray shortMonthSymbols () + { + return invokeObjcSelf!(NSArray, "shortMonthSymbols"); + } + + void setShortMonthSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setShortMonthSymbols:", NSArray)(array); + } + + NSArray weekdaySymbols () + { + return invokeObjcSelf!(NSArray, "weekdaySymbols"); + } + + void setWeekdaySymbols (NSArray array) + { + return invokeObjcSelf!(void, "setWeekdaySymbols:", NSArray)(array); + } + + NSArray shortWeekdaySymbols () + { + return invokeObjcSelf!(NSArray, "shortWeekdaySymbols"); + } + + void setShortWeekdaySymbols (NSArray array) + { + return invokeObjcSelf!(void, "setShortWeekdaySymbols:", NSArray)(array); + } + + NSString AMSymbol () + { + return invokeObjcSelf!(NSString, "AMSymbol"); + } + + void setAMSymbol (NSString string) + { + return invokeObjcSelf!(void, "setAMSymbol:", NSString)(string); + } + + NSString PMSymbol () + { + return invokeObjcSelf!(NSString, "PMSymbol"); + } + + void setPMSymbol (NSString string) + { + return invokeObjcSelf!(void, "setPMSymbol:", NSString)(string); + } + + NSArray longEraSymbols () + { + return invokeObjcSelf!(NSArray, "longEraSymbols"); + } + + void setLongEraSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setLongEraSymbols:", NSArray)(array); + } + + NSArray veryShortMonthSymbols () + { + return invokeObjcSelf!(NSArray, "veryShortMonthSymbols"); + } + + void setVeryShortMonthSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setVeryShortMonthSymbols:", NSArray)(array); + } + + NSArray standaloneMonthSymbols () + { + return invokeObjcSelf!(NSArray, "standaloneMonthSymbols"); + } + + void setStandaloneMonthSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setStandaloneMonthSymbols:", NSArray)(array); + } + + NSArray shortStandaloneMonthSymbols () + { + return invokeObjcSelf!(NSArray, "shortStandaloneMonthSymbols"); + } + + void setShortStandaloneMonthSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setShortStandaloneMonthSymbols:", NSArray)(array); + } + + NSArray veryShortStandaloneMonthSymbols () + { + return invokeObjcSelf!(NSArray, "veryShortStandaloneMonthSymbols"); + } + + void setVeryShortStandaloneMonthSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setVeryShortStandaloneMonthSymbols:", NSArray)(array); + } + + NSArray veryShortWeekdaySymbols () + { + return invokeObjcSelf!(NSArray, "veryShortWeekdaySymbols"); + } + + void setVeryShortWeekdaySymbols (NSArray array) + { + return invokeObjcSelf!(void, "setVeryShortWeekdaySymbols:", NSArray)(array); + } + + NSArray standaloneWeekdaySymbols () + { + return invokeObjcSelf!(NSArray, "standaloneWeekdaySymbols"); + } + + void setStandaloneWeekdaySymbols (NSArray array) + { + return invokeObjcSelf!(void, "setStandaloneWeekdaySymbols:", NSArray)(array); + } + + NSArray shortStandaloneWeekdaySymbols () + { + return invokeObjcSelf!(NSArray, "shortStandaloneWeekdaySymbols"); + } + + void setShortStandaloneWeekdaySymbols (NSArray array) + { + return invokeObjcSelf!(void, "setShortStandaloneWeekdaySymbols:", NSArray)(array); + } + + NSArray veryShortStandaloneWeekdaySymbols () + { + return invokeObjcSelf!(NSArray, "veryShortStandaloneWeekdaySymbols"); + } + + void setVeryShortStandaloneWeekdaySymbols (NSArray array) + { + return invokeObjcSelf!(void, "setVeryShortStandaloneWeekdaySymbols:", NSArray)(array); + } + + NSArray quarterSymbols () + { + return invokeObjcSelf!(NSArray, "quarterSymbols"); + } + + void setQuarterSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setQuarterSymbols:", NSArray)(array); + } + + NSArray shortQuarterSymbols () + { + return invokeObjcSelf!(NSArray, "shortQuarterSymbols"); + } + + void setShortQuarterSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setShortQuarterSymbols:", NSArray)(array); + } + + NSArray standaloneQuarterSymbols () + { + return invokeObjcSelf!(NSArray, "standaloneQuarterSymbols"); + } + + void setStandaloneQuarterSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setStandaloneQuarterSymbols:", NSArray)(array); + } + + NSArray shortStandaloneQuarterSymbols () + { + return invokeObjcSelf!(NSArray, "shortStandaloneQuarterSymbols"); + } + + void setShortStandaloneQuarterSymbols (NSArray array) + { + return invokeObjcSelf!(void, "setShortStandaloneQuarterSymbols:", NSArray)(array); + } + + NSDate gregorianStartDate () + { + return invokeObjcSelf!(NSDate, "gregorianStartDate"); + } + + void setGregorianStartDate (NSDate date) + { + return invokeObjcSelf!(void, "setGregorianStartDate:", NSDate)(date); + } +} + +template TNSDateFormatterCompatibility () +{ + Object initWithDateFormat (NSString format, bool flag) + { + return invokeObjcSelf!(Object, "initWithDateFormat:allowNaturalLanguage:", NSString, bool)(format, flag); + } + + this (NSString format, bool flag) + { + objcObject = Bridge.invokeObjcClassMethod!(id, "alloc")(objcClass); + id result = Bridge.invokeObjcMethod!(id, "initWithDateFormat:allowNaturalLanguage:", NSString, bool)(objcObject, format, flag); + + if (result) + objcObject = ret; + + dObject = this; + } + + bool allowsNaturalLanguage () + { + return invokeObjcSelf!(bool, "allowsNaturalLanguage"); + } +} +