X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkradiotoolbutton.c;h=ab849edab2f634a3df5e719c031372df286af42f;hb=d484721b5ca9e82d6422cca8a3a40f001208f87b;hp=c8bab4b04e9f6ccb1ba1806272cff18ba8230eee;hpb=80581c3011871fa000433a881554ffc1e9363468;p=~andy%2Fgtk diff --git a/gtk/gtkradiotoolbutton.c b/gtk/gtkradiotoolbutton.c index c8bab4b04..ab849edab 100644 --- a/gtk/gtkradiotoolbutton.c +++ b/gtk/gtkradiotoolbutton.c @@ -15,55 +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 "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) { @@ -87,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)); } @@ -134,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. * @@ -157,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 **/ @@ -177,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); @@ -187,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 * @@ -201,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 * @@ -228,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); @@ -247,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) { @@ -263,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. * @@ -277,4 +272,3 @@ gtk_radio_tool_button_set_group (GtkRadioToolButton *button, gtk_radio_button_set_group (get_radio_button (button), group); } -