diff options
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); } |