diff options
author | Marco Pesenti Gritti <marco@it.gnome.org> | 2003-01-21 02:57:20 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <mpeseng@src.gnome.org> | 2003-01-21 02:57:20 +0800 |
commit | c2beffd03405e6db4295afd6c2982388b808cb2e (patch) | |
tree | 819e50881626c5109ccdba5abb158585a3ca148b /lib/egg/eggradiotoolbutton.c | |
parent | 822ca51797e05edbe42b80f1a33a70a7327d732e (diff) | |
download | gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.gz gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.bz2 gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.lz gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.xz gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.zst gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.zip |
Merge eog-menu-api branch
2003-01-20 Marco Pesenti Gritti <marco@it.gnome.org>
* Merge eog-menu-api branch
Diffstat (limited to 'lib/egg/eggradiotoolbutton.c')
-rw-r--r-- | lib/egg/eggradiotoolbutton.c | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/lib/egg/eggradiotoolbutton.c b/lib/egg/eggradiotoolbutton.c new file mode 100644 index 000000000..ec14990b8 --- /dev/null +++ b/lib/egg/eggradiotoolbutton.c @@ -0,0 +1,121 @@ +/* eggradiotoolbutton.c + * + * Copyright (C) 2002 Anders Carlsson <andersca@codefactory.se> + * Copyright (C) 2002 James Henstridge <james@daa.com.au> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser 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. + */ + +#include "eggradiotoolbutton.h" +#include <gtk/gtkradiobutton.h> + +#ifndef _ +# define _(s) (s) +#endif + +static void egg_radio_tool_button_init (EggRadioToolButton *button); +static void egg_radio_tool_button_class_init (EggRadioToolButtonClass *klass); + +GType +egg_radio_tool_button_get_type (void) +{ + static GType type = 0; + + if (!type) + { + static const GTypeInfo type_info = + { + sizeof (EggRadioToolButtonClass), + (GBaseInitFunc) NULL, + (GBaseFinalizeFunc) NULL, + (GClassInitFunc) egg_radio_tool_button_class_init, + (GClassFinalizeFunc) NULL, + NULL, + sizeof (EggRadioToolButton), + 0, /* n_preallocs */ + (GInstanceInitFunc) egg_radio_tool_button_init + }; + + type = g_type_register_static (EGG_TYPE_TOGGLE_TOOL_BUTTON, + "EggRadioToolButton", &type_info, 0); + } + return type; +} + + +static void +egg_radio_tool_button_class_init (EggRadioToolButtonClass *klass) +{ + EggToolButtonClass *toolbutton_class; + + toolbutton_class = (EggToolButtonClass *)klass; + + toolbutton_class->button_type = GTK_TYPE_RADIO_BUTTON; +} + +static void +egg_radio_tool_button_init (EggRadioToolButton *button) +{ + gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (EGG_TOOL_BUTTON (button)->button), FALSE); +} + +EggToolItem * +egg_radio_tool_button_new (GSList *group) +{ + EggRadioToolButton *button; + + button = g_object_new (EGG_TYPE_RADIO_TOOL_BUTTON, + NULL); + + egg_radio_tool_button_set_group (button, group); + + return EGG_TOOL_ITEM (button); +} + +EggToolItem * +egg_radio_tool_button_new_from_stock (GSList *group, + const gchar *stock_id) +{ + EggRadioToolButton *button; + + button = g_object_new (EGG_TYPE_RADIO_TOOL_BUTTON, + "stock_id", stock_id, + "use_underline", TRUE, + NULL); + + + egg_radio_tool_button_set_group (button, group); + + return EGG_TOOL_ITEM (button); +} + +GSList * +egg_radio_tool_button_get_group (EggRadioToolButton *button) +{ + g_return_val_if_fail (EGG_IS_RADIO_TOOL_BUTTON (button), NULL); + + return gtk_radio_button_get_group (GTK_RADIO_BUTTON (EGG_TOOL_BUTTON (button)->button)); +} + +void +egg_radio_tool_button_set_group (EggRadioToolButton *button, + GSList *group) +{ + g_return_if_fail (EGG_IS_RADIO_TOOL_BUTTON (button)); + + gtk_radio_button_set_group (GTK_RADIO_BUTTON (EGG_TOOL_BUTTON (button)->button), group); +} + |