a82152f7e3
This prevented calls to AdjustScrollbars() of another window from doing anything if they were called due to a size change from AdjustScrollbars() of an outer window. Closes #16852. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78483 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
57 lines
1.9 KiB
C++
57 lines
1.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/generic/scrolwin.h
|
|
// Purpose: generic wxScrollHelper
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2008-12-24 (replacing old file with the same name)
|
|
// Copyright: (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GENERIC_SCROLLWIN_H_
|
|
#define _WX_GENERIC_SCROLLWIN_H_
|
|
|
|
#include "wx/recguard.h"
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// generic wxScrollHelper implementation
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class WXDLLIMPEXP_CORE wxScrollHelper : public wxScrollHelperBase
|
|
{
|
|
public:
|
|
wxScrollHelper(wxWindow *winToScroll);
|
|
|
|
// implement base class pure virtuals
|
|
virtual void AdjustScrollbars();
|
|
virtual bool IsScrollbarShown(int orient) const;
|
|
|
|
protected:
|
|
virtual void DoScroll(int x, int y);
|
|
virtual void DoShowScrollbars(wxScrollbarVisibility horz,
|
|
wxScrollbarVisibility vert);
|
|
|
|
private:
|
|
// helper of AdjustScrollbars(): does the work for the single scrollbar
|
|
//
|
|
// notice that the parameters passed by non-const references are modified
|
|
// by this function
|
|
void DoAdjustScrollbar(int orient,
|
|
int clientSize,
|
|
int virtSize,
|
|
int pixelsPerUnit,
|
|
int& scrollUnits,
|
|
int& scrollPosition,
|
|
int& scrollLinesPerPage,
|
|
wxScrollbarVisibility visibility);
|
|
|
|
|
|
wxScrollbarVisibility m_xVisibility,
|
|
m_yVisibility;
|
|
wxRecursionGuardFlag m_adjustScrollFlagReentrancy;
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxScrollHelper);
|
|
};
|
|
|
|
#endif // _WX_GENERIC_SCROLLWIN_H_
|
|
|