2 * Copyright (C) 2015 Red Hat, Inc. (www.redhat.com)
4 * This program is free software: you can redistribute it and/or modify it
5 * under the terms of the GNU General Public License as published by
6 * the Free Software Foundation.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
10 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef E_COMP_EDITOR_PAGE_GENERAL_H
19 #define E_COMP_EDITOR_PAGE_GENERAL_H
21 #include <libedataserver/libedataserver.h>
22 #include <calendar/gui/e-meeting-store.h>
23 #include <calendar/gui/e-comp-editor.h>
24 #include <calendar/gui/e-comp-editor-page.h>
26 /* Standard GObject macros */
28 #define E_TYPE_COMP_EDITOR_PAGE_GENERAL \
29 (e_comp_editor_page_general_get_type ())
30 #define E_COMP_EDITOR_PAGE_GENERAL(obj) \
31 (G_TYPE_CHECK_INSTANCE_CAST \
32 ((obj), E_TYPE_COMP_EDITOR_PAGE_GENERAL, ECompEditorPageGeneral))
33 #define E_COMP_EDITOR_PAGE_GENERAL_CLASS(cls) \
34 (G_TYPE_CHECK_CLASS_CAST \
35 ((cls), E_TYPE_COMP_EDITOR_PAGE_GENERAL, ECompEditorPageGeneralClass))
36 #define E_IS_COMP_EDITOR_PAGE_GENERAL(obj) \
37 (G_TYPE_CHECK_INSTANCE_TYPE \
38 ((obj), E_TYPE_COMP_EDITOR_PAGE_GENERAL))
39 #define E_IS_COMP_EDITOR_PAGE_GENERAL_CLASS(cls) \
40 (G_TYPE_CHECK_CLASS_TYPE \
41 ((cls), E_TYPE_COMP_EDITOR_PAGE_GENERAL))
42 #define E_COMP_EDITOR_PAGE_GENERAL_GET_CLASS(obj) \
43 (G_TYPE_INSTANCE_GET_CLASS \
44 ((obj), E_TYPE_COMP_EDITOR_PAGE_GENERAL, ECompEditorPageGeneralClass))
46 typedef struct _ECompEditorPageGeneral ECompEditorPageGeneral
;
47 typedef struct _ECompEditorPageGeneralClass ECompEditorPageGeneralClass
;
48 typedef struct _ECompEditorPageGeneralPrivate ECompEditorPageGeneralPrivate
;
50 struct _ECompEditorPageGeneral
{
51 ECompEditorPage parent
;
53 ECompEditorPageGeneralPrivate
*priv
;
56 struct _ECompEditorPageGeneralClass
{
57 ECompEditorPageClass parent_class
;
60 /* ECompEditorPageGeneral uses the first two lines of the grid, counting from zero:
62 Organizer: [ | v ] Source: [ | v ]
63 [ Attendees... ] +---------------------------------------------------+ [ Add ]
68 +---------------------------------------------------+
70 and when show-attendees is set to FALSE, the second line and the organizer part are
71 hidden, making shown only the first line as:
76 GType
e_comp_editor_page_general_get_type (void) G_GNUC_CONST
;
78 e_comp_editor_page_general_new (ECompEditor
*editor
,
79 const gchar
*source_label
,
80 const gchar
*source_extension_name
,
81 ESource
*select_source
,
82 gboolean show_attendees
,
83 gint data_column_width
);
84 const gchar
* e_comp_editor_page_general_get_source_label
85 (ECompEditorPageGeneral
*page_general
);
86 void e_comp_editor_page_general_set_source_label
87 (ECompEditorPageGeneral
*page_general
,
88 const gchar
*source_label
);
89 const gchar
* e_comp_editor_page_general_get_source_extension_name
90 (ECompEditorPageGeneral
*page_general
);
91 void e_comp_editor_page_general_set_source_extension_name
92 (ECompEditorPageGeneral
*page_general
,
93 const gchar
*source_extension_name
);
94 ESource
* e_comp_editor_page_general_ref_selected_source
95 (ECompEditorPageGeneral
*page_general
);
96 void e_comp_editor_page_general_set_selected_source
97 (ECompEditorPageGeneral
*page_general
,
99 gboolean e_comp_editor_page_general_get_show_attendees
100 (ECompEditorPageGeneral
*page_general
);
101 void e_comp_editor_page_general_set_show_attendees
102 (ECompEditorPageGeneral
*page_general
,
103 gboolean show_attendees
);
104 gint e_comp_editor_page_general_get_data_column_width
105 (ECompEditorPageGeneral
*page_general
);
106 void e_comp_editor_page_general_set_data_column_width
107 (ECompEditorPageGeneral
*page_general
,
108 gint data_column_width
);
109 void e_comp_editor_page_general_update_view (ECompEditorPageGeneral
*page_general
);
110 EMeetingStore
* e_comp_editor_page_general_get_meeting_store
111 (ECompEditorPageGeneral
*page_general
);
112 GSList
* e_comp_editor_page_general_get_added_attendees
113 (ECompEditorPageGeneral
*page_general
);
114 GSList
* e_comp_editor_page_general_get_removed_attendees
115 (ECompEditorPageGeneral
*page_general
);
119 #endif /* E_COMP_EDITOR_PAGE_GENERAL_H */