diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-03-10 10:57:58 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-03-10 10:57:58 +0800 |
commit | 72906c59d7855548865489e8f0e5080e57d19a60 (patch) | |
tree | de9c49731d1f952fb7fb97a5bfc3a7415490ac10 /widgets/misc/e-config-page.h | |
parent | 9ccdadd473a220eac94f67ff94d52ab9893e00b7 (diff) | |
download | gsoc2013-evolution-72906c59d7855548865489e8f0e5080e57d19a60.tar.gz gsoc2013-evolution-72906c59d7855548865489e8f0e5080e57d19a60.tar.zst gsoc2013-evolution-72906c59d7855548865489e8f0e5080e57d19a60.zip |
Rename Page.widget -> Page.page_widget; it is now an EConfigPage instead
* e-multi-config-dialog.c: Rename Page.widget -> Page.page_widget;
it is now an EConfigPage instead of just a GtkWidget. Add
`num_unapplied' to EMultiConfigDialogPrivate. Derive from
GnomeDialog, not GtkWindow.
(update_buttons): New function to update the sensitiveness of the
buttons according to whether all the settings have been applied or
not.
(page_new): Likewise.
(create_page_container): Renamed from `create_page_widget'.
(init): Add Apply/OK/Cancel buttons to the dialog. Init
->num_unapplied to zero.
(page_changed_callback): New, callback for the page's "changed"
signal.
(e_multi_config_dialog_add_page): Connect the callback, update
->num_unapplied, update the buttons by calling `update_buttons'.
(ok): New function for handling the OK button.
(apply): New function for handling the Apply button.
(cancel): New function for handling the Cancel button.
(impl_clicked): Implementation for the GnomeDialog's ::clicked
signal.
(class_init): Install.
* test-multi-config-dialog.c (add_pages): Update to use
EConfigPages instead of plain GtkWidgets.
* e-multi-config-dialog.c, e-multi-config-dialog.h: Derive from
GnomeDialog, not GtkWindow.
* e-config-page.c: New.
* e-config-page.h: New.
svn path=/trunk/; revision=16006
Diffstat (limited to 'widgets/misc/e-config-page.h')
-rw-r--r-- | widgets/misc/e-config-page.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/widgets/misc/e-config-page.h b/widgets/misc/e-config-page.h new file mode 100644 index 0000000000..3cbbc482cc --- /dev/null +++ b/widgets/misc/e-config-page.h @@ -0,0 +1,76 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* e-config-page.h + * + * Copyright (C) 2002 Ximian, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of version 2 of the GNU General Public + * License as published by the Free Software Foundation. + * + * 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: Ettore Perazzoli <ettore@ximian.com> + */ + +#ifndef _E_CONFIG_PAGE_H_ +#define _E_CONFIG_PAGE_H_ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <gnome.h> + +#ifdef __cplusplus +extern "C" { +#pragma } +#endif /* __cplusplus */ + +#define E_TYPE_CONFIG_PAGE (e_config_page_get_type ()) +#define E_CONFIG_PAGE(obj) (GTK_CHECK_CAST ((obj), E_TYPE_CONFIG_PAGE, EConfigPage)) +#define E_CONFIG_PAGE_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), E_TYPE_CONFIG_PAGE, EConfigPageClass)) +#define E_IS_CONFIG_PAGE(obj) (GTK_CHECK_TYPE ((obj), E_TYPE_CONFIG_PAGE)) +#define E_IS_CONFIG_PAGE_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), E_TYPE_CONFIG_PAGE)) + + +typedef struct _EConfigPage EConfigPage; +typedef struct _EConfigPagePrivate EConfigPagePrivate; +typedef struct _EConfigPageClass EConfigPageClass; + +struct _EConfigPage { + GtkEventBox parent; + + EConfigPagePrivate *priv; +}; + +struct _EConfigPageClass { + GtkEventBoxClass parent_class; + + /* Signals. */ + void (* apply) (EConfigPage *config_page); + void (* changed) (EConfigPage *config_page); +}; + + +GtkType e_config_page_get_type (void); +GtkWidget *e_config_page_new (void); + +void e_config_page_apply (EConfigPage *config_page); +gboolean e_config_page_is_applied (EConfigPage *config_page); + +/* Protected. */ +void e_config_page_changed (EConfigPage *config_page); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* _E_CONFIG_PAGE_H_ */ |