diff options
author | JP Rosevear <jpr@ximian.com> | 2001-09-19 12:33:33 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2001-09-19 12:33:33 +0800 |
commit | d639a620a6438ea93787cedfe9f3eb87014275a3 (patch) | |
tree | 602d9156e8e33197fc27752d8fb976cce99d896c /calendar/gui/e-meeting-attendee.h | |
parent | d284de85386149adba1e94f1b05b6b2d631e8585 (diff) | |
download | gsoc2013-evolution-d639a620a6438ea93787cedfe9f3eb87014275a3.tar.gz 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.h | 164 |
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_ */ |