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 <CommonUI/OGoComponent.h>
25 #include <NGObjWeb/NGObjWeb.h>
26 #include <NGExtensions/NGExtensions.h>
29 @interface OGoCalSelectTab : OGoComponent
32 NSCalendarDate *currentDate;
35 - (NSString *)completeHrefForMethod:(NSString *)_method;
40 @implementation OGoCalSelectTab
43 [self->selection release];
44 [self->currentDate release];
48 - (void)setSelection:(NSString *)_selection {
49 ASSIGN(self->selection, _selection);
52 - (NSString *)selection {
53 return self->selection;
56 - (void)setCurrentDate:(NSCalendarDate *)_date {
57 ASSIGN(self->currentDate, _date);
60 - (NSCalendarDate *)currentDate {
61 return self->currentDate;
68 - (NSString *)dayLabel {
69 return [self->currentDate descriptionWithCalendarFormat:@"%d"];
72 - (NSString *)weekLabel {
73 return [NSString stringWithFormat:@"Week %d", [self->currentDate weekOfYear]];
76 - (NSString *)monthLabel {
77 return [self->currentDate descriptionWithCalendarFormat:@"%B"];
80 - (NSString *)yearLabel {
81 return [self->currentDate descriptionWithCalendarFormat:@"%Y"];
88 - (NSString *)completeHrefForMethod:(NSString *)_method {
92 qp = [self queryParameters];
96 qs = [[self context] queryStringFromDictionary:qp];
97 return [_method stringByAppendingFormat:@"?%@", qs];
100 - (NSString *)daytabLink {
101 return [self completeHrefForMethod:@"dayoverview"];
104 - (NSString *)weektabLink {
105 return [self completeHrefForMethod:@"weekoverview"];
108 - (NSString *)monthtabLink {
109 return [self completeHrefForMethod:@"monthoverview"];
112 - (NSString *)yeartabLink {
113 return [self completeHrefForMethod:@"yearoverview"];