aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-meeting-attendee.h
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2001-09-19 12:33:33 +0800
committerJP Rosevear <jpr@src.gnome.org>2001-09-19 12:33:33 +0800
commitd639a620a6438ea93787cedfe9f3eb87014275a3 (patch)
tree602d9156e8e33197fc27752d8fb976cce99d896c /calendar/gui/e-meeting-attendee.h
parentd284de85386149adba1e94f1b05b6b2d631e8585 (diff)
downloadgsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.tar
gsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.tar.gz
gsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.tar.bz2
gsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.tar.lz
gsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.tar.xz
gsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.tar.zst
gsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.zip
A page that shows the meeting time selector and free/busy data for
2001-09-18 JP Rosevear <jpr@ximian.com> * gui/dialogs/schedule-page.*: A page that shows the meeting time selector and free/busy data for attendees * gui/dialogs/meeting-page.c: use the meeting model to track/edit attendees, remove table value conversion routines and simple table routines (set_attendees): take a pointer array (meeting_page_destroy): destroy the pointer array, save state (meeting_page_init): new pointer array (meeting_page_fill_widgets): don't null the deleted attendees field (popup_delegate_cb): array add (popup_delete_cb): array add (cleanup_attendees): iterate over the array to unref now (meeting_page_fill_widgets): don't null out fields, no need to add attendees here (invite_entry_changed): use e_meeting_attendee routines (popup_delegate_cb): ditto (popup_delete_cb): ditto (meeting_page_new): take new arg and pass it to construct (meeting_page_construct): take new arg, use e-meeting-model routines to construct table * gui/dialogs/task-editor.c (task_editor_init): new meeting model (task_editor_destroy): unref the model * gui/dialogs/event-editor.c (event_editor_init): make new model and pass it to meeting and schedule pages (event_editor_set_cal_client): virtual function, set meeting model client (event_editor_edit_comp): add the attendees to the model (event_editor_destroy): unref model * gui/dialogs/comp-editor.h: add virtual function * gui/dialogs/comp-editor.c (comp_editor_set_cal_client): make set_cal_client a virutal function * gui/e-meeting-types.h: generally useful type defines * gui/e-meeting-time-sel*.[hc]: Move here and use an e-table for the attendee list and extract display information from the new meeting model and attendees * gui/e-meeting-time-sel.etspec: spec for the table * gui/e-meeting-attendee.[hc]: meeting attendees for the model, with to/from conversions for CalComponentAttendee structure, emits changed signal and allows getting and setting of free busy periods * gui/e-meeting-model.[hc]: move the model out on its own * gui/e-itip-control.c (write_error_html): clean up warnings svn path=/trunk/; revision=12968
Diffstat (limited to 'calendar/gui/e-meeting-attendee.h')
-rw-r--r--calendar/gui/e-meeting-attendee.h164
1 files changed, 164 insertions, 0 deletions
diff --git a/calendar/gui/e-meeting-attendee.h b/calendar/gui/e-meeting-attendee.h
new file mode 100644
index 0000000000..97de14f8e9
--- /dev/null
+++ b/calendar/gui/e-meeting-attendee.h
@@ -0,0 +1,164 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/* e-meeting_attendee.h
+ *
+ * Copyright (C) 2001 Ximian, Inc.
+ *
+ * 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.
+ *
+ * Author: JP Rosevear
+ */
+
+#ifndef _E_MEETING_ATTENDEE_H_
+#define _E_MEETING_ATTENDEE_H_
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+#include <cal-util/cal-component.h>
+#include "e-meeting-types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#pragma }
+#endif /* __cplusplus */
+
+#define E_TYPE_MEETING_ATTENDEE (e_meeting_attendee_get_type ())
+#define E_MEETING_ATTENDEE(obj) (GTK_CHECK_CAST ((obj), E_TYPE_MEETING_ATTENDEE, EMeetingAttendee))
+#define E_MEETING_ATTENDEE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_MEETING_ATTENDEE, EMeetingAttendeeClass))
+#define E_IS_MEETING_ATTENDEE(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_MEETING_ATTENDEE))
+#define E_IS_MEETING_ATTENDEE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_TYPE_MEETING_ATTENDEE))
+
+
+typedef struct _EMeetingAttendee EMeetingAttendee;
+typedef struct _EMeetingAttendeePrivate EMeetingAttendeePrivate;
+typedef struct _EMeetingAttendeeClass EMeetingAttendeeClass;
+
+/* These specify the type of attendee. Either a person or a resource (e.g. a
+ meeting room). These are used for the Autopick options, where the user can
+ ask for a time when, for example, all people and one resource are free.
+ The default is E_MEETING_ATTENDEE_REQUIRED_PERSON. */
+typedef enum
+{
+ E_MEETING_ATTENDEE_REQUIRED_PERSON,
+ E_MEETING_ATTENDEE_OPTIONAL_PERSON,
+ E_MEETING_ATTENDEE_RESOURCE
+} EMeetingAttendeeType;
+
+struct _EMeetingAttendee {
+ GtkObject parent;
+
+ EMeetingAttendeePrivate *priv;
+};
+
+struct _EMeetingAttendeeClass {
+ GtkObjectClass parent_class;
+
+ void (* changed) (EMeetingAttendee *ia);
+};
+
+
+GtkType e_meeting_attendee_get_type (void);
+GtkObject *e_meeting_attendee_new (void);
+GtkObject *e_meeting_attendee_new_from_cal_component_attendee (CalComponentAttendee *ca);
+
+CalComponentAttendee *e_meeting_attendee_as_cal_component_attendee (EMeetingAttendee *ia);
+
+const gchar *e_meeting_attendee_get_address (EMeetingAttendee *ia);
+void e_meeting_attendee_set_address (EMeetingAttendee *ia, gchar *address);
+gboolean e_meeting_attendee_is_set_address (EMeetingAttendee *ia);
+
+const gchar *e_meeting_attendee_get_member (EMeetingAttendee *ia);
+void e_meeting_attendee_set_member (EMeetingAttendee *ia, gchar *member);
+gboolean e_meeting_attendee_is_set_member (EMeetingAttendee *ia);
+
+icalparameter_cutype e_meeting_attendee_get_cutype (EMeetingAttendee *ia);
+void e_meeting_attendee_set_cutype (EMeetingAttendee *ia, icalparameter_cutype cutype);
+
+icalparameter_role e_meeting_attendee_get_role (EMeetingAttendee *ia);
+void e_meeting_attendee_set_role (EMeetingAttendee *ia, icalparameter_role role);
+
+gboolean e_meeting_attendee_get_rsvp (EMeetingAttendee *ia);
+void e_meeting_attendee_set_rsvp (EMeetingAttendee *ia, gboolean rsvp);
+
+const gchar *e_meeting_attendee_get_delto (EMeetingAttendee *ia);
+void e_meeting_attendee_set_delto (EMeetingAttendee *ia, gchar *delto);
+gboolean e_meeting_attendee_is_set_delto (EMeetingAttendee *ia);
+
+const gchar *e_meeting_attendee_get_delfrom (EMeetingAttendee *ia);
+void e_meeting_attendee_set_delfrom (EMeetingAttendee *ia, gchar *delfrom);
+gboolean e_meeting_attendee_is_set_delfrom (EMeetingAttendee *ia);
+
+icalparameter_partstat e_meeting_attendee_get_status (EMeetingAttendee *ia);
+void e_meeting_attendee_set_status (EMeetingAttendee *ia, icalparameter_partstat status);
+
+const gchar *e_meeting_attendee_get_sentby (EMeetingAttendee *ia);
+void e_meeting_attendee_set_sentby (EMeetingAttendee *ia, gchar *sentby);
+gboolean e_meeting_attendee_is_set_sentby (EMeetingAttendee *ia);
+
+const gchar *e_meeting_attendee_get_cn (EMeetingAttendee *ia);
+void e_meeting_attendee_set_cn (EMeetingAttendee *ia, gchar *cn);
+gboolean e_meeting_attendee_is_set_cn (EMeetingAttendee *ia);
+
+const gchar *e_meeting_attendee_get_language (EMeetingAttendee *ia);
+void e_meeting_attendee_set_language (EMeetingAttendee *ia, gchar *language);
+gboolean e_meeting_attendee_is_set_language (EMeetingAttendee *ia);
+
+EMeetingAttendeeType e_meeting_attendee_get_atype (EMeetingAttendee *ia);
+void e_meeting_attendee_set_atype (EMeetingAttendee *ia, EMeetingAttendeeType type);
+
+gboolean e_meeting_attendee_get_has_calendar_info (EMeetingAttendee *ia);
+void e_meeting_attendee_set_has_calendar_info (EMeetingAttendee *ia, gboolean has_calendar_info);
+
+const GArray *e_meeting_attendee_get_busy_periods (EMeetingAttendee *ia);
+gint e_meeting_attendee_find_first_busy_period (EMeetingAttendee *ia, GDate *date);
+gboolean e_meeting_attendee_add_busy_period (EMeetingAttendee *ia,
+ gint start_year,
+ gint start_month,
+ gint start_day,
+ gint start_hour,
+ gint start_minute,
+ gint end_year,
+ gint end_month,
+ gint end_day,
+ gint end_hour,
+ gint end_minute,
+ EMeetingFreeBusyType busy_type);
+
+EMeetingTime e_meeting_attendee_get_start_busy_range (EMeetingAttendee *ia);
+EMeetingTime e_meeting_attendee_get_end_busy_range (EMeetingAttendee *ia);
+
+gboolean e_meeting_attendee_set_start_busy_range (EMeetingAttendee *ia,
+ gint start_year,
+ gint start_month,
+ gint start_day,
+ gint start_hour,
+ gint start_minute);
+gboolean e_meeting_attendee_set_end_busy_range (EMeetingAttendee *ia,
+ gint end_year,
+ gint end_month,
+ gint end_day,
+ gint end_hour,
+ gint end_minute);
+
+void e_meeting_attendee_clear_busy_periods (EMeetingAttendee *ia);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* _E_MEETING_ATTENDEE_H_ */