X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6362d82b3ed82aa6795e4ad03160820f94c9e4d4..78612fa68fdeb01b2cb0fa8b2b89fc8924bb71ff:/src/gtk/scrolwin.cpp diff --git a/src/gtk/scrolwin.cpp b/src/gtk/scrolwin.cpp index e7de2bf53d..76b7d458a9 100644 --- a/src/gtk/scrolwin.cpp +++ b/src/gtk/scrolwin.cpp @@ -36,34 +36,27 @@ // wxScrollHelper implementation // ---------------------------------------------------------------------------- -void wxScrollHelperNative::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, - int noUnitsX, int noUnitsY, - int xPos, int yPos, - bool noRefresh) +void wxScrollHelper::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, + int noUnitsX, int noUnitsY, + int xPos, int yPos, + 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 wxScrollHelperNative::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, AdjustScrollbars(); } +#if 0 if (!noRefresh) { int new_x = m_xScrollPixelsPerLine * m_xScrollPosition; @@ -79,15 +73,16 @@ void wxScrollHelperNative::SetScrollbars(int pixelsPerUnitX, int pixelsPerUnitY, m_targetWindow->ScrollWindow( old_x - new_x, old_y - new_y ); } +#endif } -void wxScrollHelperNative::DoAdjustScrollbar(GtkRange* range, - int pixelsPerLine, - int winSize, - int virtSize, - int *pos, - int *lines, - int *linesPerPage) +void wxScrollHelper::DoAdjustScrollbar(GtkRange* range, + int pixelsPerLine, + int winSize, + int virtSize, + int *pos, + int *lines, + int *linesPerPage) { int upper; int page_size; @@ -110,7 +105,7 @@ void wxScrollHelperNative::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); @@ -119,7 +114,7 @@ void wxScrollHelperNative::DoAdjustScrollbar(GtkRange* range, *pos = *lines; } -void wxScrollHelperNative::AdjustScrollbars() +void wxScrollHelper::AdjustScrollbars() { int vw, vh; m_targetWindow->GetVirtualSize(&vw, &vh); @@ -163,10 +158,10 @@ void wxScrollHelperNative::AdjustScrollbars() } } -void wxScrollHelperNative::DoScrollOneDir(int orient, - int pos, - int pixelsPerLine, - int *posOld) +void wxScrollHelper::DoScrollOneDir(int orient, + int pos, + int pixelsPerLine, + int *posOld) { if ( pos != -1 && pos != *posOld && pixelsPerLine ) { @@ -181,7 +176,7 @@ void wxScrollHelperNative::DoScrollOneDir(int orient, } } -void wxScrollHelperNative::DoScroll( int x_pos, int y_pos ) +void wxScrollHelper::DoScroll( int x_pos, int y_pos ) { wxCHECK_RET( m_targetWindow != 0, _T("No target window") ); @@ -219,8 +214,8 @@ GtkPolicyType GtkPolicyFromWX(wxScrollbarVisibility visibility) } // anonymous namespace -void wxScrollHelperNative::DoShowScrollbars(wxScrollbarVisibility horz, - wxScrollbarVisibility vert) +void wxScrollHelper::DoShowScrollbars(wxScrollbarVisibility horz, + wxScrollbarVisibility vert) { GtkScrolledWindow * const scrolled = GTK_SCROLLED_WINDOW(m_win->m_widget); wxCHECK_RET( scrolled, "window must be created" );