st: Add getter/setters for (almost) all properties
Traditionally, getter/setter functions have been considered a C convenience, and we therefore didn't bother to add them for many properties that are only consumed from JS. However now that gjs optimizes property accesses by calling the appropriate getter/setter instead, it makes sense to add them. Leave out ScrollView's [vh]scrollbar-policy properties, as they have a combined `set_policy()` setter that is consistent with GTK's ScrolledWindow. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3620>
This commit is contained in:
parent
dc1298565d
commit
4265b9c73f
@ -97,32 +97,16 @@ typedef struct _TransitionClosure
|
||||
gulong completed_id;
|
||||
} TransitionClosure;
|
||||
|
||||
static void st_adjustment_set_lower (StAdjustment *adjustment,
|
||||
double lower);
|
||||
static void st_adjustment_set_upper (StAdjustment *adjustment,
|
||||
double upper);
|
||||
static void st_adjustment_set_step_increment (StAdjustment *adjustment,
|
||||
double step);
|
||||
static void st_adjustment_set_page_increment (StAdjustment *adjustment,
|
||||
double page);
|
||||
static void st_adjustment_set_page_size (StAdjustment *adjustment,
|
||||
double size);
|
||||
|
||||
static ClutterActor *
|
||||
st_adjustment_get_actor (ClutterAnimatable *animatable)
|
||||
animatable_get_actor (ClutterAnimatable *animatable)
|
||||
{
|
||||
StAdjustment *adjustment = ST_ADJUSTMENT (animatable);
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
g_warn_if_fail (priv->actor);
|
||||
|
||||
return priv->actor;
|
||||
return st_adjustment_get_actor (ST_ADJUSTMENT (animatable));
|
||||
}
|
||||
|
||||
static void
|
||||
animatable_iface_init (ClutterAnimatableInterface *iface)
|
||||
{
|
||||
iface->get_actor = st_adjustment_get_actor;
|
||||
iface->get_actor = animatable_get_actor;
|
||||
}
|
||||
|
||||
static void
|
||||
@ -201,12 +185,40 @@ actor_destroyed (gpointer user_data,
|
||||
g_object_notify_by_pspec (G_OBJECT (adj), props[PROP_ACTOR]);
|
||||
}
|
||||
|
||||
static void
|
||||
/**
|
||||
* st_adjustment_get_actor:
|
||||
* @adjustment: a #StAdjustment
|
||||
*
|
||||
* Retrieves the actor used for transitions.
|
||||
*
|
||||
* Returns: (transfer none):
|
||||
*/
|
||||
ClutterActor *
|
||||
st_adjustment_get_actor (StAdjustment *adjustment)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ADJUSTMENT (adjustment), NULL);
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
return priv->actor;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_set_actor:
|
||||
* @adjustment: a #StAdjustment
|
||||
* @actor: a #ClutterActor
|
||||
*
|
||||
* Sets the actor used for transitions.
|
||||
*/
|
||||
void
|
||||
st_adjustment_set_actor (StAdjustment *adj,
|
||||
ClutterActor *actor)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adj));
|
||||
|
||||
priv = st_adjustment_get_instance_private (adj);
|
||||
|
||||
if (priv->actor == actor)
|
||||
@ -562,6 +574,25 @@ st_adjustment_clamp_page (StAdjustment *adjustment,
|
||||
g_object_notify_by_pspec (G_OBJECT (adjustment), props[PROP_VALUE]);
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_get_lower:
|
||||
* @adjustment: a #StAdjustment
|
||||
*
|
||||
* Retrieves the minimum value of the adjustment.
|
||||
*
|
||||
* Returns: the minimum value
|
||||
*/
|
||||
double
|
||||
st_adjustment_get_lower (StAdjustment *adjustment)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ADJUSTMENT (adjustment), -1);
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
return priv->lower;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_set_lower:
|
||||
* @adjustment: a #StAdjustment
|
||||
@ -579,11 +610,15 @@ st_adjustment_clamp_page (StAdjustment *adjustment,
|
||||
* Alternatively, [method@St.Adjustment.set_values] can be used to compress
|
||||
* #GObject::notify and [signal@St.Adjustment::changed] emissions.
|
||||
*/
|
||||
static void
|
||||
void
|
||||
st_adjustment_set_lower (StAdjustment *adjustment,
|
||||
gdouble lower)
|
||||
{
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->lower != lower)
|
||||
{
|
||||
@ -597,6 +632,25 @@ st_adjustment_set_lower (StAdjustment *adjustment,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_get_upper:
|
||||
* @adjustment: a #StAdjustment
|
||||
*
|
||||
* Retrieves the maximum value of the adjustment.
|
||||
*
|
||||
* Returns: the maximum value
|
||||
*/
|
||||
double
|
||||
st_adjustment_get_upper (StAdjustment *adjustment)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ADJUSTMENT (adjustment), -1);
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
return priv->upper;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_set_upper:
|
||||
* @adjustment: a #StAdjustment
|
||||
@ -610,11 +664,15 @@ st_adjustment_set_lower (StAdjustment *adjustment,
|
||||
* See [method@St.Adjustment.set_lower] about how to compress multiple
|
||||
* signal emissions when setting multiple adjustment properties.
|
||||
*/
|
||||
static void
|
||||
void
|
||||
st_adjustment_set_upper (StAdjustment *adjustment,
|
||||
gdouble upper)
|
||||
{
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->upper != upper)
|
||||
{
|
||||
@ -628,6 +686,25 @@ st_adjustment_set_upper (StAdjustment *adjustment,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_get_step_increment:
|
||||
* @adjustment: a #StAdjustment
|
||||
*
|
||||
* Retrieves the step increment of the adjustment.
|
||||
*
|
||||
* Returns: the step increment
|
||||
*/
|
||||
double
|
||||
st_adjustment_get_step_increment (StAdjustment *adjustment)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ADJUSTMENT (adjustment), -1);
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
return priv->step_increment;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_set_step_increment:
|
||||
* @adjustment: a #StAdjustment
|
||||
@ -638,11 +715,15 @@ st_adjustment_set_upper (StAdjustment *adjustment,
|
||||
* See [method@St.Adjustment.set_lower] about how to compress multiple
|
||||
* signal emissions when setting multiple adjustment properties.
|
||||
*/
|
||||
static void
|
||||
void
|
||||
st_adjustment_set_step_increment (StAdjustment *adjustment,
|
||||
gdouble step)
|
||||
{
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->step_increment != step)
|
||||
{
|
||||
@ -652,6 +733,25 @@ st_adjustment_set_step_increment (StAdjustment *adjustment,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_get_page_increment:
|
||||
* @adjustment: a #StAdjustment
|
||||
*
|
||||
* Retrieves the page increment of the adjustment.
|
||||
*
|
||||
* Returns: the page increment
|
||||
*/
|
||||
double
|
||||
st_adjustment_get_page_increment (StAdjustment *adjustment)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ADJUSTMENT (adjustment), -1);
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
return priv->page_increment;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_set_page_increment:
|
||||
* @adjustment: a #StAdjustment
|
||||
@ -662,11 +762,15 @@ st_adjustment_set_step_increment (StAdjustment *adjustment,
|
||||
* See [method@St.Adjustment.set_lower] about how to compress multiple
|
||||
* signal emissions when setting multiple adjustment properties.
|
||||
*/
|
||||
static void
|
||||
void
|
||||
st_adjustment_set_page_increment (StAdjustment *adjustment,
|
||||
gdouble page)
|
||||
{
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->page_increment != page)
|
||||
{
|
||||
@ -676,6 +780,25 @@ st_adjustment_set_page_increment (StAdjustment *adjustment,
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_get_page_size:
|
||||
* @adjustment: a #StAdjustment
|
||||
*
|
||||
* Retrieves the page size of the adjustment.
|
||||
*
|
||||
* Returns: the page size
|
||||
*/
|
||||
double
|
||||
st_adjustment_get_page_size (StAdjustment *adjustment)
|
||||
{
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_ADJUSTMENT (adjustment), -1);
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
return priv->page_size;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_adjustment_set_page_size:
|
||||
* @adjustment: a #StAdjustment
|
||||
@ -686,11 +809,15 @@ st_adjustment_set_page_increment (StAdjustment *adjustment,
|
||||
* See [method@St.Adjustment.set_lower] about how to compress multiple
|
||||
* signal emissions when setting multiple adjustment properties.
|
||||
*/
|
||||
static void
|
||||
void
|
||||
st_adjustment_set_page_size (StAdjustment *adjustment,
|
||||
gdouble size)
|
||||
{
|
||||
StAdjustmentPrivate *priv = st_adjustment_get_instance_private (adjustment);
|
||||
StAdjustmentPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_ADJUSTMENT (adjustment));
|
||||
|
||||
priv = st_adjustment_get_instance_private (adjustment);
|
||||
|
||||
if (priv->page_size != size)
|
||||
{
|
||||
|
@ -57,6 +57,21 @@ StAdjustment *st_adjustment_new (ClutterActor *actor,
|
||||
gdouble st_adjustment_get_value (StAdjustment *adjustment);
|
||||
void st_adjustment_set_value (StAdjustment *adjustment,
|
||||
gdouble value);
|
||||
double st_adjustment_get_lower (StAdjustment *adjustment);
|
||||
void st_adjustment_set_lower (StAdjustment *adjustment,
|
||||
gdouble lower);
|
||||
double st_adjustment_get_upper (StAdjustment *adjustment);
|
||||
void st_adjustment_set_upper (StAdjustment *adjustment,
|
||||
gdouble upper);
|
||||
double st_adjustment_get_step_increment (StAdjustment *adjustment);
|
||||
void st_adjustment_set_step_increment (StAdjustment *adjustment,
|
||||
gdouble step);
|
||||
double st_adjustment_get_page_increment (StAdjustment *adjustment);
|
||||
void st_adjustment_set_page_increment (StAdjustment *adjustment,
|
||||
gdouble page);
|
||||
double st_adjustment_get_page_size (StAdjustment *adjustment);
|
||||
void st_adjustment_set_page_size (StAdjustment *adjustment,
|
||||
gdouble size);
|
||||
void st_adjustment_clamp_page (StAdjustment *adjustment,
|
||||
gdouble lower,
|
||||
gdouble upper);
|
||||
@ -86,4 +101,8 @@ void st_adjustment_add_transition (StAdjustment *adjustme
|
||||
void st_adjustment_remove_transition (StAdjustment *adjustment,
|
||||
const char *name);
|
||||
|
||||
ClutterActor * st_adjustment_get_actor (StAdjustment *adjustment);
|
||||
void st_adjustment_set_actor (StAdjustment *adjustment,
|
||||
ClutterActor *actor);
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -449,7 +449,7 @@ st_button_get_property (GObject *gobject,
|
||||
g_value_set_boolean (value, priv->is_checked);
|
||||
break;
|
||||
case PROP_PRESSED:
|
||||
g_value_set_boolean (value, priv->pressed != 0 || priv->press_sequence != NULL);
|
||||
g_value_set_boolean (value, st_button_get_pressed (ST_BUTTON (gobject)));
|
||||
break;
|
||||
|
||||
|
||||
@ -879,6 +879,25 @@ st_button_set_checked (StButton *button,
|
||||
g_object_notify_by_pspec (G_OBJECT (button), props[PROP_CHECKED]);
|
||||
}
|
||||
|
||||
/**
|
||||
* st_button_get_pressed:
|
||||
* @button: a #StButton
|
||||
*
|
||||
* Get the #StButton:pressed property of a #StButton
|
||||
*
|
||||
* Returns: %TRUE if the button is pressed, or %FALSE if not
|
||||
*/
|
||||
gboolean
|
||||
st_button_get_pressed (StButton *button)
|
||||
{
|
||||
StButtonPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_BUTTON (button), FALSE);
|
||||
|
||||
priv = st_button_get_instance_private (button);
|
||||
return priv->pressed != 0 || priv->press_sequence != NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_button_fake_release:
|
||||
* @button: an #StButton
|
||||
|
@ -56,6 +56,7 @@ gboolean st_button_get_toggle_mode (StButton *button);
|
||||
void st_button_set_checked (StButton *button,
|
||||
gboolean checked);
|
||||
gboolean st_button_get_checked (StButton *button);
|
||||
gboolean st_button_get_pressed (StButton *button);
|
||||
|
||||
void st_button_fake_release (StButton *button);
|
||||
|
||||
|
@ -37,10 +37,15 @@ struct _StImageContent
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
|
||||
PROP_PREFERRED_WIDTH,
|
||||
PROP_PREFERRED_HEIGHT,
|
||||
|
||||
N_PROPS,
|
||||
};
|
||||
|
||||
static GParamSpec *props[N_PROPS] = { NULL, };
|
||||
|
||||
static void clutter_content_interface_init (ClutterContentInterface *iface);
|
||||
static void g_icon_interface_init (GIconIface *iface);
|
||||
static void g_loadable_icon_interface_init (GLoadableIconIface *iface);
|
||||
@ -103,11 +108,11 @@ st_image_content_set_property (GObject *object,
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_PREFERRED_WIDTH:
|
||||
self->width = g_value_get_int (value);
|
||||
st_image_content_set_preferred_width (self, g_value_get_int (value));
|
||||
break;
|
||||
|
||||
case PROP_PREFERRED_HEIGHT:
|
||||
self->height = g_value_get_int (value);
|
||||
st_image_content_set_preferred_height (self, g_value_get_int (value));
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -129,7 +134,6 @@ st_image_content_finalize (GObject *gobject)
|
||||
static void
|
||||
st_image_content_class_init (StImageContentClass *klass)
|
||||
{
|
||||
GParamSpec *pspec;
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->constructed = st_image_content_constructed;
|
||||
@ -137,15 +141,17 @@ st_image_content_class_init (StImageContentClass *klass)
|
||||
object_class->set_property = st_image_content_set_property;
|
||||
object_class->finalize = st_image_content_finalize;
|
||||
|
||||
pspec = g_param_spec_int ("preferred-width", NULL, NULL,
|
||||
-1, G_MAXINT, -1,
|
||||
G_PARAM_CONSTRUCT_ONLY | ST_PARAM_READWRITE);
|
||||
g_object_class_install_property (object_class, PROP_PREFERRED_WIDTH, pspec);
|
||||
props[PROP_PREFERRED_WIDTH] =
|
||||
g_param_spec_int ("preferred-width", NULL, NULL,
|
||||
-1, G_MAXINT, -1,
|
||||
G_PARAM_CONSTRUCT_ONLY | ST_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
|
||||
|
||||
pspec = g_param_spec_int ("preferred-height", NULL, NULL,
|
||||
-1, G_MAXINT, -1,
|
||||
G_PARAM_CONSTRUCT_ONLY | ST_PARAM_READWRITE);
|
||||
g_object_class_install_property (object_class, PROP_PREFERRED_HEIGHT, pspec);
|
||||
props[PROP_PREFERRED_HEIGHT] =
|
||||
g_param_spec_int ("preferred-height", NULL, NULL,
|
||||
-1, G_MAXINT, -1,
|
||||
G_PARAM_CONSTRUCT_ONLY | ST_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
|
||||
|
||||
g_object_class_install_properties (object_class, N_PROPS, props);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@ -360,6 +366,48 @@ st_image_content_new_with_preferred_size (int width,
|
||||
NULL);
|
||||
}
|
||||
|
||||
void
|
||||
st_image_content_set_preferred_width (StImageContent *content,
|
||||
int width)
|
||||
{
|
||||
g_return_if_fail (ST_IS_IMAGE_CONTENT (content));
|
||||
|
||||
if (content->width == width)
|
||||
return;
|
||||
|
||||
content->width = width;
|
||||
g_object_notify_by_pspec (G_OBJECT (content), props[PROP_PREFERRED_WIDTH]);
|
||||
}
|
||||
|
||||
int
|
||||
st_image_content_get_preferred_width (StImageContent *content)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_IMAGE_CONTENT (content), -1);
|
||||
|
||||
return content->width;
|
||||
}
|
||||
|
||||
void
|
||||
st_image_content_set_preferred_height (StImageContent *content,
|
||||
int height)
|
||||
{
|
||||
g_return_if_fail (ST_IS_IMAGE_CONTENT (content));
|
||||
|
||||
if (content->height == height)
|
||||
return;
|
||||
|
||||
content->height = height;
|
||||
g_object_notify_by_pspec (G_OBJECT (content), props[PROP_PREFERRED_HEIGHT]);
|
||||
}
|
||||
|
||||
int
|
||||
st_image_content_get_preferred_height (StImageContent *content)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_IMAGE_CONTENT (content), -1);
|
||||
|
||||
return content->height;
|
||||
}
|
||||
|
||||
void
|
||||
st_image_content_set_is_symbolic (StImageContent *content,
|
||||
gboolean is_symbolic)
|
||||
|
@ -29,6 +29,14 @@ G_DECLARE_FINAL_TYPE (StImageContent, st_image_content,
|
||||
ClutterContent *st_image_content_new_with_preferred_size (int width,
|
||||
int height);
|
||||
|
||||
void st_image_content_set_preferred_width (StImageContent *content,
|
||||
int width);
|
||||
int st_image_content_get_preferred_width (StImageContent *content);
|
||||
|
||||
void st_image_content_set_preferred_height (StImageContent *content,
|
||||
int height);
|
||||
int st_image_content_get_preferred_height (StImageContent *content);
|
||||
|
||||
gboolean st_image_content_set_data (StImageContent *content,
|
||||
CoglContext *cogl_context,
|
||||
const guint8 *data,
|
||||
@ -47,4 +55,4 @@ gboolean st_image_content_set_bytes (StImageContent *content,
|
||||
guint row_stride,
|
||||
GError **error);
|
||||
|
||||
CoglTexture * st_image_content_get_texture (StImageContent *content);
|
||||
CoglTexture * st_image_content_get_texture (StImageContent *content);
|
||||
|
@ -253,10 +253,12 @@ st_scroll_view_fade_dispose (GObject *gobject)
|
||||
G_OBJECT_CLASS (st_scroll_view_fade_parent_class)->dispose (gobject);
|
||||
}
|
||||
|
||||
static void
|
||||
st_scroll_view_set_fade_margins (StScrollViewFade *self,
|
||||
ClutterMargin *fade_margins)
|
||||
void
|
||||
st_scroll_view_fade_set_fade_margins (StScrollViewFade *self,
|
||||
ClutterMargin *fade_margins)
|
||||
{
|
||||
g_return_if_fail (ST_IS_SCROLL_VIEW_FADE (self));
|
||||
|
||||
if (self->fade_margins.left == fade_margins->left &&
|
||||
self->fade_margins.right == fade_margins->right &&
|
||||
self->fade_margins.top == fade_margins->top &&
|
||||
@ -271,10 +273,25 @@ st_scroll_view_set_fade_margins (StScrollViewFade *self,
|
||||
g_object_notify_by_pspec (G_OBJECT (self), props[PROP_FADE_MARGINS]);
|
||||
}
|
||||
|
||||
static void
|
||||
/**
|
||||
* st_scroll_view_fade_get_fade_margins:
|
||||
*
|
||||
* Returns: (transfer none): The fade margins
|
||||
*/
|
||||
ClutterMargin *
|
||||
st_scroll_view_fade_get_fade_margins (StScrollViewFade *self)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SCROLL_VIEW_FADE (self), NULL);
|
||||
|
||||
return &self->fade_margins;
|
||||
}
|
||||
|
||||
void
|
||||
st_scroll_view_fade_set_fade_edges (StScrollViewFade *self,
|
||||
gboolean fade_edges)
|
||||
{
|
||||
g_return_if_fail (ST_IS_SCROLL_VIEW_FADE (self));
|
||||
|
||||
if (self->fade_edges == fade_edges)
|
||||
return;
|
||||
|
||||
@ -289,10 +306,20 @@ st_scroll_view_fade_set_fade_edges (StScrollViewFade *self,
|
||||
g_object_thaw_notify (G_OBJECT (self));
|
||||
}
|
||||
|
||||
static void
|
||||
gboolean
|
||||
st_scroll_view_fade_get_fade_edges (StScrollViewFade *self)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SCROLL_VIEW_FADE (self), FALSE);
|
||||
|
||||
return self->fade_edges;
|
||||
}
|
||||
|
||||
void
|
||||
st_scroll_view_fade_set_extend_fade_area (StScrollViewFade *self,
|
||||
gboolean extend_fade_area)
|
||||
{
|
||||
g_return_if_fail (ST_IS_SCROLL_VIEW_FADE (self));
|
||||
|
||||
if (self->extend_fade_area == extend_fade_area)
|
||||
return;
|
||||
|
||||
@ -304,6 +331,14 @@ st_scroll_view_fade_set_extend_fade_area (StScrollViewFade *self,
|
||||
g_object_notify_by_pspec (G_OBJECT (self), props[PROP_EXTEND_FADE_AREA]);
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_scroll_view_fade_get_extend_fade_area (StScrollViewFade *self)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SCROLL_VIEW_FADE (self), FALSE);
|
||||
|
||||
return self->extend_fade_area;
|
||||
}
|
||||
|
||||
static void
|
||||
st_scroll_view_fade_set_property (GObject *object,
|
||||
guint prop_id,
|
||||
@ -315,7 +350,7 @@ st_scroll_view_fade_set_property (GObject *object,
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_FADE_MARGINS:
|
||||
st_scroll_view_set_fade_margins (self, g_value_get_boxed (value));
|
||||
st_scroll_view_fade_set_fade_margins (self, g_value_get_boxed (value));
|
||||
break;
|
||||
case PROP_FADE_EDGES:
|
||||
st_scroll_view_fade_set_fade_edges (self, g_value_get_boolean (value));
|
||||
|
@ -30,4 +30,16 @@ G_DECLARE_FINAL_TYPE (StScrollViewFade, st_scroll_view_fade,
|
||||
|
||||
ClutterEffect *st_scroll_view_fade_new (void);
|
||||
|
||||
void st_scroll_view_fade_set_fade_margins (StScrollViewFade *fade,
|
||||
ClutterMargin *margins);
|
||||
ClutterMargin * st_scroll_view_fade_get_fade_margins (StScrollViewFade *fade);
|
||||
|
||||
void st_scroll_view_fade_set_fade_edges (StScrollViewFade *fade,
|
||||
gboolean fade_edges);
|
||||
gboolean st_scroll_view_fade_get_fade_edges (StScrollViewFade *fade);
|
||||
|
||||
void st_scroll_view_fade_set_extend_fade_area (StScrollViewFade *fade,
|
||||
gboolean extend_fade_area);
|
||||
gboolean st_scroll_view_fade_get_extend_fade_area (StScrollViewFade *fade);
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -1427,3 +1427,25 @@ st_scroll_view_get_bar_offsets (StScrollView *scroll,
|
||||
: 0.;
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_scroll_view_get_hscrollbar_visible (StScrollView *scroll)
|
||||
{
|
||||
StScrollViewPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_SCROLL_VIEW (scroll), FALSE);
|
||||
|
||||
priv = st_scroll_view_get_instance_private (scroll);
|
||||
return priv->hscrollbar_visible;
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_scroll_view_get_vscrollbar_visible (StScrollView *scroll)
|
||||
{
|
||||
StScrollViewPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_SCROLL_VIEW (scroll), FALSE);
|
||||
|
||||
priv = st_scroll_view_get_instance_private (scroll);
|
||||
return priv->vscrollbar_visible;
|
||||
}
|
||||
|
@ -56,6 +56,9 @@ void st_scroll_view_set_child (StScrollView *scroll,
|
||||
StAdjustment *st_scroll_view_get_hadjustment (StScrollView *scroll);
|
||||
StAdjustment *st_scroll_view_get_vadjustment (StScrollView *scroll);
|
||||
|
||||
gboolean st_scroll_view_get_hscrollbar_visible (StScrollView *scroll);
|
||||
gboolean st_scroll_view_get_vscrollbar_visible (StScrollView *scroll);
|
||||
|
||||
gfloat st_scroll_view_get_column_size (StScrollView *scroll);
|
||||
void st_scroll_view_set_column_size (StScrollView *scroll,
|
||||
gfloat column_size);
|
||||
|
@ -82,17 +82,6 @@ G_DEFINE_TYPE (StSettings, st_settings, G_TYPE_OBJECT)
|
||||
|
||||
#define EPSILON (1e-10)
|
||||
|
||||
static void
|
||||
st_settings_set_slow_down_factor (StSettings *settings,
|
||||
double factor)
|
||||
{
|
||||
if (fabs (settings->slow_down_factor - factor) < EPSILON)
|
||||
return;
|
||||
|
||||
settings->slow_down_factor = factor;
|
||||
g_object_notify_by_pspec (G_OBJECT (settings), props[PROP_SLOW_DOWN_FACTOR]);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
get_enable_animations (StSettings *settings)
|
||||
{
|
||||
@ -102,6 +91,107 @@ get_enable_animations (StSettings *settings)
|
||||
return settings->enable_animations;
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_settings_get_enable_animations (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), FALSE);
|
||||
|
||||
return get_enable_animations (settings);
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_settings_get_primary_paste (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), FALSE);
|
||||
|
||||
return settings->primary_paste;
|
||||
}
|
||||
|
||||
int
|
||||
st_settings_get_drag_threshold (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), -1);
|
||||
|
||||
return settings->drag_threshold;
|
||||
}
|
||||
|
||||
const char *
|
||||
st_settings_get_font_name (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), NULL);
|
||||
|
||||
return settings->font_name;
|
||||
}
|
||||
|
||||
const char *
|
||||
st_settings_get_gtk_icon_theme (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), NULL);
|
||||
|
||||
return settings->gtk_icon_theme;
|
||||
}
|
||||
|
||||
StSystemColorScheme
|
||||
st_settings_get_color_scheme (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), ST_SYSTEM_COLOR_SCHEME_DEFAULT);
|
||||
|
||||
return settings->color_scheme;
|
||||
}
|
||||
|
||||
StSystemAccentColor
|
||||
st_settings_get_accent_color (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), ST_SYSTEM_ACCENT_COLOR_BLUE);
|
||||
|
||||
return settings->accent_color;
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_settings_get_high_contrast (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), FALSE);
|
||||
|
||||
return settings->high_contrast;
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_settings_get_magnifier_active (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), FALSE);
|
||||
|
||||
return settings->magnifier_active;
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_settings_get_disable_show_password (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_SETTINGS (settings), FALSE);
|
||||
|
||||
return settings->disable_show_password;
|
||||
}
|
||||
|
||||
double
|
||||
st_settings_get_slow_down_factor (StSettings *settings)
|
||||
{
|
||||
g_return_val_if_fail (ST_SETTINGS (settings), -1);
|
||||
|
||||
return settings->slow_down_factor;
|
||||
}
|
||||
|
||||
void
|
||||
st_settings_set_slow_down_factor (StSettings *settings,
|
||||
double factor)
|
||||
{
|
||||
g_return_if_fail (ST_IS_SETTINGS (settings));
|
||||
|
||||
if (fabs (settings->slow_down_factor - factor) < EPSILON)
|
||||
return;
|
||||
|
||||
settings->slow_down_factor = factor;
|
||||
g_object_notify_by_pspec (G_OBJECT (settings), props[PROP_SLOW_DOWN_FACTOR]);
|
||||
}
|
||||
|
||||
void
|
||||
st_settings_inhibit_animations (StSettings *settings)
|
||||
{
|
||||
|
@ -55,4 +55,21 @@ void st_settings_inhibit_animations (StSettings *settings);
|
||||
|
||||
void st_settings_uninhibit_animations (StSettings *settings);
|
||||
|
||||
gboolean st_settings_get_enable_animations (StSettings *settings);
|
||||
gboolean st_settings_get_primary_paste (StSettings *settings);
|
||||
int st_settings_get_drag_threshold (StSettings *settings);
|
||||
|
||||
const char * st_settings_get_font_name (StSettings *settings);
|
||||
const char * st_settings_get_gtk_icon_theme (StSettings *settings);
|
||||
StSystemColorScheme st_settings_get_color_scheme (StSettings *settings);
|
||||
StSystemAccentColor st_settings_get_accent_color (StSettings *settings);
|
||||
gboolean st_settings_get_high_contrast (StSettings *settings);
|
||||
|
||||
gboolean st_settings_get_magnifier_active (StSettings *settings);
|
||||
gboolean st_settings_get_disable_show_password (StSettings *settings);
|
||||
|
||||
double st_settings_get_slow_down_factor (StSettings *settings);
|
||||
void st_settings_set_slow_down_factor (StSettings *settings,
|
||||
double factor);
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -1097,3 +1097,42 @@ _st_theme_resolve_url (StTheme *theme,
|
||||
|
||||
return resource;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_theme_get_application_stylesheet:
|
||||
*
|
||||
* Returns: (transfer none): the stylesheet
|
||||
*/
|
||||
GFile *
|
||||
st_theme_get_application_stylesheet (StTheme *theme)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_THEME (theme), NULL);
|
||||
|
||||
return theme->application_stylesheet;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_theme_get_theme_stylesheet:
|
||||
*
|
||||
* Returns: (transfer none): the stylesheet
|
||||
*/
|
||||
GFile *
|
||||
st_theme_get_theme_stylesheet (StTheme *theme)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_THEME (theme), NULL);
|
||||
|
||||
return theme->theme_stylesheet;
|
||||
}
|
||||
|
||||
/**
|
||||
* st_theme_get_default_stylesheet:
|
||||
*
|
||||
* Returns: (transfer none): the stylesheet
|
||||
*/
|
||||
GFile *
|
||||
st_theme_get_default_stylesheet (StTheme *theme)
|
||||
{
|
||||
g_return_val_if_fail (ST_IS_THEME (theme), NULL);
|
||||
|
||||
return theme->default_stylesheet;
|
||||
}
|
||||
|
@ -46,4 +46,8 @@ gboolean st_theme_load_stylesheet (StTheme *theme, GFile *file, GError *
|
||||
void st_theme_unload_stylesheet (StTheme *theme, GFile *file);
|
||||
GSList *st_theme_get_custom_stylesheets (StTheme *theme);
|
||||
|
||||
GFile * st_theme_get_application_stylesheet (StTheme *theme);
|
||||
GFile * st_theme_get_theme_stylesheet (StTheme *theme);
|
||||
GFile * st_theme_get_default_stylesheet (StTheme *theme);
|
||||
|
||||
G_END_DECLS
|
||||
|
@ -174,12 +174,15 @@ st_viewport_scrollable_interface_init (StScrollableInterface *iface)
|
||||
iface->get_adjustments = scrollable_get_adjustments;
|
||||
}
|
||||
|
||||
static void
|
||||
void
|
||||
st_viewport_set_clip_to_view (StViewport *viewport,
|
||||
gboolean clip_to_view)
|
||||
{
|
||||
StViewportPrivate *priv =
|
||||
st_viewport_get_instance_private (viewport);
|
||||
StViewportPrivate *priv;
|
||||
|
||||
g_return_if_fail (ST_IS_VIEWPORT (viewport));
|
||||
|
||||
priv = st_viewport_get_instance_private (viewport);
|
||||
|
||||
if (!!priv->clip_to_view != !!clip_to_view)
|
||||
{
|
||||
@ -189,6 +192,17 @@ st_viewport_set_clip_to_view (StViewport *viewport,
|
||||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
st_viewport_get_clip_to_view (StViewport *viewport)
|
||||
{
|
||||
StViewportPrivate *priv;
|
||||
|
||||
g_return_val_if_fail (ST_IS_VIEWPORT (viewport), FALSE);
|
||||
|
||||
priv = st_viewport_get_instance_private (viewport);
|
||||
return priv->clip_to_view;
|
||||
}
|
||||
|
||||
static void
|
||||
st_viewport_get_property (GObject *object,
|
||||
guint property_id,
|
||||
|
@ -37,4 +37,8 @@ struct _StViewportClass
|
||||
StWidgetClass parent_class;
|
||||
};
|
||||
|
||||
void st_viewport_set_clip_to_view (StViewport *viewport,
|
||||
gboolean clip_to_view);
|
||||
gboolean st_viewport_get_clip_to_view (StViewport *viewport);
|
||||
|
||||
G_END_DECLS
|
||||
|
Loading…
x
Reference in New Issue
Block a user