From 5ba3dbaf7e99a051d004362d86c12e6818674661 Mon Sep 17 00:00:00 2001 From: Christian Persch Date: Tue, 17 Oct 2006 20:56:10 +0000 Subject: A lib/widgets/ephy-spinner-tool-item.c: A 2006-10-17 Christian Persch * lib/widgets/Makefile.am: A lib/widgets/ephy-spinner-tool-item.c: A lib/widgets/ephy-spinner-tool-item.h: * lib/widgets/testspinner.c: (change_toolbar_style_cb), (change_toolbar_icon_size_cb), (spin_toolbar_spinner_cb), (main): * src/ephy-toolbar.c: (ephy_toolbar_update_spinner), (ephy_toolbar_constructor): Add EphySpinnerToolItem which encapsulates a spinner and automatically adapts its size to toolbar style changes, and use it in EphyToolbar. --- lib/widgets/ephy-spinner-tool-item.h | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 lib/widgets/ephy-spinner-tool-item.h (limited to 'lib/widgets/ephy-spinner-tool-item.h') diff --git a/lib/widgets/ephy-spinner-tool-item.h b/lib/widgets/ephy-spinner-tool-item.h new file mode 100644 index 000000000..759ead10f --- /dev/null +++ b/lib/widgets/ephy-spinner-tool-item.h @@ -0,0 +1,62 @@ +/* + * Copyright © 2006 Christian Persch + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * $Id$ + */ + +#ifndef EPHY_SPINNER_TOOL_ITEM_H +#define EPHY_SPINNER_TOOL_ITEM_H + +#include + +G_BEGIN_DECLS + +#define EPHY_TYPE_SPINNER_TOOL_ITEM (ephy_spinner_tool_item_get_type ()) +#define EPHY_SPINNER_TOOL_ITEM(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_SPINNER_TOOL_ITEM, EphySpinnerToolItem)) +#define EPHY_SPINNER_TOOL_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_SPINNER_TOOL_ITEM, EphySpinnerToolItemClass)) +#define EPHY_IS_SPINNER_TOOL_ITEM(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_SPINNER_TOOL_ITEM)) +#define EPHY_IS_SPINNER_TOOL_ITEM_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_SPINNER_TOOL_ITEM)) +#define EPHY_SPINNER_TOOL_ITEM_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_SPINNER_TOOL_ITEM, EphySpinnerToolItemClass)) + +typedef struct _EphySpinnerToolItem EphySpinnerToolItem; +typedef struct _EphySpinnerToolItemClass EphySpinnerToolItemClass; +typedef struct _EphySpinnerToolItemDetails EphySpinnerToolItemDetails; + +struct _EphySpinnerToolItem +{ + GtkToolItem parent; + + /*< private >*/ + EphySpinnerToolItemDetails *details; +}; + +struct _EphySpinnerToolItemClass +{ + GtkToolItemClass parent_class; +}; + +GType ephy_spinner_tool_item_get_type (void); + +GtkToolItem *ephy_spinner_tool_item_new (void); + +void ephy_spinner_tool_item_set_spinning (EphySpinnerToolItem *item, + gboolean spinning); + +G_END_DECLS + +#endif /* !EPHY_SPINNER_TOOL_ITEM_H */ -- cgit