Merge branch 'wip/nacho/scale-button-has-frame' into 'main'
scalebutton: add api to get/set whether it has a frame See merge request GNOME/gtk!6779
This commit is contained in:
@@ -102,7 +102,8 @@ enum
|
||||
PROP_SIZE,
|
||||
PROP_ADJUSTMENT,
|
||||
PROP_ICONS,
|
||||
PROP_ACTIVE
|
||||
PROP_ACTIVE,
|
||||
PROP_HAS_FRAME
|
||||
};
|
||||
|
||||
typedef struct
|
||||
@@ -276,6 +277,19 @@ gtk_scale_button_class_init (GtkScaleButtonClass *klass)
|
||||
FALSE,
|
||||
GTK_PARAM_READABLE));
|
||||
|
||||
/**
|
||||
* GtkScaleButton:has-frame: (attributes org.gtk.Property.get=gtk_scale_button_get_has_frame org.gtk.Property.set=gtk_scale_button_set_has_frame)
|
||||
*
|
||||
* If the scale button has a frame.
|
||||
*
|
||||
* Since: 4.14
|
||||
*/
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_HAS_FRAME,
|
||||
g_param_spec_boolean ("has-frame", NULL, NULL,
|
||||
FALSE,
|
||||
GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
|
||||
|
||||
/**
|
||||
* GtkScaleButton::value-changed:
|
||||
* @button: the object which received the signal
|
||||
@@ -509,6 +523,9 @@ gtk_scale_button_set_property (GObject *object,
|
||||
gtk_scale_button_set_icons (button,
|
||||
(const char **)g_value_get_boxed (value));
|
||||
break;
|
||||
case PROP_HAS_FRAME:
|
||||
gtk_scale_button_set_has_frame (button, g_value_get_boolean (value));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
@@ -541,6 +558,9 @@ gtk_scale_button_get_property (GObject *object,
|
||||
case PROP_ACTIVE:
|
||||
g_value_set_boolean (value, gtk_scale_button_get_active (button));
|
||||
break;
|
||||
case PROP_HAS_FRAME:
|
||||
g_value_set_boolean (value, gtk_scale_button_get_has_frame (button));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
@@ -817,6 +837,50 @@ gtk_scale_button_get_active (GtkScaleButton *button)
|
||||
return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->button));
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_scale_button_get_has_frame: (attributes org.gtk.Method.get_property=has-frame)
|
||||
* @button: a `GtkScaleButton`
|
||||
*
|
||||
* Returns whether the button has a frame.
|
||||
*
|
||||
* Returns: %TRUE if the button has a frame
|
||||
*
|
||||
* Since: 4.14
|
||||
*/
|
||||
gboolean
|
||||
gtk_scale_button_get_has_frame (GtkScaleButton *button)
|
||||
{
|
||||
GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
|
||||
|
||||
g_return_val_if_fail (GTK_IS_SCALE_BUTTON (button), TRUE);
|
||||
|
||||
return gtk_button_get_has_frame (GTK_BUTTON (priv->button));
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_scale_button_set_has_frame: (attributes org.gtk.Method.set_property=has-frame)
|
||||
* @button: a `GtkScaleButton`
|
||||
* @has_frame: whether the button should have a visible frame
|
||||
*
|
||||
* Sets the style of the button.
|
||||
*
|
||||
* Since: 4.14
|
||||
*/
|
||||
void
|
||||
gtk_scale_button_set_has_frame (GtkScaleButton *button,
|
||||
gboolean has_frame)
|
||||
{
|
||||
GtkScaleButtonPrivate *priv = gtk_scale_button_get_instance_private (button);
|
||||
|
||||
g_return_if_fail (GTK_IS_SCALE_BUTTON (button));
|
||||
|
||||
if (gtk_button_get_has_frame (GTK_BUTTON (priv->button)) == has_frame)
|
||||
return;
|
||||
|
||||
gtk_button_set_has_frame (GTK_BUTTON (priv->button), has_frame);
|
||||
g_object_notify (G_OBJECT (button), "has-frame");
|
||||
}
|
||||
|
||||
static void
|
||||
apply_orientation (GtkScaleButton *button,
|
||||
GtkOrientation orientation)
|
||||
|
||||
@@ -97,6 +97,11 @@ GDK_AVAILABLE_IN_ALL
|
||||
GtkWidget * gtk_scale_button_get_popup (GtkScaleButton *button);
|
||||
GDK_AVAILABLE_IN_4_10
|
||||
gboolean gtk_scale_button_get_active (GtkScaleButton *button);
|
||||
GDK_AVAILABLE_IN_4_14
|
||||
gboolean gtk_scale_button_get_has_frame (GtkScaleButton *button);
|
||||
GDK_AVAILABLE_IN_4_14
|
||||
void gtk_scale_button_set_has_frame (GtkScaleButton *button,
|
||||
gboolean has_frame);
|
||||
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkScaleButton, g_object_unref)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user