X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/29e1398fa035b277569c4514deb622e9f1ddcf40..78612fa68fdeb01b2cb0fa8b2b89fc8924bb71ff:/src/gtk/scrolwin.cpp diff --git a/src/gtk/scrolwin.cpp b/src/gtk/scrolwin.cpp index ef9dfd797c..76b7d458a9 100644 --- a/src/gtk/scrolwin.cpp +++ b/src/gtk/scrolwin.cpp @@ -39,31 +39,24 @@ void wxScrollHelper::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, int noUnitsX, int noUnitsY, int xPos, int yPos, - bool noRefresh) + bool WXUNUSED(noRefresh)) { - int xs, ys; - GetViewStart(& xs, & ys); - - int old_x = m_xScrollPixelsPerLine * xs; - int old_y = m_yScrollPixelsPerLine * ys; - m_xScrollPixelsPerLine = pixelsPerUnitX; m_yScrollPixelsPerLine = pixelsPerUnitY; - m_win->m_scrollBar[wxWindow::ScrollDir_Horz]->adjustment->value = - m_xScrollPosition = xPos; - m_win->m_scrollBar[wxWindow::ScrollDir_Vert]->adjustment->value = - m_yScrollPosition = yPos; - - // Setting hints here should arguably be deprecated, but without it - // a sizer might override this manual scrollbar setting in old code. - // m_targetWindow->SetVirtualSizeHints( noUnitsX * pixelsPerUnitX, noUnitsY * pixelsPerUnitY ); - int w = noUnitsX * pixelsPerUnitX; int h = noUnitsY * pixelsPerUnitY; m_targetWindow->SetVirtualSize( w ? w : wxDefaultCoord, h ? h : wxDefaultCoord); + GtkRange *sb = m_win->m_scrollBar[wxWindow::ScrollDir_Vert]; + gtk_range_set_value(sb, yPos); + sb = m_win->m_scrollBar[wxWindow::ScrollDir_Horz]; + gtk_range_set_value(sb, xPos); + + m_xScrollPosition = wxRound( m_win->m_scrollBar[wxWindow::ScrollDir_Horz]->adjustment->value ); + m_yScrollPosition = wxRound( m_win->m_scrollBar[wxWindow::ScrollDir_Vert]->adjustment->value ); + // If the target is not the same as the window with the scrollbars, // then we need to update the scrollbars here, since they won't have // been updated by SetVirtualSize(). @@ -72,6 +65,7 @@ void wxScrollHelper::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, AdjustScrollbars(); } +#if 0 if (!noRefresh) { int new_x = m_xScrollPixelsPerLine * m_xScrollPosition; @@ -79,6 +73,7 @@ void wxScrollHelper::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, m_targetWindow->ScrollWindow( old_x - new_x, old_y - new_y ); } +#endif } void wxScrollHelper::DoAdjustScrollbar(GtkRange* range, @@ -110,7 +105,7 @@ void wxScrollHelper::DoAdjustScrollbar(GtkRange* range, GtkAdjustment* adj = range->adjustment; adj->step_increment = 1; - adj->page_increment = + adj->page_increment = adj->page_size = page_size; gtk_range_set_range(range, 0, upper);