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
This commit is contained in:
parent
d42e3d592b
commit
dc429f89a6
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user