diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-06-14 22:55:24 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-06-14 22:55:24 (GMT) |
commit | c987ca944052019957d3f31d69c679ed5ad994f2 (patch) | |
tree | 44f9c7a7f94925814ebebce50388935c83b34e88 /src/gtkext/gtkviewpanel.c | |
parent | c1b22ec0aa497a212ef897f3f8fffedf07cd45a6 (diff) |
Been able to move the caret when scrolling to a given address.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@541 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/gtkext/gtkviewpanel.c')
-rw-r--r-- | src/gtkext/gtkviewpanel.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/gtkext/gtkviewpanel.c b/src/gtkext/gtkviewpanel.c index 4241538..091482b 100644 --- a/src/gtkext/gtkviewpanel.c +++ b/src/gtkext/gtkviewpanel.c @@ -800,6 +800,7 @@ GLoadedBinary *gtk_view_panel_get_binary(const GtkViewPanel *panel) * Paramètres : panel = composant GTK à manipuler. * * addr = adresse à présenter à l'écran. * * tweak = adaptation finale à effectuer. * +* move = doit-on déplacer le curseur à l'adresse indiquée ? * * * * Description : S'assure qu'une adresse donnée est visible à l'écran. * * * @@ -809,7 +810,7 @@ GLoadedBinary *gtk_view_panel_get_binary(const GtkViewPanel *panel) * * ******************************************************************************/ -void gtk_view_panel_scroll_to_address(GtkViewPanel *panel, const vmpa2t *addr, ScrollPositionTweak tweak) +void _gtk_view_panel_scroll_to_address(GtkViewPanel *panel, const vmpa2t *addr, ScrollPositionTweak tweak, bool move) { GtkWidget *parent; /* Support parent à valider */ gint x; /* Abscisse à garantir */ @@ -874,6 +875,10 @@ void gtk_view_panel_scroll_to_address(GtkViewPanel *panel, const vmpa2t *addr, S else if ((y + step_inc) > (value + page_size)) gtk_adjustment_set_value(adj, y + step_inc - page_size); + /* Déplacement du curseur */ + + if (move && GTK_VIEW_PANEL_GET_CLASS(panel)->get_coordinates(panel, addr, &x, &y, SPT_RAW)) + GTK_VIEW_PANEL_GET_CLASS(panel)->move_caret_to(panel, x, y); } |