AD071CE606CD2ACE00A9EEF4,
AD071CEC06CD2ACE00A9EEF4,
AD071CED06CD2ACE00A9EEF4,
+ E87206C30692E3D10099CBBD,
AD73BE4A06CF88BF00226A2D,
AD73BE4B06CF88BF00226A2D,
AD071D1206CD2BCB00A9EEF4,
refType = 4;
sourceTree = "<group>";
};
+ ADDF4B3006DCEAC800C4E7F8 = {
+ children = (
+ ADDF4B3C06DCEAC800C4E7F8,
+ ADDF4B3406DCEAC800C4E7F8,
+ ADDF4B3506DCEAC800C4E7F8,
+ ADDF4B3206DCEAC800C4E7F8,
+ ADDF4B3E06DCEAC800C4E7F8,
+ ADDF4B3106DCEAC800C4E7F8,
+ ADDF4B3D06DCEAC800C4E7F8,
+ ADDF4B3606DCEAC800C4E7F8,
+ ADDF4B4406DCEB1200C4E7F8,
+ ADDF4B4106DCEB0C00C4E7F8,
+ ADDF4B6D06DCEBB400C4E7F8,
+ );
+ isa = PBXGroup;
+ path = Contacts;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3106DCEAC800C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text.plist;
+ path = "bundle-info.plist";
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3206DCEAC800C4E7F8 = {
+ fileEncoding = 4;
+ indentWidth = 8;
+ isa = PBXFileReference;
+ lastKnownFileType = text;
+ path = ChangeLog;
+ refType = 4;
+ sourceTree = "<group>";
+ tabWidth = 8;
+ usesTabs = 1;
+ };
+ ADDF4B3306DCEAC800C4E7F8 = {
+ fileEncoding = 4;
+ indentWidth = 2;
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.objc;
+ path = ContactsUIProduct.m;
+ refType = 4;
+ sourceTree = "<group>";
+ tabWidth = 2;
+ };
+ ADDF4B3406DCEAC800C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text;
+ path = COPYING;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3506DCEAC800C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text;
+ path = COPYRIGHT;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3606DCEAC800C4E7F8 = {
+ children = (
+ ADDF4B3706DCEAC800C4E7F8,
+ ADDF4B3806DCEAC800C4E7F8,
+ );
+ isa = PBXVariantGroup;
+ name = default.strings;
+ path = "";
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3706DCEAC800C4E7F8 = {
+ fileEncoding = 5;
+ isa = PBXFileReference;
+ lastKnownFileType = text.plist.strings;
+ name = English;
+ path = English.lproj/default.strings;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3806DCEAC800C4E7F8 = {
+ fileEncoding = 5;
+ isa = PBXFileReference;
+ lastKnownFileType = text.plist.strings;
+ name = French;
+ path = French.lproj/default.strings;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3906DCEAC800C4E7F8 = {
+ explicitFileType = sourcecode.make;
+ fileEncoding = 4;
+ indentWidth = 8;
+ isa = PBXFileReference;
+ path = GNUmakefile;
+ refType = 4;
+ sourceTree = "<group>";
+ tabWidth = 8;
+ };
+ ADDF4B3A06DCEAC800C4E7F8 = {
+ explicitFileType = sourcecode.make;
+ fileEncoding = 4;
+ indentWidth = 8;
+ isa = PBXFileReference;
+ path = GNUmakefile.postamble;
+ refType = 4;
+ sourceTree = "<group>";
+ tabWidth = 8;
+ };
+ ADDF4B3B06DCEAC800C4E7F8 = {
+ explicitFileType = sourcecode.make;
+ fileEncoding = 4;
+ indentWidth = 8;
+ isa = PBXFileReference;
+ path = GNUmakefile.preamble;
+ refType = 4;
+ sourceTree = "<group>";
+ tabWidth = 8;
+ };
+ ADDF4B3C06DCEAC800C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text;
+ path = NOTES;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3D06DCEAC800C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text.plist;
+ path = product.plist;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B3E06DCEAC800C4E7F8 = {
+ explicitFileType = sourcecode.make;
+ fileEncoding = 4;
+ indentWidth = 8;
+ isa = PBXFileReference;
+ path = Version;
+ refType = 4;
+ sourceTree = "<group>";
+ tabWidth = 8;
+ };
+ ADDF4B4106DCEB0C00C4E7F8 = {
+ children = (
+ ADDF4B6A06DCEBA100C4E7F8,
+ ADDF4B3306DCEAC800C4E7F8,
+ );
+ isa = PBXGroup;
+ name = Classes;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B4406DCEB1200C4E7F8 = {
+ children = (
+ ADDF4B3906DCEAC800C4E7F8,
+ ADDF4B3A06DCEAC800C4E7F8,
+ ADDF4B3B06DCEAC800C4E7F8,
+ );
+ isa = PBXGroup;
+ name = Makefiles;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B6A06DCEBA100C4E7F8 = {
+ fileEncoding = 4;
+ indentWidth = 2;
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.h;
+ path = common.h;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B6D06DCEBB400C4E7F8 = {
+ children = (
+ ADDF4B7006DCEC4300C4E7F8,
+ ADDF4B6F06DCEC4300C4E7F8,
+ ADDF4B7306DCEC5200C4E7F8,
+ ADDF4B7206DCEC5200C4E7F8,
+ ADDF4B7606DCEC5F00C4E7F8,
+ ADDF4B7506DCEC5F00C4E7F8,
+ );
+ isa = PBXGroup;
+ name = Components;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B6F06DCEC4300C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text.xml;
+ path = UIxContactsListView.wox;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B7006DCEC4300C4E7F8 = {
+ fileEncoding = 4;
+ indentWidth = 2;
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.objc;
+ path = UIxContactsListView.m;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B7206DCEC5200C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text.xml;
+ path = UIxContactView.wox;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B7306DCEC5200C4E7F8 = {
+ fileEncoding = 4;
+ indentWidth = 2;
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.objc;
+ path = UIxContactView.m;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B7506DCEC5F00C4E7F8 = {
+ fileEncoding = 4;
+ isa = PBXFileReference;
+ lastKnownFileType = text.xml;
+ path = UIxContactEditor.wox;
+ refType = 4;
+ sourceTree = "<group>";
+ };
+ ADDF4B7606DCEC5F00C4E7F8 = {
+ fileEncoding = 4;
+ indentWidth = 2;
+ isa = PBXFileReference;
+ lastKnownFileType = sourcecode.c.objc;
+ path = UIxContactEditor.m;
+ refType = 4;
+ sourceTree = "<group>";
+ };
ADE2C23C06B7BED40065D56F = {
fileEncoding = 4;
isa = PBXFileReference;
E87206C20692E3D10099CBBD,
E87207E80692E3D20099CBBD,
AD6BCEE5069D77E9003664CD,
- E87206C30692E3D10099CBBD,
E87207EA0692E3D20099CBBD,
+ ADDF4B3006DCEAC800C4E7F8,
AD07123606C904C900A9EEF4,
);
isa = PBXGroup;
E8720A570692E4DF0099CBBD,
);
isa = PBXGroup;
- path = Common;
- refType = 4;
- sourceTree = "<group>";
+ name = Common;
+ path = UI/Common;
+ refType = 2;
+ sourceTree = SOURCE_ROOT;
};
E87207470692E3D20099CBBD = {
fileEncoding = 4;
};
E87207EA0692E3D20099CBBD = {
children = (
- E872088F0692E3D30099CBBD,
+ E87208D30692E3D30099CBBD,
E87208910692E3D30099CBBD,
E87208920692E3D30099CBBD,
+ E872088F0692E3D30099CBBD,
E872090C0692E3D30099CBBD,
- E87208D30692E3D30099CBBD,
E872088E0692E3D30099CBBD,
E87208E20692E3D30099CBBD,
ADCDE53206ADA8C800BFCE2B,
2004-08-25 Marcus Mueller <znek@mulle-kybernetik.com>
- * ChangeLog: created
+ * common.h: new file
+
+ * UIxContact*: added template views
+
+ * ChangeLog: created
\ No newline at end of file
/* this file is in ISO-8859-1 format! */
-
-/* Day */
-
-"Sunday" = "Sunday";
-"Monday" = "Monday";
-"Tuesday" = "Tuesday";
-"Wednesday" = "Wednesday";
-"Thursday" = "Thursday";
-"Friday" = "Friday";
-"Saturday" = "Saturday";
-
-"a2_Sunday" = "Su";
-"a2_Monday" = "Mo";
-"a2_Tuesday" = "Tu";
-"a2_Wednesday" = "We";
-"a2_Thursday" = "Th";
-"a2_Friday" = "Fr";
-"a2_Saturday" = "Sa";
-
-"dayLabelFormat" = "%Y-%m-%d";
-"today" = "today";
-
-/* Week */
-
-"Week" = "Week";
-"this week" = "this week";
-
-
-/* Month */
-
-"this month" = "this month";
-
-"January" = "January";
-"February" = "February";
-"March" = "March";
-"April" = "April";
-"May" = "May";
-"June" = "June";
-"July" = "July";
-"August" = "August";
-"September" = "September";
-"October" = "October";
-"November" = "November";
-"December" = "December";
-
-"a3_January" = "Jan";
-"a3_February" = "Feb";
-"a3_March" = "Mar";
-"a3_April" = "Apr";
-"a3_May" = "May";
-"a3_June" = "Jun";
-"a3_July" = "Jul";
-"a3_August" = "Aug";
-"a3_September" = "Sep";
-"a3_October" = "Oct";
-"a3_November" = "Nov";
-"a3_December" = "Dec";
-
-/* Year */
-
-"this year" = "this year";
-
-
-/* Menu */
-
-"Calendar" = "Calendar";
-"Contacts" = "Contacts";
-
-
-/* Misc */
-
-"new" = "new";
-"printview" = "printview";
-"proposal" = "proposal";
-"Save" = "Save";
-"Cancel" = "Cancel";
-"OpenGroupware.org" = "OpenGroupware.org"
-
-/* Appointments */
-
-"Appointment editor" = "Appointment Editor";
-"Appointment proposal" = "Appointment Proposal";
-"Appointment on" = "Appointment on";
-"Start time" = "Start time";
-"End time" = "End time";
-"Start date" = "Start date";
-"End date" = "End date";
-"Earliest start time" = "Earliest start time";
-"Latest end time" = "Latest end time";
-"browse start date" = "browse start date";
-"browse end date" = "browse end date";
-"Title" = "Title";
-"Location" = "Location";
-"Duration" = "Duration";
-"Search participants" = "Search participants";
-"Participants" = "Participants";
-"Search resources" = "Search resources";
-"Resources" = "Resources";
-"Search appointments" = "Search appointments";
-"Search" = "Search";
-"Search in Anais" = "Search in Anaïs";
-
-
-/* calendar modes */
-
-"Overview" = "Overview";
-"Chart" = "Chart";
-"List" = "List";
-"Columns" = "Columns";
/* this file is in ISO-8859-1 format! */
-
-/* Day */
-
-"Sunday" = "Dimanche";
-"Monday" = "Lundi";
-"Tuesday" = "Mardi";
-"Wednesday" = "Mercredi";
-"Thursday" = "Jeudi";
-"Friday" = "Vendredi";
-"Saturday" = "Samedi";
-
-"a2_Sunday" = "Di";
-"a2_Monday" = "Lu";
-"a2_Tuesday" = "Ma";
-"a2_Wednesday" = "Me";
-"a2_Thursday" = "Je";
-"a2_Friday" = "Ve";
-"a2_Saturday" = "Sa";
-
-"dayLabelFormat" = "%Y-%m-%d";
-
-
-/* Week */
-
-"Week" = "Semaine";
-"this week" = "cette semaine";
-
-
-/* Month */
-"this month" = "ce mois";
-
-"January" = "Janvier";
-"February" = "Février";
-"March" = "Mars";
-"April" = "Avril";
-"May" = "Mai";
-"June" = "Juin";
-"July" = "Juillet";
-"August" = "Août";
-"September" = "Septembre";
-"October" = "Octobre";
-"November" = "Novembre";
-"December" = "Décembre";
-
-"a3_January" = "Jan";
-"a3_February" = "Feb";
-"a3_March" = "Mar";
-"a3_April" = "Apr";
-"a3_May" = "May";
-"a3_June" = "Jun";
-"a3_July" = "Jul";
-"a3_August" = "Aug";
-"a3_September" = "Sep";
-"a3_October" = "Oct";
-"a3_November" = "Nov";
-"a3_December" = "Dec";
-
-
-/* Year */
-
-"this year" = "this year";
-
-
-/* Misc */
-
-"new" = "new";
-"printview" = "printview";
-"proposal" = "proposal";
-
-
-/* calendar modes */
-
-"Overview" = "Overview";
-"Chart" = "Chart";
-"List" = "List";
-"Columns" = "Columns";
ContactsUI_OBJC_FILES = \
ContactsUIProduct.m \
+ \
+ UIxContactsListView.m \
+ UIxContactView.m \
+ UIxContactEditor.m \
ContactsUI_RESOURCE_FILES += \
- Version \
- product.plist
-
-ContactsUI_RESOURCE_FILES += \
+ Version \
+ product.plist \
ContactsUI_RESOURCE_FILES += \
+ UIxContactsListView.wox \
+ UIxContactView.wox \
+ UIxContactEditor.wox \
ContactsUI_LOCALIZED_RESOURCE_FILES += \
default.strings \
--- /dev/null
+/*
+ Copyright (C) 2000-2004 SKYRIX Software AG
+
+ This file is part of OGo
+
+ OGo is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with OGo; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+*/
+// $Id$
+
+
+#include <SOGoUI/UIxComponent.h>
+
+@interface UIxContactEditor : UIxComponent
+{
+
+}
+
+@end
+
+#include "common.h"
+
+@implementation UIxContactEditor
+
+- (id)saveAction {
+#if 0
+ NSException *ex;
+
+ ex = [[self clientObject] saveContentString:content];
+ if (ex != nil) {
+ [self setErrorText:[ex reason]];
+ return self;
+ }
+
+ return [self redirectToLocation:[self _completeURIForMethod:@".."]];
+#else
+ return self;
+#endif
+}
+
+@end
--- /dev/null
+<?xml version='1.0' standalone='yes'?>
+<var:component xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:var="http://www.skyrix.com/od/binding"
+ xmlns:const="http://www.skyrix.com/od/constant"
+ xmlns:uix="OGo:uix"
+ xmlns:label="OGo:label"
+ className="UIxPageFrame"
+ title="name"
+>
+ <var:if condition="isUIxDebugEnabled">
+ <hr />
+ clientObject: <var:string value="clientObject" />
+ </var:if>
+</var:component>
\ No newline at end of file
--- /dev/null
+/*
+ Copyright (C) 2000-2004 SKYRIX Software AG
+
+ This file is part of OGo
+
+ OGo is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with OGo; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+*/
+// $Id$
+
+
+#include <SOGoUI/UIxComponent.h>
+
+@interface UIxContactView : UIxComponent
+{
+
+}
+
+- (BOOL)isDeletableClientObject;
+
+@end
+
+#include "common.h"
+
+@implementation UIxContactView
+
+- (BOOL)isDeletableClientObject {
+ return [[self clientObject] respondsToSelector:@selector(delete)];
+}
+
+- (id)deleteAction {
+ NSException *ex;
+ id url;
+
+ if (![self isDeletableClientObject]) {
+ /* return 400 == Bad Request */
+ return [NSException exceptionWithHTTPStatus:400
+ reason:@"method cannot be invoked on "
+ @"the specified object"];
+ }
+
+ if ((ex = [[self clientObject] delete]) != nil) {
+ // TODO: improve error handling
+ [self debugWithFormat:@"failed to delete: %@", ex];
+ return ex;
+ }
+
+ url = [[[self clientObject] container] baseURLInContext:[self context]];
+ return [self redirectToLocation:url];
+}
+
+@end
--- /dev/null
+<?xml version='1.0' standalone='yes'?>
+<var:component xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:var="http://www.skyrix.com/od/binding"
+ xmlns:const="http://www.skyrix.com/od/constant"
+ xmlns:uix="OGo:uix"
+ xmlns:label="OGo:label"
+ className="UIxPageFrame"
+ title="name"
+>
+ <var:if condition="isUIxDebugEnabled">
+ <hr />
+ clientObject: <var:string value="clientObject" />
+ </var:if>
+</var:component>
\ No newline at end of file
--- /dev/null
+/*
+ Copyright (C) 2000-2004 SKYRIX Software AG
+
+ This file is part of OGo
+
+ OGo is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with OGo; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+*/
+// $Id$
+
+
+#include <SOGoUI/UIxComponent.h>
+
+@interface UIxContactsListView : UIxComponent
+{
+
+}
+
+@end
+
+#include "common.h"
+
+@implementation UIxContactsListView
+
+@end
--- /dev/null
+<?xml version='1.0' standalone='yes'?>
+<var:component xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:var="http://www.skyrix.com/od/binding"
+ xmlns:const="http://www.skyrix.com/od/constant"
+ xmlns:uix="OGo:uix"
+ xmlns:label="OGo:label"
+ className="UIxPageFrame"
+ title="name"
+>
+ <var:if condition="isUIxDebugEnabled">
+ <hr />
+ clientObject: <var:string value="clientObject" />
+ </var:if>
+</var:component>
\ No newline at end of file
--- /dev/null
+/*
+ Copyright (C) 2004 SKYRIX Software AG
+
+ This file is part of OpenGroupware.org.
+
+ OGo is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ OGo is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with OGo; see the file COPYING. If not, write to the
+ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
+ 02111-1307, USA.
+*/
+// $Id$
+
+#import <Foundation/Foundation.h>
+
+#if LIB_FOUNDATION_LIBRARY
+# include <Foundation/exceptions/GeneralExceptions.h>
+#elif NeXT_Foundation_LIBRARY || COCOA_Foundation_LIBRARY
+# include <NGExtensions/NGObjectMacros.h>
+# include <NGExtensions/NSString+Ext.h>
+#endif
+
+#include <NGExtensions/NGExtensions.h>
+#include <NGObjWeb/NGObjWeb.h>
+#include <NGObjWeb/SoObjects.h>