2 Copyright (C) 2000-2004 SKYRIX Software AG
4 This file is part of OGo
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
24 #include "UIxCalMonthOverview.h"
25 #include <NGExtensions/NGExtensions.h>
28 @interface UIxCalInlineMonthOverview : UIxCalMonthOverview
30 NSCalendarDate *selectedDate;
32 NSString *headerStyle;
34 NSString *todayWeekStyle;
35 NSString *dayHeaderStyle;
36 NSString *dayBodyStyle;
37 NSString *todayBodyStyle;
38 NSString *inactiveDayBodyStyle;
39 NSString *selectedDayExtraStyle;
40 NSString *daySelectionHref;
41 NSString *weekSelectionHref;
42 NSString *monthSelectionHref;
49 @implementation UIxCalInlineMonthOverview
54 [self->selectedDate release];
55 [self->style release];
56 [self->headerStyle release];
57 [self->weekStyle release];
58 [self->todayWeekStyle release];
59 [self->dayHeaderStyle release];
60 [self->dayBodyStyle release];
61 [self->todayBodyStyle release];
62 [self->inactiveDayBodyStyle release];
63 [self->selectedDayExtraStyle release];
64 [self->daySelectionHref release];
65 [self->weekSelectionHref release];
66 [self->monthSelectionHref release];
71 /* binding accessors */
73 - (void)setSelectedDate:(NSCalendarDate *)_date {
74 [_date setTimeZone:[self viewTimeZone]];
75 ASSIGN(self->selectedDate, _date);
77 - (NSCalendarDate *)selectedDate {
78 return self->selectedDate;
80 - (void)setStyle:(NSString *)_style {
81 ASSIGN(self->style, _style);
86 - (void)setHeaderStyle:(NSString *)_style {
87 ASSIGN(self->headerStyle, _style);
89 - (NSString *)headerStyle {
90 return self->headerStyle;
92 - (void)setWeekStyle:(NSString *)_style {
93 ASSIGN(self->weekStyle, _style);
95 - (NSString *)weekStyle {
96 return self->weekStyle;
98 - (void)setTodayWeekStyle:(NSString *)_style {
99 ASSIGN(self->todayWeekStyle, _style);
101 - (NSString *)todayWeekStyle {
102 if(self->todayWeekStyle)
103 return self->todayWeekStyle;
104 return [self weekStyle];
106 - (void)setDayHeaderStyle:(NSString *)_style {
107 ASSIGN(self->dayHeaderStyle, _style);
109 - (NSString *)dayHeaderStyle {
110 return self->dayHeaderStyle;
112 - (void)setDayBodyStyle:(NSString *)_style {
113 ASSIGN(self->dayBodyStyle, _style);
115 - (NSString *)dayBodyStyle {
116 return self->dayBodyStyle;
118 - (void)setTodayBodyStyle:(NSString *)_style {
119 ASSIGN(self->todayBodyStyle, _style);
121 - (NSString *)todayBodyStyle {
122 return self->todayBodyStyle;
124 - (void)setInactiveDayBodyStyle:(NSString *)_style {
125 ASSIGN(self->inactiveDayBodyStyle, _style);
127 - (NSString *)inactiveDayBodyStyle {
128 return self->inactiveDayBodyStyle;
130 - (void)setSelectedDayExtraStyle:(NSString *)_style {
131 ASSIGN(self->selectedDayExtraStyle, _style);
133 - (NSString *)selectedDayExtraStyle {
134 return self->selectedDayExtraStyle;
136 - (void)setDaySelectionHref:(NSString *)_href {
137 ASSIGN(self->daySelectionHref, _href);
139 - (NSString *)daySelectionHref {
140 return self->daySelectionHref;
142 - (BOOL)hasDaySelectionHref {
143 return self->daySelectionHref != nil;
145 - (void)setWeekSelectionHref:(NSString *)_href {
146 ASSIGN(self->weekSelectionHref, _href);
148 - (NSString *)weekSelectionHref {
149 return self->weekSelectionHref;
151 - (BOOL)hasWeekSelectionHref {
152 return self->weekSelectionHref != nil;
154 - (void)setMonthSelectionHref:(NSString *)_href {
155 ASSIGN(self->monthSelectionHref, _href);
157 - (NSString *)monthSelectionHref {
158 return self->monthSelectionHref;
160 - (BOOL)hasMonthSelectionHref {
161 return self->monthSelectionHref != nil;
163 - (void)setShowWeekColumn:(BOOL)_yn {
164 self->showWeekColumn = _yn;
166 - (BOOL)showWeekColumn {
167 return self->showWeekColumn;
169 - (void)setShowYear:(BOOL)_yn {
170 self->showYear = _yn;
173 return self->showYear;
180 - (NSCalendarDate *)startDate {
181 return [[self selectedDate] firstDayOfMonth];
187 - (NSString *)headerString {
190 label = [self localizedNameForMonthOfYear:[[self startDate] monthOfYear]];
191 if([self showYear]) {
192 label = [NSString stringWithFormat:@"%@ %d",
194 [[self startDate] yearOfCommonEra]];
199 - (NSString *)localizedDayOfWeekName {
200 return [self localizedAbbreviatedNameForDayOfWeek:[self dayOfWeek]];
206 - (NSString *)currentWeekStyle {
207 if([self->currentWeekStart isDateInSameWeek:[NSCalendarDate date]])
208 return [self todayWeekStyle];
209 return [self weekStyle];
212 - (NSString *)currentDayStyle {
213 return [self dayBodyStyle];
216 - (NSString *)contentStyle {
217 if([self->currentDay isToday])
218 return [self todayBodyStyle];
219 else if([self->currentDay monthOfYear] != [[self startDate] monthOfYear])
220 return [self inactiveDayBodyStyle];
221 return [self dayBodyStyle];
224 - (NSString *)extraStyle {
225 if([[self selectedDate] isDateOnSameDay:self->currentDay]) {
226 return [self selectedDayExtraStyle];
234 - (NSDictionary *)currentMonthQueryParameters {
235 return [self queryParametersBySettingSelectedDate:[self startDate]];
240 - (NSArray *)fetchCoreInfos {