Add ClutterText::set_selection()
The clutter_text_set_selection() function is a convenience method for setting the cursor position and the selection boundary to a given position in a single call, with sanity checks for the positions.
This commit is contained in:
parent
2209e17432
commit
a3fbdb5949
@ -2383,6 +2383,44 @@ clutter_text_get_cursor_color (ClutterText *self,
|
|||||||
*color = priv->cursor_color;
|
*color = priv->cursor_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clutter_text_set_selection:
|
||||||
|
* @self: a #ClutterText
|
||||||
|
* @start_pos: start of the selection, in characters
|
||||||
|
* @end_pos: end of the selection, in characters
|
||||||
|
*
|
||||||
|
* Selects the region of text between @start_pos and @end_pos.
|
||||||
|
*
|
||||||
|
* This function changes the position of the cursor to match
|
||||||
|
* @start_pos and the selection bound to match @end_pos.
|
||||||
|
*
|
||||||
|
* Since: 1.0
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
clutter_text_set_selection (ClutterText *self,
|
||||||
|
gssize start_pos,
|
||||||
|
gssize end_pos)
|
||||||
|
{
|
||||||
|
ClutterTextPrivate *priv;
|
||||||
|
|
||||||
|
g_return_if_fail (CLUTTER_IS_TEXT (self));
|
||||||
|
|
||||||
|
priv = self->priv;
|
||||||
|
|
||||||
|
if (end_pos < 0)
|
||||||
|
end_pos = priv->n_chars;
|
||||||
|
|
||||||
|
start_pos = MIN (priv->n_chars, start_pos);
|
||||||
|
end_pos = MIN (priv->n_chars, end_pos);
|
||||||
|
|
||||||
|
g_object_freeze_notify (G_OBJECT (self));
|
||||||
|
|
||||||
|
clutter_text_set_cursor_position (self, start_pos);
|
||||||
|
clutter_text_set_selection_bound (self, end_pos);
|
||||||
|
|
||||||
|
g_object_thaw_notify (G_OBJECT (self));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_text_get_selection:
|
* clutter_text_get_selection:
|
||||||
* @self: a #ClutterText
|
* @self: a #ClutterText
|
||||||
|
@ -177,6 +177,9 @@ gboolean clutter_text_get_selectable (ClutterText *self
|
|||||||
void clutter_text_set_selection_bound (ClutterText *self,
|
void clutter_text_set_selection_bound (ClutterText *self,
|
||||||
gint selection_bound);
|
gint selection_bound);
|
||||||
gint clutter_text_get_selection_bound (ClutterText *self);
|
gint clutter_text_get_selection_bound (ClutterText *self);
|
||||||
|
void clutter_text_set_selection (ClutterText *self,
|
||||||
|
gssize start_pos,
|
||||||
|
gssize end_pos);
|
||||||
gchar * clutter_text_get_selection (ClutterText *self);
|
gchar * clutter_text_get_selection (ClutterText *self);
|
||||||
void clutter_text_set_text_visible (ClutterText *self,
|
void clutter_text_set_text_visible (ClutterText *self,
|
||||||
gboolean visible);
|
gboolean visible);
|
||||||
|
Loading…
Reference in New Issue
Block a user