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