X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkradiotoolbutton.c;h=ab849edab2f634a3df5e719c031372df286af42f;hb=0ba92bc26d1b716f2f9c0543593f13cd5a92c521;hp=cd6a756878e1b311a27ae391b53a1d8114a68f6c;hpb=cca8dd63475ab582d8592039f1f69d7f22a3b928;p=~andy%2Fgtk diff --git a/gtk/gtkradiotoolbutton.c b/gtk/gtkradiotoolbutton.c index cd6a75687..ab849edab 100644 --- a/gtk/gtkradiotoolbutton.c +++ b/gtk/gtkradiotoolbutton.c @@ -15,56 +15,48 @@ * 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. + * License along with this library. If not, see . */ -#include +#include "config.h" #include "gtkradiotoolbutton.h" #include "gtkradiobutton.h" #include "gtkintl.h" -#include "gtkalias.h" +#include "gtkprivate.h" + + +/** + * SECTION:gtkradiotoolbutton + * @Short_description: A toolbar item that contains a radio button + * @Title: GtkRadioToolButton + * @See_also: #GtkToolbar, #GtkToolButton + * + * A #GtkRadioToolButton is a #GtkToolItem that contains a radio button, + * that is, a button that is part of a group of toggle buttons where only + * one button can be active at a time. + * + * Use gtk_radio_tool_button_new() to create a new + * #GtkRadioToolButton. Use gtk_radio_tool_button_new_from_widget() to + * create a new #GtkRadioToolButton that is part of the same group as an + * existing #GtkRadioToolButton. Use + * gtk_radio_tool_button_new_from_stock() or + * gtk_radio_tool_button_new_with_stock_from_widget() create a new + * #GtkRadioToolButton containing a stock item. + */ + enum { PROP_0, PROP_GROUP }; -static void gtk_radio_tool_button_init (GtkRadioToolButton *button); -static void gtk_radio_tool_button_class_init (GtkRadioToolButtonClass *klass); static void gtk_radio_tool_button_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec); -GType -gtk_radio_tool_button_get_type (void) -{ - static GType type = 0; - - if (!type) - { - static const GTypeInfo type_info = - { - sizeof (GtkRadioToolButtonClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) gtk_radio_tool_button_class_init, - (GClassFinalizeFunc) NULL, - NULL, - sizeof (GtkRadioToolButton), - 0, /* n_preallocs */ - (GInstanceInitFunc) gtk_radio_tool_button_init - }; +G_DEFINE_TYPE (GtkRadioToolButton, gtk_radio_tool_button, GTK_TYPE_TOGGLE_TOOL_BUTTON) - type = g_type_register_static (GTK_TYPE_TOGGLE_TOOL_BUTTON, - "GtkRadioToolButton", &type_info, 0); - } - return type; -} - - static void gtk_radio_tool_button_class_init (GtkRadioToolButtonClass *klass) { @@ -88,10 +80,10 @@ gtk_radio_tool_button_class_init (GtkRadioToolButtonClass *klass) g_object_class_install_property (object_class, PROP_GROUP, g_param_spec_object ("group", - _("Group"), - _("The radio tool button whose group this button belongs to."), + P_("Group"), + P_("The radio tool button whose group this button belongs to."), GTK_TYPE_RADIO_TOOL_BUTTON, - G_PARAM_WRITABLE)); + GTK_PARAM_WRITABLE)); } @@ -135,7 +127,8 @@ gtk_radio_tool_button_set_property (GObject *object, /** * gtk_radio_tool_button_new: - * @group: An existing radio button group, or %NULL if you are creating a new group + * @group: (allow-none) (transfer none) (element-type GtkRadioButton): An + * existing radio button group, or %NULL if you are creating a new group * * Creates a new #GtkRadioToolButton, adding it to @group. * @@ -158,14 +151,15 @@ gtk_radio_tool_button_new (GSList *group) /** * gtk_radio_tool_button_new_from_stock: - * @group: an existing radio button group, or %NULL if you are creating a new group + * @group: (allow-none) (element-type GtkRadioButton): an existing radio button + * group, or %NULL if you are creating a new group * @stock_id: the name of a stock item * * Creates a new #GtkRadioToolButton, adding it to @group. * The new #GtkRadioToolButton will contain an icon and label from the * stock item indicated by @stock_id. * - * Return value: The new #GtkRadioToolItem + * Return value: The new #GtkRadioToolButton * * Since: 2.4 **/ @@ -178,7 +172,7 @@ gtk_radio_tool_button_new_from_stock (GSList *group, g_return_val_if_fail (stock_id != NULL, NULL); button = g_object_new (GTK_TYPE_RADIO_TOOL_BUTTON, - "stock_id", stock_id, + "stock-id", stock_id, NULL); @@ -188,13 +182,13 @@ gtk_radio_tool_button_new_from_stock (GSList *group, } /** - * gtk_radio_tool_button_new_from_widget: - * @group: An existing #GtkRadioToolButton - * + * gtk_radio_tool_button_new_from_widget: (constructor) + * @group: (allow-none): An existing #GtkRadioToolButton, or %NULL + * * Creates a new #GtkRadioToolButton adding it to the same group as @gruup - * - * Return value: The new #GtkRadioToolButton - * + * + * Return value: (transfer none): The new #GtkRadioToolButton + * * Since: 2.4 **/ GtkToolItem * @@ -202,25 +196,25 @@ gtk_radio_tool_button_new_from_widget (GtkRadioToolButton *group) { GSList *list = NULL; - g_return_val_if_fail (GTK_IS_RADIO_TOOL_BUTTON (group), NULL); + g_return_val_if_fail (group == NULL || GTK_IS_RADIO_TOOL_BUTTON (group), NULL); - if (group) + if (group != NULL) list = gtk_radio_tool_button_get_group (GTK_RADIO_TOOL_BUTTON (group)); return gtk_radio_tool_button_new (list); } /** - * gtk_radio_tool_button_new_with_stock_from_widget: - * @group: An existing #GtkRadioToolButton. - * @stock_id: the name of a stock item - * + * gtk_radio_tool_button_new_with_stock_from_widget: (constructor) + * @group: (allow-none): An existing #GtkRadioToolButton. + * @stock_id: the name of a stock item + * * Creates a new #GtkRadioToolButton adding it to the same group as @group. * The new #GtkRadioToolButton will contain an icon and label from the * stock item indicated by @stock_id. - * - * Return value: A new #GtkRadioToolButton - * + * + * Return value: (transfer none): A new #GtkRadioToolButton + * * Since: 2.4 **/ GtkToolItem * @@ -229,9 +223,9 @@ gtk_radio_tool_button_new_with_stock_from_widget (GtkRadioToolButton *group, { GSList *list = NULL; - g_return_val_if_fail (GTK_IS_RADIO_TOOL_BUTTON (group), NULL); + g_return_val_if_fail (group == NULL || GTK_IS_RADIO_TOOL_BUTTON (group), NULL); - if (group) + if (group != NULL) list = gtk_radio_tool_button_get_group (group); return gtk_radio_tool_button_new_from_stock (list, stock_id); @@ -248,11 +242,11 @@ get_radio_button (GtkRadioToolButton *button) * @button: a #GtkRadioToolButton * * Returns the radio button group @button belongs to. - * - * Return value: The group @button belongs to. - * + * + * Return value: (transfer none) (element-type GtkRadioButton): The group @button belongs to. + * * Since: 2.4 - **/ + */ GSList * gtk_radio_tool_button_get_group (GtkRadioToolButton *button) { @@ -264,7 +258,7 @@ gtk_radio_tool_button_get_group (GtkRadioToolButton *button) /** * gtk_radio_tool_button_set_group: * @button: a #GtkRadioToolButton - * @group: an existing radio button group + * @group: (transfer none) (element-type GtkRadioButton): an existing radio button group * * Adds @button to @group, removing it from the group it belonged to before. * @@ -278,6 +272,3 @@ gtk_radio_tool_button_set_group (GtkRadioToolButton *button, gtk_radio_button_set_group (get_radio_button (button), group); } - -#define __GTK_RADIO_TOOL_BUTTON_C__ -#include "gtkaliasdef.c"