diff --git a/ChangeLog b/ChangeLog index c4b4a8880..abd1e4cae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-01-22 Stefan Bidigaray + + * Headers/Foundation/NSDateFormatter.h: + * Source/NSDateFormatter.m: Added stub for 10.4 and above methods. + 2011-01-21 Richard Frith-Macdonald * Source/NSPathUtilities.m: Add support for GlobalDefaults directory diff --git a/Headers/Foundation/NSDateFormatter.h b/Headers/Foundation/NSDateFormatter.h index ce796474f..377b6a343 100644 --- a/Headers/Foundation/NSDateFormatter.h +++ b/Headers/Foundation/NSDateFormatter.h @@ -35,6 +35,26 @@ extern "C" { #endif +#if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST) +enum +{ + NSDateFormatterNoStyle = 0, + NSDateFormatterShortStyle = 1, + NSDateFormatterMediumStyle = 2, + NSDateFormatterLongStyle = 3, + NSDateFormatterFullStyle = 4 +}; +typedef NSUInteger NSDateFormatterStyle; + +enum +{ + NSDateFormatterBehaviorDefault = 0, + NSDateFormatterBehavior10_0 = 1000, + NSDateFormatterBehavior10_4 = 1040, +}; +typedef NSUInteger NSDateFormatterBehavior; +#endif + /** *

Class for generating text representations of [NSDate]s and * [NSCalendarDate]s, and for converting strings into instances of these @@ -141,6 +161,108 @@ extern "C" { * specifies strings similar to "June 18, 1991". */ - (NSString *) dateFormat; + +#if OS_API_VERSION(MAC_OS_X_VERSION_10_4, GS_API_LATEST) ++ (NSDateFormatterBehavior) defaultFormatterBehavior; ++ (void) setDefaultFormatterBehavior: (NSDateFormatterBehavior) behavior; + +- (BOOL) allowsNaturalLanguage; +- (NSDateFormatterBehavior) formatterBehavior; +- (void) setFormatterBehavior: (NSDateFormatterBehavior) behavior; +- (BOOL) generatesCalendarDates; +- (void) setGeneratesCalendarDates: (BOOL) flag; +- (BOOL) isLenient; +- (void) setLenient: (BOOL) flag; + +- (NSDate *) dateFromString: (NSString *) string; +- (NSString *) stringFromDate: (NSDate *) date; +- (BOOL) getObjectValue: (out id *) obj + forString: (NSString *) string + range: (inout NSRange *) range + error: (out NSError **) error; + +- (void) setDateFormat: (NSString *) string; +- (NSDateFormatterStyle) dateStyle; +- (void) setDateStyle: (NSDateFormatterStyle) style; +- (NSDateFormatterStyle) timeStyle; +- (void) setTimeStyle: (NSDateFormatterStyle) style; + +- (NSCalendar *) calendar; +- (void) setCalendar: (NSCalendar *) calendar; +- (NSDate *) defaultDate; +- (void) setDefaultDate: (NSDate *) date; +- (NSLocale *) locale; +- (void) setLocale: (NSLocale *) locale; +- (NSTimeZone *) timeZone; +- (void) setTimeZone: (NSTimeZone *) tz; +- (NSDate *) twoDigitStartDate; +- (void) setTwoDigitStartDate: (NSDate *) date; + +- (NSString *) AMSymbol; +- (void) setAMSymbol: (NSString *) string; +- (NSString *) PMSymbol; +- (void) setPMSymbol: (NSString *) string; + +- (NSArray *) weekdaySymbols; +- (void) setWeekdaySymbols: () array; +- (NSArray *) shortWeekdaySymbols; +- (void) setShortWeekdaySymbols: (NSArray *) array; + +- (NSArray *) monthSymbols; +- (void) setMonthSymbols: (NSArray *) array; +- (NSArray *) shortMonthSymbols; +- (void) setShortMonthSymbols: (NSArray *) array; + +- (NSArray *) eraSymbols; +- (void) setEraSymbols: (NSArray *) array; +#endif + +#if OS_API_VERSION(MAC_OS_X_VERSION_10_5, GS_API_LATEST) +- (NSDate *) gregorianStartDate; +- (void) setGregorianStartDate: (NSDate *) date; + +- (NSArray *) longEraSymbols; +- (void) setLongEraSymbols: (NSArray *) array; + +- (NSArray *) quarterSymbols; +- (void) setQuarterSymbols: (NSArray *) array; +- (NSArray *) shortQuarterSymbols; +- (void) setShortQuarterSymbols: (NSArray *) array; +- (NSArray *) standaloneQuarterSymbols; +- (void) setStandaloneQuarterSymbols: (NSArray *) array; +- (NSArray *) shortStandaloneQuarterSymbols; +- (void) setShortStandaloneQuarterSymbols: (NSArray *) array; + +- (NSArray *) shortStandaloneMonthSymbols; +- (void) setShortStandaloneMonthSymbols: (NSArray *) array; +- (NSArray *) standaloneMonthSymbols; +- (void) setStandaloneMonthSymbols: (NSArray *) array; +- (NSArray *) veryShortMonthSymbols; +- (void) setVeryShortMonthSymbols: (NSArray *) array; +- (NSArray *) veryShortStandaloneMonthSymbols; +- (void) setVeryShortStandaloneMonthSymbols: (NSArray *) array; + +- (NSAarray *) shortStandaloneWeekdaySymbols; +- (void) setShortStandaloneWeekdaySymbols: (NSArray *) array; +- (NSArray *) standaloneWeekdaySymbols; +- (void) setStandaloneWeekdaySymbols: (NSArray *) array; +- (NSArray *) veryShortWeekdaySymbols; +- (void) setVeryShortWeekdaySymbols: (NSArray *) array; +- (NSArray *) veryShortStandaloneWeekdaySymbols; +- (void) setVeryShortStandaloneWeekdaySymbols: (NSArray *) array; +#endif + +#if OS_API_VERSION(MAC_OS_X_VERSION_10_6, GS_API_LATEST) ++ (NSString *) localizedStringFromDate: (NSDate *) date + dateStyle: (NSDateFormatterStyle) dateStyle + timeStyle: (NSDateFormatterStyle) timeStyle; ++ (NSString *) dateFormatFromTemplate: (NSString *) template + options: (NSUInteger) opts + locale: (NSLocale *) locale; + +- (BOOL) doesRelativeDateFormatting; +- (void) setDoesRelativeDateFormatting: (BOOL) flag; +#endif @end #endif diff --git a/Source/NSDateFormatter.m b/Source/NSDateFormatter.m index de31bd046..9b09082e0 100644 --- a/Source/NSDateFormatter.m +++ b/Source/NSDateFormatter.m @@ -36,6 +36,8 @@ @implementation NSDateFormatter +static NSDateFormatterBehavior _defaultBehavior = 0; + - (BOOL) allowsNaturalLanguage { return _allowsNaturalLanguage; @@ -151,5 +153,383 @@ timeZone: [NSTimeZone defaultTimeZone] locale: nil]; } + + + ++ (NSDateFormatterBehavior) defaultFormatterBehavior +{ + return _defaultBehavior; +} + ++ (void) setDefaultFormatterBehavior: (NSDateFormatterBehavior) behavior +{ + _defaultBehavior = behavior; +} + +- (BOOL) allowsNaturalLanguage +{ + return NO; +} + +- (NSDateFormatterBehavior) formatterBehavior +{ + return 0; +} + +- (void) setFormatterBehavior: (NSDateFormatterBehavior) behavior +{ + return; +} + +- (BOOL) generatesCalendarDates +{ + return NO; +} + +- (void) setGeneratesCalendarDates: (BOOL) flag +{ + return; +} + +- (BOOL) isLenient +{ + return NO; +} + +- (void) setLenient: (BOOL) flag +{ + return; +} + + +- (NSDate *) dateFromString: (NSString *) string +{ + return nil; +} + +- (NSString *) stringFromDate: (NSDate *) date +{ + return nil; +} + +- (BOOL) getObjectValue: (out id *) obj + forString: (NSString *) string + range: (inout NSRange *) range + error: (out NSError **) error +{ + return NO; +} + +- (void) setDateFormat: (NSString *) string +{ + return; +} + +- (NSDateFormatterStyle) dateStyle +{ + return 0; +} + +- (void) setDateStyle: (NSDateFormatterStyle) style +{ + return; +} + +- (NSDateFormatterStyle) timeStyle +{ + return 0; +} + +- (void) setTimeStyle: (NSDateFormatterStyle) style +{ + return; +} + +- (NSCalendar *) calendar +{ + return nil; +} + +- (void) setCalendar: (NSCalendar *) calendar +{ + return; +} + +- (NSDate *) defaultDate +{ + return nil; +} + +- (void) setDefaultDate: (NSDate *) date +{ + return; +} + +- (NSLocale *) locale +{ + return nil; +} + +- (void) setLocale: (NSLocale *) locale +{ + return; +} + +- (NSTimeZone *) timeZone +{ + return nil; +} + +- (void) setTimeZone: (NSTimeZone *) tz +{ + return; +} + +- (NSDate *) twoDigitStartDate +{ + return nil; +} + +- (void) setTwoDigitStartDate: (NSDate *) date +{ + return; +} + + +- (NSString *) AMSymbol +{ + return nil; +} + +- (void) setAMSymbol: (NSString *) string +{ + return; +} + +- (NSString *) PMSymbol +{ + return nil; +} + +- (void) setPMSymbol: (NSString *) string +{ + return; +} + +- (NSArray *) weekdaySymbols +{ + return nil; +} + +- (void) setWeekdaySymbols: () array +{ + return; +} + +- (NSArray *) shortWeekdaySymbols +{ + return nil; +} + +- (void) setShortWeekdaySymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) monthSymbols +{ + return nil; +} + +- (void) setMonthSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) shortMonthSymbols +{ + return nil; +} + +- (void) setShortMonthSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) eraSymbols +{ + return nil; +} + +- (void) setEraSymbols: (NSArray *) array +{ + return; +} + +- (NSDate *) gregorianStartDate +{ + return nil; +} + +- (void) setGregorianStartDate: (NSDate *) date +{ + return; +} + +- (NSArray *) longEraSymbols +{ + return nil; +} + +- (void) setLongEraSymbols: (NSArray *) array +{ + return; +} + + +- (NSArray *) quarterSymbols +{ + return nil; +} + +- (void) setQuarterSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) shortQuarterSymbols +{ + return nil; +} + +- (void) setShortQuarterSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) standaloneQuarterSymbols +{ + return nil; +} + +- (void) setStandaloneQuarterSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) shortStandaloneQuarterSymbols +{ + return nil; +} + +- (void) setShortStandaloneQuarterSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) shortStandaloneMonthSymbols +{ + return nil; +} + +- (void) setShortStandaloneMonthSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) standaloneMonthSymbols +{ + return nil; +} + +- (void) setStandaloneMonthSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) veryShortMonthSymbols +{ + return nil; +} + +- (void) setVeryShortMonthSymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) veryShortStandaloneMonthSymbols +{ + return nil; +} + +- (void) setVeryShortStandaloneMonthSymbols: (NSArray *) array +{ + return; +} + +- (NSAarray *) shortStandaloneWeekdaySymbols +{ + return nil; +} + +- (void) setShortStandaloneWeekdaySymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) standaloneWeekdaySymbols +{ + return nil; +} + +- (void) setStandaloneWeekdaySymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) veryShortWeekdaySymbols +{ + return nil; +} + +- (void) setVeryShortWeekdaySymbols: (NSArray *) array +{ + return; +} + +- (NSArray *) veryShortStandaloneWeekdaySymbols +{ + return nil; +} + +- (void) setVeryShortStandaloneWeekdaySymbols: (NSArray *) array +{ + return; +} + ++ (NSString *) localizedStringFromDate: (NSDate *) date + dateStyle: (NSDateFormatterStyle) dateStyle + timeStyle: (NSDateFormatterStyle) timeStyle +{ + return nil; +} + ++ (NSString *) dateFormatFromTemplate: (NSString *) template + options: (NSUInteger) opts + locale: (NSLocale *) locale +{ + return nil; +} + +- (BOOL) doesRelativeDateFormatting +{ + return NO; +} + +- (void) setDoesRelativeDateFormatting: (BOOL) flag +{ + return; +} + @end