aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/dialogs/event-editor.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2001-06-02 07:54:43 +0800
committerJP Rosevear <jpr@src.gnome.org>2001-06-02 07:54:43 +0800
commitf4e8698fdd4c48422f217f409e92ec7a2d26c443 (patch)
tree52e697a2a46e790a2d8059680c7a3bff252e97ad /calendar/gui/dialogs/event-editor.c
parent58d8f86e64d42782ac80ec4ed40b5269a3493454 (diff)
downloadgsoc2013-evolution-f4e8698fdd4c48422f217f409e92ec7a2d26c443.tar
gsoc2013-evolution-f4e8698fdd4c48422f217f409e92ec7a2d26c443.tar.gz
gsoc2013-evolution-f4e8698fdd4c48422f217f409e92ec7a2d26c443.tar.bz2
gsoc2013-evolution-f4e8698fdd4c48422f217f409e92ec7a2d26c443.tar.lz
gsoc2013-evolution-f4e8698fdd4c48422f217f409e92ec7a2d26c443.tar.xz
gsoc2013-evolution-f4e8698fdd4c48422f217f409e92ec7a2d26c443.tar.zst
gsoc2013-evolution-f4e8698fdd4c48422f217f409e92ec7a2d26c443.zip
renamed from editor-page for consistency, more complete implementation
2001-06-01 JP Rosevear <jpr@ximian.com> * gui/dialogs/comp-editor-page.[hc]: renamed from editor-page for consistency, more complete implementation * gui/dialogs/comp-editor.[hc]: More complete implementation * gui/dialogs/*-page.*: The various pages needed to construct the event and task dialogs * gui/dialogs/comp-editor-util.[hc]: useful utility functions for the component editor pages to use * gui/dialogs/Makefile.am: Build and install new files * gui/event-editor*: Remove, obsoleted by the new comp-editor stuff * gui/dialogs/task-editor-dialog.glade: ditto * gui/e-calendar-table.c (open_task): update to use comp editor stuff * gui/e-tasks.c (e_tasks_new_task): ditto * gui/gnome-cal.c (gnome_calendar_edit_object): ditto * gui/Makefile.am: don't build non-existent files nor try to install them svn path=/trunk/; revision=10088
Diffstat (limited to 'calendar/gui/dialogs/event-editor.c')
-rw-r--r--calendar/gui/dialogs/event-editor.c155
1 files changed, 155 insertions, 0 deletions
diff --git a/calendar/gui/dialogs/event-editor.c b/calendar/gui/dialogs/event-editor.c
new file mode 100644
index 0000000000..b53efe12aa
--- /dev/null
+++ b/calendar/gui/dialogs/event-editor.c
@@ -0,0 +1,155 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
+
+/* Evolution calendar - Event editor dialog
+ *
+ * Copyright (C) 2000 Helix Code, Inc.
+ * Copyright (C) 2001 Ximian, Inc.
+ *
+ * Authors: Miguel de Icaza <miguel@ximian.com>
+ * Federico Mena-Quintero <federico@ximian.com>
+ * Seth Alves <alves@hungry.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program 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 General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include <config.h>
+#include <string.h>
+#include <glade/glade.h>
+#include <gal/widgets/e-unicode.h>
+#include <libgnome/gnome-i18n.h>
+#include <widgets/misc/e-dateedit.h>
+
+#include "event-page.h"
+#include "alarm-page.h"
+#include "recurrence-page.h"
+#include "event-editor.h"
+
+struct _EventEditorPrivate {
+ EventPage *event_page;
+ AlarmPage *alarm_page;
+ RecurrencePage *recur_page;
+};
+
+
+
+static void event_editor_class_init (EventEditorClass *class);
+static void event_editor_init (EventEditor *ee);
+static void event_editor_destroy (GtkObject *object);
+
+static CompEditor *parent_class;
+
+
+
+/**
+ * event_editor_get_type:
+ *
+ * Registers the #EventEditor class if necessary, and returns the type ID
+ * associated to it.
+ *
+ * Return value: The type ID of the #EventEditor class.
+ **/
+GtkType
+event_editor_get_type (void)
+{
+ static GtkType event_editor_type = 0;
+
+ if (!event_editor_type) {
+ static const GtkTypeInfo event_editor_info = {
+ "EventEditor",
+ sizeof (EventEditor),
+ sizeof (EventEditorClass),
+ (GtkClassInitFunc) event_editor_class_init,
+ (GtkObjectInitFunc) event_editor_init,
+ NULL, /* reserved_1 */
+ NULL, /* reserved_2 */
+ (GtkClassInitFunc) NULL
+ };
+
+ event_editor_type = gtk_type_unique (TYPE_COMP_EDITOR,
+ &event_editor_info);
+ }
+
+ return event_editor_type;
+}
+
+/* Class initialization function for the event editor */
+static void
+event_editor_class_init (EventEditorClass *class)
+{
+ GtkObjectClass *object_class;
+
+ object_class = (GtkObjectClass *) class;
+
+ parent_class = gtk_type_class (TYPE_COMP_EDITOR);
+
+ object_class->destroy = event_editor_destroy;
+}
+
+/* Object initialization function for the event editor */
+static void
+event_editor_init (EventEditor *ee)
+{
+ EventEditorPrivate *priv;
+
+ priv = g_new0 (EventEditorPrivate, 1);
+ ee->priv = priv;
+
+ priv->event_page = event_page_new ();
+ comp_editor_append_page (COMP_EDITOR (ee),
+ COMP_EDITOR_PAGE (priv->event_page),
+ _("Appointment"));
+
+ priv->alarm_page = alarm_page_new ();
+ comp_editor_append_page (COMP_EDITOR (ee),
+ COMP_EDITOR_PAGE (priv->alarm_page),
+ _("Reminder"));
+
+ priv->recur_page = recurrence_page_new ();
+ comp_editor_append_page (COMP_EDITOR (ee),
+ COMP_EDITOR_PAGE (priv->recur_page),
+ _("Recurrence"));
+
+}
+
+/* Destroy handler for the event editor */
+static void
+event_editor_destroy (GtkObject *object)
+{
+ EventEditor *ee;
+ EventEditorPrivate *priv;
+
+ g_return_if_fail (object != NULL);
+ g_return_if_fail (IS_EVENT_EDITOR (object));
+
+ ee = EVENT_EDITOR (object);
+ priv = ee->priv;
+
+ if (GTK_OBJECT_CLASS (parent_class)->destroy)
+ (* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
+}
+
+/**
+ * event_editor_new:
+ *
+ * Creates a new event editor dialog.
+ *
+ * Return value: A newly-created event editor dialog, or NULL if the event
+ * editor could not be created.
+ **/
+EventEditor *
+event_editor_new (void)
+{
+ return EVENT_EDITOR (gtk_type_new (TYPE_EVENT_EDITOR));
+}