From: Vadim Zeitlin Date: Fri, 7 Jun 2002 23:36:36 +0000 (+0000) Subject: fixed wxScrolledWindow::SetScrollbars() which was broken by the virtual size changes X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/dc429f89a68f4e45c11dd8638d10a270b2d82505 fixed wxScrolledWindow::SetScrollbars() which was broken by the virtual size changes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15789 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/generic/scrolwin.h b/include/wx/generic/scrolwin.h index acf05c500b..ce9c0e75de 100644 --- a/include/wx/generic/scrolwin.h +++ b/include/wx/generic/scrolwin.h @@ -27,7 +27,7 @@ WXDLLEXPORT_DATA(extern const wxChar*) wxPanelNameStr; // default scrolled window style #ifndef wxScrolledWindowStyle -#define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL) + #define wxScrolledWindowStyle (wxHSCROLL | wxVSCROLL) #endif // avoid triggering this stupid VC++ warning @@ -66,11 +66,9 @@ public: virtual void PrepareDC(wxDC& dc) { DoPrepareDC(dc); } - // lay out the window and its children + // lay out the window and its children virtual bool Layout(); - virtual void DoSetVirtualSize( int x, int y ); - protected: // this is needed for wxEVT_PAINT processing hack described in // wxScrollHelperEvtHandler::ProcessEvent() @@ -94,4 +92,3 @@ private: #endif // _WX_GENERIC_SCROLLWIN_H_ -// vi:sts=4:sw=4:et diff --git a/src/generic/scrlwing.cpp b/src/generic/scrlwing.cpp index 2e0fff3751..b36eace80e 100644 --- a/src/generic/scrlwing.cpp +++ b/src/generic/scrlwing.cpp @@ -342,6 +342,8 @@ void wxScrollHelper::SetScrollbars(int pixelsPerUnitX, m_targetWindow->SetVirtualSizeHints( noUnitsX * pixelsPerUnitX, noUnitsY * pixelsPerUnitY ); + AdjustScrollbars(); + if (do_refresh && !noRefresh) m_targetWindow->Refresh(TRUE, GetRect()); @@ -865,11 +867,13 @@ void wxScrollHelper::DoCalcUnscrolledPosition(int x, int y, int *xx, int *yy) co // Default OnSize resets scrollbars, if any void wxScrollHelper::HandleOnSize(wxSizeEvent& WXUNUSED(event)) { - if( m_targetWindow != m_win ) + if ( m_targetWindow != m_win ) m_targetWindow->SetVirtualSize( m_targetWindow->GetClientSize() ); m_win->SetVirtualSize( m_win->GetClientSize() ); + AdjustScrollbars(); + #if wxUSE_CONSTRAINTS if (m_win->GetAutoLayout()) m_win->Layout(); @@ -1159,12 +1163,6 @@ bool wxGenericScrolledWindow::Layout() return wxPanel::Layout(); } -void wxGenericScrolledWindow::DoSetVirtualSize( int x, int y ) -{ - wxPanel::DoSetVirtualSize( x, y ); - AdjustScrollbars(); -} - void wxGenericScrolledWindow::OnPaint(wxPaintEvent& event) { // the user code didn't really draw the window if we got here, so set this