1 /* UIxComponentEditor.h - this file is part of SOGo
3 * Copyright (C) 2006 Inverse groupe conseil
5 * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
7 * This file is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2, or (at your option)
12 * This file is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; see the file COPYING. If not, write to
19 * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
23 #ifndef UIXCOMPONENTEDITOR_H
24 #define UIXCOMPONENTEDITOR_H
26 #import <SOGoUI/UIxComponent.h>
29 @class NSCalendarDate;
34 @class iCalRecurrenceRule;
35 @class iCalRepeatableEntityObject;
37 @interface UIxComponentEditor : UIxComponent
39 iCalRepeatableEntityObject *component;
43 NSMutableArray *calendarList;
44 NSMutableArray *organizerList;
45 NSDictionary *organizerIdentity;
47 /* individual values */
48 NSCalendarDate *cycleUntilDate;
60 iCalPerson *organizer;
61 NSString *componentOwner;
63 NSString *attendeesNames;
64 NSString *attendeesUIDs;
65 NSString *attendeesEmails;
66 NSString *attendeesStates;
69 - (NSString *) toolbar;
70 - (void) setComponent: (iCalRepeatableEntityObject *) newComponent;
72 - (void) setSaveURL: (NSString *) newSaveURL;
73 - (NSString *) saveURL;
75 - (void) setItem: (id) _item;
78 - (SOGoAppointmentFolder *) componentCalendar;
80 - (NSArray *) categoryList;
81 - (void) setCategories: (NSArray *) _categories;
82 - (NSArray *) categories;
83 - (NSString *) itemCategoryText;
85 - (NSArray *) priorities;
86 - (void) setPriority: (NSString *) _priority;
87 - (NSString *) priority;
88 - (NSString *) itemPriorityText;
90 - (NSArray *) privacyClasses;
91 - (void) setPrivacy: (NSString *) _privacy;
92 - (NSString *) privacy;
93 - (NSString *) itemPrivacyText;
95 - (NSArray *) statusTypes;
96 - (void) setStatus: (NSString *) _status;
97 - (NSString *) status;
98 - (NSString *) itemStatusText;
100 - (void) setTitle: (NSString *) _value;
101 - (NSString *) title;
103 - (void) setLocation: (NSString *) _value;
104 - (NSString *) location;
106 - (NSString *) location;
108 - (void) setComment: (NSString *) _value;
109 - (NSString *) comment;
111 - (void) setUrl: (NSString *) _url;
114 - (void) setAttendeesNames: (NSString *) newAttendeesNames;
115 - (NSString *) attendeesNames;
117 - (void) setAttendeesUIDs: (NSString *) newAttendeesUIDs;
118 - (NSString *) attendeesUIDs;
120 - (void) setAttendeesEmails: (NSString *) newAttendeesEmails;
121 - (NSString *) attendeesEmails;
123 - (NSArray *) cycles;
124 - (void) setCycle: (NSDictionary *) _cycle;
125 - (NSDictionary *) cycle;
127 - (NSString *) cycleLabel;
128 - (void) setCycleUntilDate: (NSCalendarDate *) _cycleUntilDate;
129 - (NSCalendarDate *) cycleUntilDate;
130 - (iCalRecurrenceRule *) rrule;
131 - (void) adjustCycleControlsForRRule: (iCalRecurrenceRule *) _rrule;
132 - (NSDictionary *) cycleMatchingRRule: (iCalRecurrenceRule *) _rrule;
133 - (NSArray *) cycleEnds;
134 - (void) setCycleEnd: (NSString *) _cycleEnd;
135 - (NSString *) cycleEnd;
136 - (BOOL) isCycleEndUntil;
137 - (void) setIsCycleEndUntil;
138 - (void) setIsCycleEndNever;
141 - (BOOL) isMyComponent;
142 - (BOOL) canEditComponent;
145 - (NSString *) completeURIForMethod: (NSString *) _method;
146 - (BOOL) isWriteableClientObject;
147 - (NSException *) validateObjectForStatusChange;
151 #endif /* UIXCOMPONENTEDITOR_H */