Make wxGTK's wxScrolledWindow set m_x/xScrollLines to 0

if scrollbars disappear (instead of 1) as per wxMSW.
  Expose m_x/yScrollLines in public getters.
  Correct window origin for scrolled window in RTL.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41186 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2006-09-13 10:01:21 +00:00
parent 20671963ef
commit 5713b34914
4 changed files with 78 additions and 21 deletions

View File

@@ -88,24 +88,36 @@ void wxScrollHelperNative::DoAdjustScrollbar(GtkRange* range,
int *lines,
int *linesPerPage)
{
// GtkRange won't allow upper == lower, so for disabled state use [0,1]
// with a page size of 1. This will also clamp position to 0.
int upper = 1;
int page_size = 1;
if (pixelsPerLine > 0 && winSize > 0 && winSize < virtSize)
{
upper = (virtSize + pixelsPerLine - 1) / pixelsPerLine;
page_size = winSize / pixelsPerLine;
int upper = (virtSize + pixelsPerLine - 1) / pixelsPerLine;
int page_size = winSize / pixelsPerLine;
*lines = upper;
*linesPerPage = page_size;
GtkAdjustment* adj = range->adjustment;
adj->step_increment = 1;
adj->page_increment =
adj->page_size = page_size;
gtk_range_set_range(range, 0, upper);
}
else
{
// GtkRange won't allow upper == lower, so for disabled state use [0,1]
// with a page size of 1. This will also clamp position to 0.
int upper = 1;
int page_size = 1;
*lines = upper;
*linesPerPage = page_size;
*lines = 0;
*linesPerPage = 0;
GtkAdjustment* adj = range->adjustment;
adj->step_increment = 1;
adj->page_increment =
adj->page_size = page_size;
gtk_range_set_range(range, 0, upper);
GtkAdjustment* adj = range->adjustment;
adj->step_increment = 1;
adj->page_increment =
adj->page_size = page_size;
gtk_range_set_range(range, 0, upper);
}
}
void wxScrollHelperNative::AdjustScrollbars()