]> err.no Git - scalable-opengroupware.org/blob - ZideStore/UI-X/Scheduler/UIxCalMonthOverview.m
month view completed.
[scalable-opengroupware.org] / ZideStore / UI-X / Scheduler / UIxCalMonthOverview.m
1 // $Id$
2
3 #include "UIxCalMonthView.h"
4 #include <NGExtensions/NGExtensions.h>
5
6
7 @interface UIxCalMonthOverview : UIxCalMonthView
8 {
9     int dayIndex;
10     int dayOfWeek;
11     int weekOfYear;
12     NSCalendarDate *currentWeekStart;
13 }
14
15 @end
16
17 #include "common.h"
18
19 @implementation UIxCalMonthOverview
20
21 - (void)dealloc {
22     [self->currentWeekStart release];
23     [super dealloc];
24 }
25
26 - (void)setDayIndex:(int)_idx {
27     self->dayIndex = _idx;
28 }
29
30 - (int)dayIndex {
31     return self->dayIndex;
32 }
33
34 - (void)setDayOfWeek:(int)_day {
35     self->dayOfWeek = _day;
36 }
37
38 - (int)dayOfWeek {
39     return self->dayOfWeek;
40 }
41
42 - (void)setCurrentWeekStartDate:(NSCalendarDate *)_date {
43     ASSIGN(self->currentWeekStart, _date);
44 }
45
46 - (NSCalendarDate *)currentWeekStartDate {
47     return self->currentWeekStart;
48 }
49
50 - (void)setWeekOfYear:(int)_week {
51     NSCalendarDate *date;
52     
53     self->weekOfYear = _week;
54     date = [[self startDate] mondayOfWeek:self->weekOfYear];
55     [self setCurrentWeekStartDate:date];
56 }
57
58 - (int)weekOfYear {
59     return self->weekOfYear;
60 }
61
62 - (int)year {
63     return [[self startDate] yearOfCommonEra];
64 }
65
66 - (int)month {
67     return [[self startDate] monthOfYear];
68 }
69
70 - (NSString *)localizedNameOfDayOfWeek {
71     // TODO: move this to some locale method
72     static char *dayNames[] = {
73         "Sunday",
74         "Monday",
75         "Tuesday",
76         "Wednesday",
77         "Thursday",
78         "Friday",
79         "Saturday"
80     };
81     return [[[NSString alloc] initWithCString:
82         dayNames[self->dayOfWeek]] autorelease];
83 }
84
85 - (NSDictionary *)currentWeekQueryParameters {
86     return [self queryParametersBySettingSelectedDate:self->currentWeekStart];
87 }
88
89
90 /* style sheet */
91
92
93 - (NSString *)weekStyle {
94     if([self->currentWeekStart isDateInSameWeek:[NSCalendarDate date]])
95         return @"monthoverview_week_hilite";
96     return @"monthoverview_week";
97 }
98
99 - (NSString *)contentStyle {
100     if([self->currentDay isToday])
101         return @"monthoverview_content_hilite";
102     else if([self->currentDay monthOfYear] != [[self startDate] monthOfYear])
103         return @"monthoverview_content_dimmed";
104     return @"monthoverview_content";
105 }
106
107
108 /* appointments */
109
110
111 - (NSArray *)appointments {
112   return [self fetchCoreInfos];
113 }
114
115 @end /* UIxCalMonthOverview */