From 4d2342e74cd9d3e5f3826d857f0a1cfeba5d8091 Mon Sep 17 00:00:00 2001 From: Jesse van den Kieboom Date: Mon, 6 Feb 2006 18:37:17 +0000 Subject: [PATCH] Added page scrolling --- gnoemoe/widgets/gm-text-scroller.c | 15 +++++++++++++++ gnoemoe/widgets/gm-text-scroller.h | 1 + 2 files changed, 16 insertions(+) diff --git a/gnoemoe/widgets/gm-text-scroller.c b/gnoemoe/widgets/gm-text-scroller.c index 6291fc1..3e02085 100644 --- a/gnoemoe/widgets/gm-text-scroller.c +++ b/gnoemoe/widgets/gm-text-scroller.c @@ -269,6 +269,21 @@ gm_text_scroller_new(GtkTextView *text_view) { return obj; } +void +gm_text_scroller_scroll_page(GmTextScroller *scroller, gint direction) { + GtkScrolledWindow *srl = scroller->priv->scrolled_window; + GtkAdjustment *adj = gtk_scrolled_window_get_vadjustment(srl); + double value = adj->value + (adj->page_size * direction); + + if (value > adj->upper - adj->page_size) { + gtk_adjustment_set_value(adj, adj->upper - adj->page_size); + } else if (value < adj->lower) { + gtk_adjustment_set_value(adj, adj->lower); + } else { + gtk_adjustment_set_value(adj, value); + } +} + // Callbacks void diff --git a/gnoemoe/widgets/gm-text-scroller.h b/gnoemoe/widgets/gm-text-scroller.h index c995ffd..6e1fe62 100644 --- a/gnoemoe/widgets/gm-text-scroller.h +++ b/gnoemoe/widgets/gm-text-scroller.h @@ -47,6 +47,7 @@ GType gm_text_scroller_get_type(void) G_GNUC_CONST; GmTextScroller *gm_text_scroller_new(GtkTextView *text_view); void gm_text_scroller_scroll_end(GmTextScroller *scroller); void gm_text_scroller_scroll_begin(GmTextScroller *scroller); +void gm_text_scroller_scroll_page(GmTextScroller *scroller, gint direction); G_END_DECLS #endif /* __GM_TEXT_SCROLLER_H__ */