]> err.no Git - scalable-opengroupware.org/blob - ZideStore/UI-X/Scheduler/OGoCalMonthView.m
new UI element and refinement
[scalable-opengroupware.org] / ZideStore / UI-X / Scheduler / OGoCalMonthView.m
1 // $Id: OGoCalMonthView.m,v 1.2 2004/06/03 21:56:44 helge Exp $
2
3 #include "OGoCalMonthView.h"
4 #include "common.h"
5
6 @implementation OGoCalMonthView
7
8 // TODO: look how to properly calculate month range!
9
10 - (NSCalendarDate *)startDate {
11   // TODO: copy of the startdate method
12   NSCalendarDate *startDate;
13   NSString *dateString;
14   
15   dateString = [[[self context] request] formValueForKey:@"startDate"];
16   startDate = dateString
17     ? [self dateForDateString:dateString]
18     : [[NSCalendarDate date] mondayOfWeek];
19   
20   return startDate;
21 }
22 - (NSCalendarDate *)endDate {
23   return [[self startDate] dateByAddingYears:0 months:0 days:31
24                            hours:0 minutes:0 seconds:0];
25 }
26
27 /* URLs (TODO: fix scroll ranges for months!) */
28
29 - (NSString *)prevMonthURL {
30   NSCalendarDate *newMonthDate;
31
32   newMonthDate = [[[self startDate] firstDayOfMonth] dateByAddingYears:0
33                                                      months:-1
34                                                      days:0
35                                                      hours:0
36                                                      minutes:0
37                                                      seconds:0];
38   return [self dateNavigationURLWithNewStartDate:newMonthDate];
39 }
40
41 - (NSString *)nextMonthURL {
42   NSCalendarDate *newMonthDate;
43
44   newMonthDate = [[[self startDate] firstDayOfMonth] dateByAddingYears:0
45                                                      months:1
46                                                      days:0
47                                                      hours:0
48                                                      minutes:0
49                                                      seconds:0];
50     return [self dateNavigationURLWithNewStartDate:newMonthDate];
51 }
52
53 - (NSString *)thisMonthURL {
54   NSCalendarDate *newMonthDate;
55   
56   newMonthDate = [[NSCalendarDate date] mondayOfWeek];
57   return [self dateNavigationURLWithNewStartDate:newMonthDate];
58 }
59
60 @end /* OGoCalMonthView */