]> err.no Git - scalable-opengroupware.org/blob - SOPE/NGCards/iCalEvent.h
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1080 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / SOPE / NGCards / iCalEvent.h
1 /*
2   Copyright (C) 2000-2005 SKYRIX Software AG
3
4   This file is part of SOPE.
5
6   SOPE 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   SOPE 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 SOPE; 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
22 #ifndef __NGCards_iCalEvent_H__
23 #define __NGCards_iCalEvent_H__
24
25 #import "iCalRepeatableEntityObject.h"
26
27 /*
28   iCalEvent
29   
30   This class keeps the attributes of an iCalendar event record, that is,
31   an appointment.
32 */
33
34 @class NSCalendarDate;
35 @class NSDate;
36 @class NSString;
37 @class NSMutableArray;
38
39 @class NGCalendarDateRange;
40 @class iCalEventChanges;
41
42 @interface iCalEvent : iCalRepeatableEntityObject
43
44 /* accessors */
45
46 - (void) setAllDayWithStartDate: (NSCalendarDate *) newStartDate
47                        duration: (unsigned int) days;
48
49 - (void) setEndDate: (NSCalendarDate *) _date;
50 - (NSCalendarDate *) endDate;
51 - (BOOL) hasEndDate;
52
53 - (void) setDuration: (NSString *) _value;
54 - (NSString *) duration;
55 - (BOOL) hasDuration;
56 - (NSTimeInterval) durationAsTimeInterval;
57
58 - (void) setTransparency: (NSString *) _transparency;
59 - (NSString *) transparency;
60
61 /* convenience */
62
63 - (BOOL) isOpaque;
64 - (BOOL) isAllDay;
65
66 - (BOOL) isWithinCalendarDateRange: (NGCalendarDateRange *) _range;
67 - (NSArray *) recurrenceRangesWithinCalendarDateRange: (NGCalendarDateRange *)_r;
68
69 - (NSCalendarDate *) lastPossibleRecurrenceStartDate;
70
71 /* calculating changes */
72
73 - (iCalEventChanges *) getChangesRelativeToEvent: (iCalEvent *) _event;
74
75 @end 
76
77 #endif /* __NGCards_iCalEvent_H__ */