From f00e9367382fb81cdb4b689f96645357f122b051 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 16 May 2001 23:38:58 +0000 Subject: Split the event and task editors into different objects for the separate 2001-05-16 Federico Mena Quintero Split the event and task editors into different objects for the separate pages; this way they can be shared by both editors. * gui/dialogs/editor-page.[ch]: New abstract class for a page in a calendar component editor. * gui/dialogs/event-page.[ch]: Main page of an event editor. * gui/dialogs/alarm-page.[ch]: Alarm page of a calendar component editor. * gui/dialogs/recurrence-page.[ch]: Recurrence page of a calendar component editor. * gui/dialogs/event-page.c (event_page_fill_widgets): Eeek, this was missing a bunch of break statements. (event_page_fill_component): Use a temporary variable rather than allocating a struct icaltimetype. * gui/dialogs/alarm-page.c (get_alarm_string): Do not use fixed-size buffers. (alarm_page_fill_widgets): Use cal_obj_uid_list_free(). (append_reminder): Now the list stores the plain CalComponentAlarm structures in the row data. We do *NOT* want to be frobbing the component's data directly. Rather, we clone the alarms from the component and maintain them on our own. (alarm_page_fill_component): Clone the alarms before adding them to the component so that we maintain the invariant that the alarm structures in the list did *not* come from the component. * cal-util/cal-component.c (cal_component_add_alarm): Added documentation. (cal_component_remove_alarm): Added documentation. (cal_component_remove_alarm): Do a lookup in our hash table of alarms instead of scanning the whole component. (CalComponentAlarm): Removed the `parent' field, since it was unused. (cal_component_free_alarm_uids): Removed function, since cal_component_get_alarm_uids() is documented so that the user will know that he must use cal_obj_uid_list_free(). (cal_component_alarm_clone): New function. svn path=/trunk/; revision=9861 --- calendar/gui/dialogs/event-page.h | 70 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 calendar/gui/dialogs/event-page.h (limited to 'calendar/gui/dialogs/event-page.h') diff --git a/calendar/gui/dialogs/event-page.h b/calendar/gui/dialogs/event-page.h new file mode 100644 index 0000000000..85281b9800 --- /dev/null +++ b/calendar/gui/dialogs/event-page.h @@ -0,0 +1,70 @@ +/* Evolution calendar - Main page of the event editor dialog + * + * Copyright (C) 2001 Ximian, Inc. + * + * Authors: Federico Mena-Quintero + * Miguel de Icaza + * Seth Alves + * JP Rosevear + * + * 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. + */ + +#ifndef EVENT_PAGE_H +#define EVENT_PAGE_H + +#include "editor-page.h" + +BEGIN_GNOME_DECLS + + + +#define TYPE_EVENT_PAGE (event_page_get_type ()) +#define EVENT_PAGE(obj) (GTK_CHECK_CAST ((obj), TYPE_EVENT_PAGE, EventPage)) +#define EVENT_PAGE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TYPE_EVENT_PAGE, \ + EventPageClass)) +#define IS_EVENT_PAGE(obj) (GTK_CHECK_TYPE ((obj), TYPE_EVENT_PAGE)) +#define IS_EVENT_PAGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), TYPE_EVENT_PAGE)) + +typedef struct _EventPagePrivate EventPagePrivate; + +typedef struct { + EditorPage page; + + /* Private data */ + EventPagePrivate *priv; +} EventPage; + +typedef struct { + EditorPageClass parent_class; + + /* Notification signals */ + + void (* dates_changed) (EventPage *epage); +} EventPageClass; + +GtkType event_page_get_type (void); + +EventPage *event_page_construct (EventPage *epage); + +EventPage *event_page_new (void); + +time_t event_page_get_dtstart (EventPage *epage); + + + +END_GNOME_DECLS + +#endif -- cgit v1.2.3