diff --git a/docs/reference/gtk/gtk4-docs.xml b/docs/reference/gtk/gtk4-docs.xml index f65688b0fd..62380e2ad8 100644 --- a/docs/reference/gtk/gtk4-docs.xml +++ b/docs/reference/gtk/gtk4-docs.xml @@ -201,7 +201,6 @@ Buttons and Toggles - diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt index 8083e9aada..1ec07553d8 100644 --- a/docs/reference/gtk/gtk4-sections.txt +++ b/docs/reference/gtk/gtk4-sections.txt @@ -2290,31 +2290,6 @@ GtkProgressBarPrivate gtk_progress_bar_get_type -
-gtkradiobutton -GtkRadioButton -GtkRadioButton -gtk_radio_button_new -gtk_radio_button_new_from_widget -gtk_radio_button_new_with_label -gtk_radio_button_new_with_label_from_widget -gtk_radio_button_new_with_mnemonic -gtk_radio_button_new_with_mnemonic_from_widget -gtk_radio_button_set_group -gtk_radio_button_get_group -gtk_radio_button_join_group - -GTK_RADIO_BUTTON -GTK_IS_RADIO_BUTTON -GTK_TYPE_RADIO_BUTTON -GTK_RADIO_BUTTON_CLASS -GTK_IS_RADIO_BUTTON_CLASS -GTK_RADIO_BUTTON_GET_CLASS - -GtkRadioButtonPrivate -gtk_radio_button_get_type -
-
gtkrange GtkRange diff --git a/docs/reference/gtk/gtk4.types.in b/docs/reference/gtk/gtk4.types.in index cede3f0619..5981ffb897 100644 --- a/docs/reference/gtk/gtk4.types.in +++ b/docs/reference/gtk/gtk4.types.in @@ -179,7 +179,6 @@ gtk_print_settings_get_type @DISABLE_ON_W32@gtk_print_unix_dialog_get_type gtk_progress_bar_get_type gtk_property_expression_get_type -gtk_radio_button_get_type gtk_range_get_type gtk_recent_manager_get_type gtk_revealer_get_type diff --git a/docs/reference/gtk/images/radio-group.png b/docs/reference/gtk/images/radio-group.png deleted file mode 100644 index da6245f9f6..0000000000 Binary files a/docs/reference/gtk/images/radio-group.png and /dev/null differ diff --git a/docs/reference/gtk/meson.build b/docs/reference/gtk/meson.build index 431192c2c6..4441cc2cf4 100644 --- a/docs/reference/gtk/meson.build +++ b/docs/reference/gtk/meson.build @@ -340,7 +340,6 @@ images = [ 'images/popup-slide.png', 'images/printdialog.png', 'images/progressbar.png', - 'images/radio-group.png', 'images/right-center.png', 'images/right-end.png', 'images/right-start.png', diff --git a/docs/reference/gtk/section-accessibility.md b/docs/reference/gtk/section-accessibility.md index 4c0a429270..ade43a1bfa 100644 --- a/docs/reference/gtk/section-accessibility.md +++ b/docs/reference/gtk/section-accessibility.md @@ -53,7 +53,7 @@ Each role name is part of the #GtkAccessibleRole enumeration. | `LABEL` | A visible name or caption for a user interface component | #GtkLabel | | `METER` | Represents a value within a known range | #GtkLevelBar | | `PROGRESS_BAR` | An element that display progress | #GtkProgressBar | -| `RADIO` | A checkable input in a group of radio roles | #GtkRadioButton | +| `RADIO` | A checkable input in a group of radio roles | #GtkCheckButton | | `SCROLLBAR` | A graphical object controlling the scrolling of content | #GtkScrollbar | | `SEARCH_BOX` | A text box for entering search criteria | #GtkSearchEntry | | `SEPARATOR` | A divider that separates sections of content or groups of items | #GtkSeparator | diff --git a/docs/reference/gtk/visual_index.xml b/docs/reference/gtk/visual_index.xml index f5e027ed0b..963febf68b 100644 --- a/docs/reference/gtk/visual_index.xml +++ b/docs/reference/gtk/visual_index.xml @@ -102,9 +102,6 @@ - - - diff --git a/gtk/gtk-autocleanups.h b/gtk/gtk-autocleanups.h index b5689b9075..eb4fb1b874 100644 --- a/gtk/gtk-autocleanups.h +++ b/gtk/gtk-autocleanups.h @@ -120,7 +120,6 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPrintOperation, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPrintOperationPreview, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkPrintSettings, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkProgressBar, g_object_unref) -G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRadioButton, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRange, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRecentManager, g_object_unref) G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkRevealer, g_object_unref) diff --git a/gtk/gtk.h b/gtk/gtk.h index 4819d51756..be942b218b 100644 --- a/gtk/gtk.h +++ b/gtk/gtk.h @@ -201,7 +201,6 @@ #include #include #include -#include #include #include #include diff --git a/gtk/gtkradiobutton.c b/gtk/gtkradiobutton.c deleted file mode 100644 index 1ee663896d..0000000000 --- a/gtk/gtkradiobutton.c +++ /dev/null @@ -1,670 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * 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, see . - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#include "config.h" - -#include "gtkradiobutton.h" - -#include "gtkwidgetprivate.h" -#include "gtklabel.h" -#include "gtkmarshalers.h" -#include "gtkprivate.h" -#include "gtkintl.h" -#include "gtkstylecontextprivate.h" - -/** - * SECTION:gtkradiobutton - * @Short_description: A choice from multiple check buttons - * @Title: GtkRadioButton - * @See_also: #GtkComboBox - * - * A single radio button performs the same basic function as a #GtkToggleButton, - * as its position in the object hierarchy reflects. It is only when multiple - * radio buttons are grouped together that they become a different user - * interface component in their own right. - * - * Every radio button is a member of some group of radio buttons. When one is - * selected, all other radio buttons in the same group are deselected. A - * #GtkRadioButton is one way of giving the user a choice from many options. - * - * Radio button widgets are created with gtk_radio_button_new(), passing %NULL - * as the argument if this is the first radio button in a group. In subsequent - * calls, the group you wish to add this button to should be passed as an - * argument. Optionally, gtk_radio_button_new_with_label() can be used if you - * want a text label on the radio button. - * - * Alternatively, when adding widgets to an existing group of radio buttons, - * use gtk_radio_button_new_from_widget() with a #GtkRadioButton that already - * has a group assigned to it. The convenience function - * gtk_radio_button_new_with_label_from_widget() is also provided. - * - * To retrieve the group a #GtkRadioButton is assigned to, use - * gtk_radio_button_get_group(). - * - * To remove a #GtkRadioButton from one group and make it part of a new one, - * use gtk_radio_button_set_group(). - * - * The group list does not need to be freed, as each #GtkRadioButton will remove - * itself and its list item when it is destroyed. - * - * ## How to create a group of two radio buttons. - * - * |[ - * void create_radio_buttons (void) { - * - * GtkWidget *window, *radio1, *radio2, *box, *entry; - * window = gtk_window_new (); - * box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2); - * gtk_box_set_homogeneous (GTK_BOX (box), TRUE); - * - * // Create a radio button with a GtkEntry widget - * radio1 = gtk_radio_button_new (NULL); - * entry = gtk_entry_new (); - * gtk_box_append (GTK_BOX (radio1), entry); - * - * - * // Create a radio button with a label - * radio2 = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (radio1), - * "I’m the second radio button."); - * - * // Pack them into a box, then show all the widgets - * gtk_box_append (GTK_BOX (box), radio1); - * gtk_box_append (GTK_BOX (box), radio2); - gtk_window_set_child (GTK_WINDOW (window),box); - * gtk_widget_show (window); - * return; - * } - * ]| - * - * When an unselected button in the group is clicked the clicked button - * receives the #GtkToggleButton::toggled signal, as does the previously - * selected button. - * Inside the #GtkToggleButton::toggled handler, gtk_toggle_button_get_active() - * can be used to determine if the button has been selected or deselected. - * - * # CSS nodes - * - * |[ - * radiobutton - * ├── radio - * ╰── - * ]| - * - * A GtkRadioButton with indicator (see gtk_check_button_set_draw_indicator())) has a - * main CSS node with name radiobutton and a subnode with name radio. - * - * |[ - * button.radio - * ├── radio - * ╰── - * ]| - * - * A GtkRadioButton without indicator changes the name of its main node - * to button and adds a .radio style class to it. The subnode is invisible - * in this case. - * - * # Accessibility - * - * GtkRadioButton uses the #GTK_ACCESSIBLE_ROLE_RADIO role. - */ - -typedef struct _GtkRadioButtonClass GtkRadioButtonClass; - -struct _GtkRadioButton -{ - GtkToggleButton parent_instance; -}; - -struct _GtkRadioButtonClass -{ - GtkToggleButtonClass parent_class; - - void (*group_changed) (GtkRadioButton *radio_button); -}; - -typedef struct -{ - GSList *group; -} GtkRadioButtonPrivate; - -enum { - PROP_0, - PROP_GROUP, - LAST_PROP -}; - -enum { - GROUP_CHANGED, - N_SIGNALS -}; - -static GParamSpec *radio_button_props[LAST_PROP] = { NULL, }; -static guint signals[N_SIGNALS] = { 0 }; - -static void gtk_radio_button_dispose (GObject *object); -static void gtk_radio_button_clicked (GtkButton *button); - -G_DEFINE_TYPE_WITH_PRIVATE (GtkRadioButton, gtk_radio_button, GTK_TYPE_TOGGLE_BUTTON) - -static void -gtk_radio_button_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - GtkRadioButton *radio_button; - - radio_button = GTK_RADIO_BUTTON (object); - - switch (prop_id) - { - GSList *slist; - GtkRadioButton *button; - - case PROP_GROUP: - button = g_value_get_object (value); - - if (button) - slist = gtk_radio_button_get_group (button); - else - slist = NULL; - gtk_radio_button_set_group (radio_button, slist); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gtk_radio_button_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - switch (prop_id) - { - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -gtk_radio_button_class_init (GtkRadioButtonClass *class) -{ - GObjectClass *gobject_class; - GtkButtonClass *button_class; - GtkWidgetClass *widget_class; - - gobject_class = G_OBJECT_CLASS (class); - widget_class = (GtkWidgetClass*) class; - button_class = (GtkButtonClass*) class; - - gobject_class->dispose = gtk_radio_button_dispose; - gobject_class->set_property = gtk_radio_button_set_property; - gobject_class->get_property = gtk_radio_button_get_property; - - /** - * GtkRadioButton:group: - * - * Sets a new group for a radio button. - */ - radio_button_props[PROP_GROUP] = - g_param_spec_object ("group", - P_("Group"), - P_("The radio button whose group this widget belongs to."), - GTK_TYPE_RADIO_BUTTON, - GTK_PARAM_WRITABLE); - - g_object_class_install_properties (gobject_class, LAST_PROP, radio_button_props); - - button_class->clicked = gtk_radio_button_clicked; - - class->group_changed = NULL; - - /** - * GtkRadioButton::group-changed: - * @button: the object which received the signal - * - * Emitted when the group of radio buttons that a radio button belongs - * to changes. This is emitted when a radio button switches from - * being alone to being part of a group of 2 or more buttons, or - * vice-versa, and when a button is moved from one group of 2 or - * more buttons to a different one, but not when the composition - * of the group that a button belongs to changes. - */ - signals[GROUP_CHANGED] = g_signal_new (I_("group-changed"), - G_OBJECT_CLASS_TYPE (gobject_class), - G_SIGNAL_RUN_FIRST, - G_STRUCT_OFFSET (GtkRadioButtonClass, group_changed), - NULL, NULL, - NULL, - G_TYPE_NONE, 0); - - gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_RADIO); -} - -static void -gtk_radio_button_init (GtkRadioButton *self) -{ - GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (self); - GtkWidget *widget = GTK_WIDGET (self); - - gtk_widget_set_receives_default (widget, FALSE); - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self), TRUE); - - priv->group = g_slist_prepend (NULL, self); -} - -/** - * gtk_radio_button_set_group: - * @radio_button: a #GtkRadioButton. - * @group: (element-type GtkRadioButton) (allow-none): an existing radio - * button group, such as one returned from gtk_radio_button_get_group(), or %NULL. - * - * Sets a #GtkRadioButton’s group. It should be noted that this does not change - * the layout of your interface in any way, so if you are changing the group, - * it is likely you will need to re-arrange the user interface to reflect these - * changes. - */ -void -gtk_radio_button_set_group (GtkRadioButton *radio_button, - GSList *group) -{ - GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button); - GtkWidget *old_group_singleton = NULL; - GtkWidget *new_group_singleton = NULL; - - g_return_if_fail (GTK_IS_RADIO_BUTTON (radio_button)); - - if (g_slist_find (group, radio_button)) - return; - - if (priv->group) - { - GSList *slist; - - priv->group = g_slist_remove (priv->group, radio_button); - - if (priv->group && !priv->group->next) - old_group_singleton = g_object_ref (priv->group->data); - - for (slist = priv->group; slist; slist = slist->next) - { - GtkRadioButton *tmp_button = slist->data; - GtkRadioButtonPrivate *tmp_priv = gtk_radio_button_get_instance_private (tmp_button); - - tmp_priv->group = priv->group; - } - } - - if (group && !group->next) - new_group_singleton = g_object_ref (group->data); - - priv->group = g_slist_prepend (group, radio_button); - - if (group) - { - GSList *slist; - - for (slist = group; slist; slist = slist->next) - { - GtkRadioButton *tmp_button = slist->data; - GtkRadioButtonPrivate *tmp_priv = gtk_radio_button_get_instance_private (tmp_button); - - tmp_priv->group = priv->group; - } - } - - g_object_ref (radio_button); - - g_object_notify_by_pspec (G_OBJECT (radio_button), radio_button_props[PROP_GROUP]); - g_signal_emit (radio_button, signals[GROUP_CHANGED], 0); - if (old_group_singleton) - { - g_signal_emit (old_group_singleton, signals[GROUP_CHANGED], 0); - g_object_unref (old_group_singleton); - } - if (new_group_singleton) - { - g_signal_emit (new_group_singleton, signals[GROUP_CHANGED], 0); - g_object_unref (new_group_singleton); - } - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_button), group == NULL); - - g_object_unref (radio_button); -} - -/** - * gtk_radio_button_join_group: - * @radio_button: the #GtkRadioButton object - * @group_source: (allow-none): a radio button object whose group we are - * joining, or %NULL to remove the radio button from its group - * - * Joins a #GtkRadioButton object to the group of another #GtkRadioButton object - * - * Use this in language bindings instead of the gtk_radio_button_get_group() - * and gtk_radio_button_set_group() methods - * - * A common way to set up a group of radio buttons is the following: - * |[ - * GtkRadioButton *radio_button; - * GtkRadioButton *last_button; - * - * while (some_condition) - * { - * radio_button = GTK_RADIO_BUTTON (gtk_radio_button_new (NULL)); - * - * gtk_radio_button_join_group (radio_button, last_button); - * last_button = radio_button; - * } - * ]| - */ -void -gtk_radio_button_join_group (GtkRadioButton *radio_button, - GtkRadioButton *group_source) -{ - g_return_if_fail (GTK_IS_RADIO_BUTTON (radio_button)); - g_return_if_fail (group_source == NULL || GTK_IS_RADIO_BUTTON (group_source)); - - if (group_source) - { - GSList *group; - group = gtk_radio_button_get_group (group_source); - - if (!group) - { - /* if we are not already part of a group we need to set up a new one - and then get the newly created group */ - gtk_radio_button_set_group (group_source, NULL); - group = gtk_radio_button_get_group (group_source); - } - - gtk_radio_button_set_group (radio_button, group); - } - else - { - gtk_radio_button_set_group (radio_button, NULL); - } -} - -/** - * gtk_radio_button_new: - * @group: (element-type GtkRadioButton) (allow-none): an existing - * radio button group, or %NULL if you are creating a new group. - * - * Creates a new #GtkRadioButton. To be of any practical value, a widget should - * then be packed into the radio button. - * - * Returns: a new radio button - */ -GtkWidget* -gtk_radio_button_new (GSList *group) -{ - GtkRadioButton *radio_button; - - radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, NULL); - - if (group) - gtk_radio_button_set_group (radio_button, group); - - return GTK_WIDGET (radio_button); -} - -/** - * gtk_radio_button_new_with_label: - * @group: (element-type GtkRadioButton) (allow-none): an existing - * radio button group, or %NULL if you are creating a new group. - * @label: the text label to display next to the radio button. - * - * Creates a new #GtkRadioButton with a text label. - * - * Returns: a new radio button. - */ -GtkWidget* -gtk_radio_button_new_with_label (GSList *group, - const char *label) -{ - GtkWidget *radio_button; - - radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, "label", label, NULL) ; - - if (group) - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_button), group); - - return radio_button; -} - - -/** - * gtk_radio_button_new_with_mnemonic: - * @group: (element-type GtkRadioButton) (allow-none): the radio button - * group, or %NULL - * @label: the text of the button, with an underscore in front of the - * mnemonic character - * - * Creates a new #GtkRadioButton containing a label, adding it to the same - * group as @group. The label will be created using - * gtk_label_new_with_mnemonic(), so underscores in @label indicate the - * mnemonic for the button. - * - * Returns: a new #GtkRadioButton - */ -GtkWidget* -gtk_radio_button_new_with_mnemonic (GSList *group, - const char *label) -{ - GtkWidget *radio_button; - - radio_button = g_object_new (GTK_TYPE_RADIO_BUTTON, - "label", label, - "use-underline", TRUE, - NULL); - - if (group) - gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_button), group); - - return radio_button; -} - -/** - * gtk_radio_button_new_from_widget: (constructor) - * @radio_group_member: (allow-none): an existing #GtkRadioButton. - * - * Creates a new #GtkRadioButton, adding it to the same group as - * @radio_group_member. As with gtk_radio_button_new(), a widget - * should be packed into the radio button. - * - * Returns: (transfer none): a new radio button. - */ -GtkWidget* -gtk_radio_button_new_from_widget (GtkRadioButton *radio_group_member) -{ - GSList *l = NULL; - if (radio_group_member) - l = gtk_radio_button_get_group (radio_group_member); - return gtk_radio_button_new (l); -} - -/** - * gtk_radio_button_new_with_label_from_widget: (constructor) - * @radio_group_member: (allow-none): widget to get radio group from or %NULL - * @label: a text string to display next to the radio button. - * - * Creates a new #GtkRadioButton with a text label, adding it to - * the same group as @radio_group_member. - * - * Returns: (transfer none): a new radio button. - */ -GtkWidget* -gtk_radio_button_new_with_label_from_widget (GtkRadioButton *radio_group_member, - const char *label) -{ - GSList *l = NULL; - if (radio_group_member) - l = gtk_radio_button_get_group (radio_group_member); - return gtk_radio_button_new_with_label (l, label); -} - -/** - * gtk_radio_button_new_with_mnemonic_from_widget: (constructor) - * @radio_group_member: (allow-none): widget to get radio group from or %NULL - * @label: the text of the button, with an underscore in front of the - * mnemonic character - * - * Creates a new #GtkRadioButton containing a label. The label - * will be created using gtk_label_new_with_mnemonic(), so underscores - * in @label indicate the mnemonic for the button. - * - * Returns: (transfer none): a new #GtkRadioButton - **/ -GtkWidget* -gtk_radio_button_new_with_mnemonic_from_widget (GtkRadioButton *radio_group_member, - const char *label) -{ - GSList *l = NULL; - if (radio_group_member) - l = gtk_radio_button_get_group (radio_group_member); - return gtk_radio_button_new_with_mnemonic (l, label); -} - - -/** - * gtk_radio_button_get_group: - * @radio_button: a #GtkRadioButton. - * - * Retrieves the group assigned to a radio button. - * - * Returns: (element-type GtkRadioButton) (transfer none): a linked list - * containing all the radio buttons in the same group - * as @radio_button. The returned list is owned by the radio button - * and must not be modified or freed. - */ -GSList* -gtk_radio_button_get_group (GtkRadioButton *radio_button) -{ - GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button); - - g_return_val_if_fail (GTK_IS_RADIO_BUTTON (radio_button), NULL); - - return priv->group; -} - - -static void -gtk_radio_button_dispose (GObject *object) -{ - GtkWidget *old_group_singleton = NULL; - GtkRadioButton *radio_button = GTK_RADIO_BUTTON (object); - GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button); - GSList *tmp_list; - gboolean was_in_group; - - was_in_group = priv->group && priv->group->next; - - priv->group = g_slist_remove (priv->group, radio_button); - if (priv->group && !priv->group->next) - old_group_singleton = priv->group->data; - - tmp_list = priv->group; - - while (tmp_list) - { - GtkRadioButton *tmp_button = tmp_list->data; - GtkRadioButtonPrivate *tmp_priv = gtk_radio_button_get_instance_private (tmp_button); - - tmp_list = tmp_list->next; - - tmp_priv->group = priv->group; - } - - /* this button is no longer in the group */ - priv->group = NULL; - - if (old_group_singleton) - g_signal_emit (old_group_singleton, signals[GROUP_CHANGED], 0); - if (was_in_group) - g_signal_emit (radio_button, signals[GROUP_CHANGED], 0); - - G_OBJECT_CLASS (gtk_radio_button_parent_class)->dispose (object); -} - -static void -gtk_radio_button_clicked (GtkButton *button) -{ - GtkRadioButton *radio_button = GTK_RADIO_BUTTON (button); - GtkRadioButtonPrivate *priv = gtk_radio_button_get_instance_private (radio_button); - GtkToggleButton *toggle_button = GTK_TOGGLE_BUTTON (button); - GtkToggleButton *tmp_button; - GSList *tmp_list; - - g_object_ref (GTK_WIDGET (button)); - - if (gtk_toggle_button_get_active (toggle_button)) - { - tmp_button = NULL; - tmp_list = priv->group; - - while (tmp_list) - { - tmp_button = tmp_list->data; - tmp_list = tmp_list->next; - - if (tmp_button != toggle_button && - gtk_toggle_button_get_active (tmp_button)) - break; - - tmp_button = NULL; - } - - if (tmp_button) - gtk_toggle_button_set_active (toggle_button, - !gtk_toggle_button_get_active (toggle_button)); - } - else - { - gtk_toggle_button_set_active (toggle_button, - !gtk_toggle_button_get_active (toggle_button)); - - tmp_list = priv->group; - while (tmp_list) - { - tmp_button = tmp_list->data; - tmp_list = tmp_list->next; - - if (gtk_toggle_button_get_active (tmp_button) && (tmp_button != toggle_button)) - { - g_signal_emit_by_name (tmp_button, "clicked"); - break; - } - } - } - - gtk_widget_queue_draw (GTK_WIDGET (button)); - - g_object_unref (button); -} diff --git a/gtk/gtkradiobutton.h b/gtk/gtkradiobutton.h deleted file mode 100644 index d2922fd3da..0000000000 --- a/gtk/gtkradiobutton.h +++ /dev/null @@ -1,74 +0,0 @@ -/* GTK - The GIMP Toolkit - * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald - * - * 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, see . - */ - -/* - * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS - * file for a list of people on the GTK+ Team. See the ChangeLog - * files for a list of changes. These files are distributed with - * GTK+ at ftp://ftp.gtk.org/pub/gtk/. - */ - -#ifndef __GTK_RADIO_BUTTON_H__ -#define __GTK_RADIO_BUTTON_H__ - - -#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) -#error "Only can be included directly." -#endif - -#include - - -G_BEGIN_DECLS - -#define GTK_TYPE_RADIO_BUTTON (gtk_radio_button_get_type ()) -#define GTK_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_RADIO_BUTTON, GtkRadioButton)) -#define GTK_IS_RADIO_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_RADIO_BUTTON)) - - -typedef struct _GtkRadioButton GtkRadioButton; - -GDK_AVAILABLE_IN_ALL -GType gtk_radio_button_get_type (void) G_GNUC_CONST; - -GDK_AVAILABLE_IN_ALL -GtkWidget* gtk_radio_button_new (GSList *group); -GDK_AVAILABLE_IN_ALL -GtkWidget* gtk_radio_button_new_from_widget (GtkRadioButton *radio_group_member); -GDK_AVAILABLE_IN_ALL -GtkWidget* gtk_radio_button_new_with_label (GSList *group, - const char *label); -GDK_AVAILABLE_IN_ALL -GtkWidget* gtk_radio_button_new_with_label_from_widget (GtkRadioButton *radio_group_member, - const char *label); -GDK_AVAILABLE_IN_ALL -GtkWidget* gtk_radio_button_new_with_mnemonic (GSList *group, - const char *label); -GDK_AVAILABLE_IN_ALL -GtkWidget* gtk_radio_button_new_with_mnemonic_from_widget (GtkRadioButton *radio_group_member, - const char *label); -GDK_AVAILABLE_IN_ALL -GSList* gtk_radio_button_get_group (GtkRadioButton *radio_button); -GDK_AVAILABLE_IN_ALL -void gtk_radio_button_set_group (GtkRadioButton *radio_button, - GSList *group); -GDK_AVAILABLE_IN_ALL -void gtk_radio_button_join_group (GtkRadioButton *radio_button, - GtkRadioButton *group_source); -G_END_DECLS - -#endif /* __GTK_RADIO_BUTTON_H__ */ diff --git a/gtk/meson.build b/gtk/meson.build index dee33baa5e..0f55ece382 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -331,7 +331,6 @@ gtk_public_sources = files([ 'gtkprintsettings.c', 'gtkprogressbar.c', 'gtkpropertylookuplistmodel.c', - 'gtkradiobutton.c', 'gtkrange.c', 'gtktreerbtree.c', 'gtkrecentmanager.c', @@ -610,7 +609,6 @@ gtk_public_headers = files([ 'gtkprintoperationpreview.h', 'gtkprintsettings.h', 'gtkprogressbar.h', - 'gtkradiobutton.h', 'gtkrange.h', 'gtkrecentmanager.h', 'gtkrender.h',