diff options
author | nyamatongwe <unknown> | 2011-05-01 14:28:53 +1000 |
---|---|---|
committer | nyamatongwe <unknown> | 2011-05-01 14:28:53 +1000 |
commit | cd0686dea3cdef5e01eed81a252f2b524e45f44a (patch) | |
tree | c0ff5b0ee02d1cece5f545b48bf952bb2410a657 /gtk/PlatGTK.cxx | |
parent | 9c2334c4e4033b6ba3eb3b4834c302e8f27d4c37 (diff) | |
download | scintilla-mirror-cd0686dea3cdef5e01eed81a252f2b524e45f44a.tar.gz |
Use accessor function for adjustments and scrollbars for GTK+ 3.
Diffstat (limited to 'gtk/PlatGTK.cxx')
-rw-r--r-- | gtk/PlatGTK.cxx | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 9891bd4e0..a89b1e4f5 100644 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -2501,9 +2501,13 @@ void ListBoxX::Select(int n) { int total = Length(); GtkAdjustment *adj = gtk_tree_view_get_vadjustment(GTK_TREE_VIEW(list)); +#if GTK_CHECK_VERSION(3,0,0) + gfloat value = ((gfloat)n / total) * (gtk_adjustment_get_upper(adj) - gtk_adjustment_get_lower(adj)) + + gtk_adjustment_get_lower(adj) - gtk_adjustment_get_page_size(adj) / 2; +#else gfloat value = ((gfloat)n / total) * (adj->upper - adj->lower) + adj->lower - adj->page_size / 2; - +#endif // Get cell height int row_width; int row_height; @@ -2522,8 +2526,13 @@ void ListBoxX::Select(int n) { } // Clamp it. value = (value < 0)? 0 : value; +#if GTK_CHECK_VERSION(3,0,0) + value = (value > (gtk_adjustment_get_upper(adj) - gtk_adjustment_get_page_size(adj)))? + (gtk_adjustment_get_upper(adj) - gtk_adjustment_get_page_size(adj)) : value; +#else value = (value > (adj->upper - adj->page_size))? (adj->upper - adj->page_size) : value; +#endif // Set it. gtk_adjustment_set_value(adj, value); |