* 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 <http://www.gnu.org/licenses/>.
*/
-#include <config.h>
+#include "config.h"
#include "gtkradiotoolbutton.h"
#include "gtkradiobutton.h"
#include "gtkintl.h"
#include "gtkprivate.h"
-#include "gtkalias.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,
- I_("GtkRadioToolButton"), &type_info, 0);
- }
- return type;
-}
-
-
static void
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,
GTK_PARAM_WRITABLE));
/**
* 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.
*
/**
* 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
**/
}
/**
- * 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 *
{
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 *
{
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);
* @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)
{
/**
* 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.
*
gtk_radio_button_set_group (get_radio_button (button), group);
}
-
-#define __GTK_RADIO_TOOL_BUTTON_C__
-#include "gtkaliasdef.c"