From f4e8698fdd4c48422f217f409e92ec7a2d26c443 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Fri, 1 Jun 2001 23:54:43 +0000 Subject: renamed from editor-page for consistency, more complete implementation 2001-06-01 JP Rosevear * 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 --- calendar/gui/dialogs/event-editor.c | 155 ++++++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) create mode 100644 calendar/gui/dialogs/event-editor.c (limited to 'calendar/gui/dialogs/event-editor.c') 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 + * Federico Mena-Quintero + * Seth Alves + * + * 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 +#include +#include +#include +#include +#include + +#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)); +} -- cgit v1.2.3