]> err.no Git - scalable-opengroupware.org/blob - UI/Scheduler/UIxCalSelectTab.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1043 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / Scheduler / UIxCalSelectTab.m
1 /*
2   Copyright (C) 2004 SKYRIX Software AG
3
4   This file is part of OpenGroupware.org.
5
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
9   later version.
10
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.
15
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
19   02111-1307, USA.
20 */
21 // $Id$
22
23
24 #include <SOGoUI/UIxComponent.h>
25 #include <NGObjWeb/NGObjWeb.h>
26 #include <NGExtensions/NGExtensions.h>
27
28
29 @interface UIxCalSelectTab : UIxComponent
30 {
31     NSString *selection;
32     NSCalendarDate *currentDate;
33 }
34
35 @end
36
37
38 @implementation UIxCalSelectTab
39
40 - (void)dealloc {
41     [self->selection release];
42     [self->currentDate release];
43     [super dealloc];
44 }
45
46 - (void)setSelection:(NSString *)_selection {
47     ASSIGN(self->selection, _selection);
48 }
49
50 - (NSString *)selection {
51     return self->selection;
52 }
53
54 - (void)setCurrentDate:(NSCalendarDate *)_date {
55     [_date setTimeZone:[[self clientObject] userTimeZone]];
56     ASSIGN(self->currentDate, _date);
57 }
58
59 - (NSCalendarDate *)currentDate {
60     return self->currentDate;
61 }
62
63
64 /* labels */
65
66
67 - (NSString *)dayLabel {
68     return [NSString stringWithFormat:@"%d",
69         [self->currentDate dayOfMonth]];
70 }
71
72 - (NSString *)weekLabel {
73     NSString *wlbl;
74     
75     wlbl = [self labelForKey:@"Week"];
76     return [NSString stringWithFormat:@"%@ %d",
77         wlbl,
78         [self->currentDate weekOfYear]];
79 }
80
81 - (NSString *)monthLabel {
82     return [NSString stringWithFormat:@"%@",
83         [self localizedNameForMonthOfYear:[self->currentDate monthOfYear]]];
84 }
85
86 - (NSString *)yearLabel {
87     return [NSString stringWithFormat:@"%d",
88         [self->currentDate yearOfCommonEra]];
89 }
90
91
92 /* hrefs */
93
94 - (NSString *)scheduletabLink {
95   return [self completeHrefForMethod:@"schedule"];
96 }
97
98 - (NSString *)daytabLink {
99     return [self completeHrefForMethod:@"dayoverview"];
100 }
101
102 - (NSString *)weektabLink {
103     return [self completeHrefForMethod:@"weekoverview"];
104 }
105
106 - (NSString *)monthtabLink {
107     return [self completeHrefForMethod:@"monthoverview"];
108 }
109
110 - (NSString *)yeartabLink {
111     return [self completeHrefForMethod:@"yearoverview"];
112 }
113
114
115 @end