forked from AuroraMiddleware/gtk
Implement a utility function proposed in #102534:
2003-01-06 Matthias Clasen <maclas@gmx.de> Implement a utility function proposed in #102534: * gtk/gtktextbtree.h: * gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function. (_gtk_text_btree_place_cursor): Now a simple wrapper around _gtk_text_btree_select_range(). * gtk/gtktextbuffer.h: * gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function. (gtk_text_buffer_place_cursor): Now a simple wrapper around gtk_text_buffer_select_range().
This commit is contained in:
parent
41f2f7974e
commit
bc70dc94bf
14
ChangeLog
14
ChangeLog
@ -1,3 +1,17 @@
|
||||
2003-01-06 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
Implement a utility function proposed in #102534:
|
||||
|
||||
* gtk/gtktextbtree.h:
|
||||
* gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
|
||||
(_gtk_text_btree_place_cursor): Now a simple wrapper around
|
||||
_gtk_text_btree_select_range().
|
||||
|
||||
* gtk/gtktextbuffer.h:
|
||||
* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
|
||||
(gtk_text_buffer_place_cursor): Now a simple wrapper around
|
||||
gtk_text_buffer_select_range().
|
||||
|
||||
2003-01-05 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* configure.in: fix a stray bracket that was breaking the build
|
||||
|
@ -1,3 +1,17 @@
|
||||
2003-01-06 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
Implement a utility function proposed in #102534:
|
||||
|
||||
* gtk/gtktextbtree.h:
|
||||
* gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
|
||||
(_gtk_text_btree_place_cursor): Now a simple wrapper around
|
||||
_gtk_text_btree_select_range().
|
||||
|
||||
* gtk/gtktextbuffer.h:
|
||||
* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
|
||||
(gtk_text_buffer_place_cursor): Now a simple wrapper around
|
||||
gtk_text_buffer_select_range().
|
||||
|
||||
2003-01-05 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* configure.in: fix a stray bracket that was breaking the build
|
||||
|
@ -1,3 +1,17 @@
|
||||
2003-01-06 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
Implement a utility function proposed in #102534:
|
||||
|
||||
* gtk/gtktextbtree.h:
|
||||
* gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
|
||||
(_gtk_text_btree_place_cursor): Now a simple wrapper around
|
||||
_gtk_text_btree_select_range().
|
||||
|
||||
* gtk/gtktextbuffer.h:
|
||||
* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
|
||||
(gtk_text_buffer_place_cursor): Now a simple wrapper around
|
||||
gtk_text_buffer_select_range().
|
||||
|
||||
2003-01-05 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* configure.in: fix a stray bracket that was breaking the build
|
||||
|
@ -1,3 +1,17 @@
|
||||
2003-01-06 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
Implement a utility function proposed in #102534:
|
||||
|
||||
* gtk/gtktextbtree.h:
|
||||
* gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
|
||||
(_gtk_text_btree_place_cursor): Now a simple wrapper around
|
||||
_gtk_text_btree_select_range().
|
||||
|
||||
* gtk/gtktextbuffer.h:
|
||||
* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
|
||||
(gtk_text_buffer_place_cursor): Now a simple wrapper around
|
||||
gtk_text_buffer_select_range().
|
||||
|
||||
2003-01-05 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* configure.in: fix a stray bracket that was breaking the build
|
||||
|
@ -1,3 +1,17 @@
|
||||
2003-01-06 Matthias Clasen <maclas@gmx.de>
|
||||
|
||||
Implement a utility function proposed in #102534:
|
||||
|
||||
* gtk/gtktextbtree.h:
|
||||
* gtk/gtktextbtree.c (_gtk_text_btree_select_range): New function.
|
||||
(_gtk_text_btree_place_cursor): Now a simple wrapper around
|
||||
_gtk_text_btree_select_range().
|
||||
|
||||
* gtk/gtktextbuffer.h:
|
||||
* gtk/gtktextbuffer.c (gtk_text_buffer_select_range): New function.
|
||||
(gtk_text_buffer_place_cursor): Now a simple wrapper around
|
||||
gtk_text_buffer_select_range().
|
||||
|
||||
2003-01-05 Havoc Pennington <hp@pobox.com>
|
||||
|
||||
* configure.in: fix a stray bracket that was breaking the build
|
||||
|
@ -2655,6 +2655,14 @@ _gtk_text_btree_get_selection_bounds (GtkTextBTree *tree,
|
||||
void
|
||||
_gtk_text_btree_place_cursor (GtkTextBTree *tree,
|
||||
const GtkTextIter *iter)
|
||||
{
|
||||
_gtk_text_btree_select_range (tree, iter, iter);
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_text_btree_select_range (GtkTextBTree *tree,
|
||||
const GtkTextIter *ins,
|
||||
const GtkTextIter *bound)
|
||||
{
|
||||
GtkTextIter start, end;
|
||||
|
||||
@ -2663,11 +2671,12 @@ _gtk_text_btree_place_cursor (GtkTextBTree *tree,
|
||||
|
||||
/* Move insert AND selection_bound before we redisplay */
|
||||
real_set_mark (tree, tree->insert_mark,
|
||||
"insert", FALSE, iter, TRUE, FALSE);
|
||||
"insert", FALSE, ins, TRUE, FALSE);
|
||||
real_set_mark (tree, tree->selection_bound_mark,
|
||||
"selection_bound", FALSE, iter, TRUE, FALSE);
|
||||
"selection_bound", FALSE, bound, TRUE, FALSE);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
_gtk_text_btree_remove_mark_by_name (GtkTextBTree *tree,
|
||||
const gchar *name)
|
||||
|
@ -173,6 +173,10 @@ gboolean _gtk_text_btree_get_selection_bounds (GtkTextBTree
|
||||
GtkTextIter *end);
|
||||
void _gtk_text_btree_place_cursor (GtkTextBTree *tree,
|
||||
const GtkTextIter *where);
|
||||
void _gtk_text_btree_select_range (GtkTextBTree *tree,
|
||||
const GtkTextIter *ins,
|
||||
const GtkTextIter
|
||||
*bound);
|
||||
gboolean _gtk_text_btree_mark_is_insert (GtkTextBTree *tree,
|
||||
GtkTextMark *segment);
|
||||
gboolean _gtk_text_btree_mark_is_selection_bound (GtkTextBTree *tree,
|
||||
|
@ -2009,17 +2009,42 @@ void
|
||||
gtk_text_buffer_place_cursor (GtkTextBuffer *buffer,
|
||||
const GtkTextIter *where)
|
||||
{
|
||||
GtkTextIter real;
|
||||
gtk_text_buffer_select_range (buffer, where, where);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* gtk_text_buffer_select_range:
|
||||
* @buffer: a #GtkTextBuffer
|
||||
* @ins: where to put the "insert" mark
|
||||
* @bound: where to put the "selection_bound" mark
|
||||
*
|
||||
* This function moves the "insert" and "selection_bound" marks
|
||||
* simultaneously. If you move them in two steps
|
||||
* with gtk_text_buffer_move_mark(), you will temporarily select a
|
||||
* region in between their old and new locations, which can be pretty
|
||||
* inefficient since the temporarily-selected region will force stuff
|
||||
* to be recalculated. This function moves them as a unit, which can
|
||||
* be optimized.
|
||||
**/
|
||||
void
|
||||
gtk_text_buffer_select_range (GtkTextBuffer *buffer,
|
||||
const GtkTextIter *ins,
|
||||
const GtkTextIter *bound)
|
||||
{
|
||||
GtkTextIter real_ins;
|
||||
GtkTextIter real_bound;
|
||||
|
||||
g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
|
||||
|
||||
real = *where;
|
||||
real_ins = *ins;
|
||||
real_bound = *bound;
|
||||
|
||||
_gtk_text_btree_place_cursor (get_btree (buffer), &real);
|
||||
gtk_text_buffer_mark_set (buffer, &real,
|
||||
_gtk_text_btree_select_range (get_btree (buffer), &real_ins, &real_bound);
|
||||
gtk_text_buffer_mark_set (buffer, &real_ins,
|
||||
gtk_text_buffer_get_mark (buffer,
|
||||
"insert"));
|
||||
gtk_text_buffer_mark_set (buffer, &real,
|
||||
gtk_text_buffer_mark_set (buffer, &real_bound,
|
||||
gtk_text_buffer_get_mark (buffer,
|
||||
"selection_bound"));
|
||||
}
|
||||
|
@ -253,9 +253,12 @@ void gtk_text_buffer_delete_mark_by_name (GtkTextBuffer *buffer,
|
||||
GtkTextMark* gtk_text_buffer_get_insert (GtkTextBuffer *buffer);
|
||||
GtkTextMark* gtk_text_buffer_get_selection_bound (GtkTextBuffer *buffer);
|
||||
|
||||
/* efficiently move insert and selection_bound to same location */
|
||||
/* efficiently move insert and selection_bound at the same time */
|
||||
void gtk_text_buffer_place_cursor (GtkTextBuffer *buffer,
|
||||
const GtkTextIter *where);
|
||||
void gtk_text_buffer_select_range (GtkTextBuffer *buffer,
|
||||
const GtkTextIter *ins,
|
||||
const GtkTextIter *bound);
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user