diff --git a/ChangeLog b/ChangeLog index 8f602141e..937a9dcfd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-08-22 Wolfgang Sourdeau + * UI/Scheduler/UIxCalMainView.m: extended class to populate the + entries in the new "monthMenu" and "yearMenu". + * UI/Scheduler/UIxCalDayView.m ([UIxCalDayView -labelForDay]): new method to return the current day as a string formatted depending on the current locale. diff --git a/UI/Scheduler/UIxCalMainView.h b/UI/Scheduler/UIxCalMainView.h index c85a6381c..b1e13a08d 100644 --- a/UI/Scheduler/UIxCalMainView.h +++ b/UI/Scheduler/UIxCalMainView.h @@ -23,9 +23,28 @@ #ifndef UIXCALMAINVIEW_H #define UIXCALMAINVIEW_H +@class NSArray; +@class NSNumber; +@class NSString; + #import "UIxCalView.h" @interface UIxCalMainView : UIxCalView +{ + NSString *monthMenuItem; + NSNumber *yearMenuItem; +} + +- (NSArray *) monthMenuItems; +- (NSArray *) yearMenuItems; + +- (void) setMonthMenuItem: (NSString *) aMonthMenuItem; +- (NSString *) monthMenuItem; +- (NSString *) monthMenuItemLabel; + +- (void) setYearMenuItem: (NSNumber *) aYearMenuItem; +- (NSNumber *) yearMenuItem; + @end #endif /* UIXCALMAINVIEW_H */ diff --git a/UI/Scheduler/UIxCalMainView.m b/UI/Scheduler/UIxCalMainView.m index 840ed122a..ca1c1b87f 100644 --- a/UI/Scheduler/UIxCalMainView.m +++ b/UI/Scheduler/UIxCalMainView.m @@ -20,7 +20,74 @@ * Boston, MA 02111-1307, USA. */ +#import +#import +#import +#import + #import "UIxCalMainView.h" +static NSMutableArray *monthMenuItems = nil; +static NSMutableArray *yearMenuItems = nil; + @implementation UIxCalMainView + +- (NSArray *) monthMenuItems +{ + unsigned int count; + + if (!monthMenuItems) + { + monthMenuItems = [NSMutableArray arrayWithCapacity: 12]; + + for (count = 1; count < 13; count++) + [monthMenuItems addObject: + [NSString stringWithFormat: @"%.2d", count]]; + [monthMenuItems retain]; + } + + return monthMenuItems; +} + +- (void) setMonthMenuItem: (NSString *) aMonthMenuItem +{ + monthMenuItem = aMonthMenuItem; +} + +- (NSString *) monthMenuItem +{ + return monthMenuItem; +} + +- (NSString *) monthMenuItemLabel +{ + return [self localizedNameForMonthOfYear: [monthMenuItem intValue]]; +} + +- (NSArray *) yearMenuItems +{ + int count, year; + + if (!yearMenuItems) + { + year = [[NSCalendarDate date] yearOfCommonEra]; + yearMenuItems = [NSMutableArray arrayWithCapacity: 11]; + for (count = -5; count < 6; count++) + [yearMenuItems addObject: [NSNumber numberWithInt: year + count]]; + [yearMenuItems retain]; + } + + return yearMenuItems; +} + +- (void) setYearMenuItem: (NSNumber *) aYearMenuItem +{ + yearMenuItem = aYearMenuItem; +} + +- (NSNumber *) yearMenuItem +{ + return yearMenuItem; +} + @end