]> err.no Git - scalable-opengroupware.org/blob - UI/Scheduler/UIxCalMonthOverview.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1172 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / Scheduler / UIxCalMonthOverview.m
1
2 #import <Foundation/NSCalendarDate.h>
3 #import <NGExtensions/NSCalendarDate+misc.h>
4
5 #import <SOGoUI/SOGoAptFormatter.h>
6
7 #import "UIxCalMonthOverview.h"
8
9 @implementation UIxCalMonthOverview
10
11 - (void)dealloc {
12   [self->currentWeekStart release];
13   [super dealloc];
14 }
15
16 - (void)configureFormatters {
17   [super configureFormatters];
18   
19   [self->aptFormatter        setShortTitleOnly];
20   [self->privateAptFormatter setPrivateTitleOnly];
21 }
22
23 - (void)setDayIndex:(int)_idx {
24     self->dayIndex = _idx;
25 }
26
27 - (int)dayIndex {
28     return self->dayIndex;
29 }
30
31 - (void)setDayOfWeek:(int)_day {
32     self->dayOfWeek = _day;
33 }
34
35 - (int)dayOfWeek {
36     return self->dayOfWeek;
37 }
38
39 - (void)setCurrentWeekStartDate:(NSCalendarDate *)_date {
40     ASSIGN(self->currentWeekStart, _date);
41 }
42
43 - (NSCalendarDate *)currentWeekStartDate {
44     return self->currentWeekStart;
45 }
46
47 - (void)setWeekOfYear:(int)_week {
48     NSCalendarDate *date;
49     
50     self->weekOfYear = _week;
51     if(_week == 52 || _week == 53)
52         date = [[self startOfMonth] mondayOfWeek];
53     else
54         date = [self startOfMonth];
55     date = [date mondayOfWeek:_week];
56     [self setCurrentWeekStartDate:date];
57 }
58
59 - (int)weekOfYear {
60     return self->weekOfYear;
61 }
62
63 - (int)year {
64     return [[self startOfMonth] yearOfCommonEra];
65 }
66
67 - (int)month {
68     return [[self startOfMonth] monthOfYear];
69 }
70
71 - (NSString *)localizedDayOfWeekName {
72     return [self localizedNameForDayOfWeek:self->dayOfWeek];
73 }
74
75 - (NSDictionary *)currentWeekQueryParameters {
76     return [self queryParametersBySettingSelectedDate:self->currentWeekStart];
77 }
78
79
80 /* style sheet */
81
82
83 - (NSString *)weekStyle {
84     if([self->currentWeekStart isDateInSameWeek:[NSCalendarDate date]])
85         return @"monthoverview_week_hilite";
86     return @"monthoverview_week";
87 }
88
89 - (NSString *)contentStyle {
90     if([self->currentDay isToday])
91         return @"monthoverview_content_hilite";
92     else if([self->currentDay monthOfYear] != [[self startOfMonth] monthOfYear])
93         return @"monthoverview_content_dimmed";
94     return @"monthoverview_content";
95 }
96
97
98 /* appointments */
99
100
101 // - (NSArray *)appointments {
102 //   return [self fetchCoreAppointmentsInfos];
103 // }
104
105 @end /* UIxCalMonthOverview */