X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/23645bfa01b6450257f140a30c87565225b1ef4a..3d94765e6ee6011ac8e4ecfd81760a127aa3e716:/include/wx/univ/scrolbar.h diff --git a/include/wx/univ/scrolbar.h b/include/wx/univ/scrolbar.h index 1a1eb9de00..30c0e798b9 100644 --- a/include/wx/univ/scrolbar.h +++ b/include/wx/univ/scrolbar.h @@ -6,19 +6,20 @@ // Created: 20.08.00 // RCS-ID: $Id$ // Copyright: (c) 2000 SciTech Software, Inc. (www.scitechsoft.com) -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_UNIV_SCROLBAR_H_ #define _WX_UNIV_SCROLBAR_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "univscrolbar.h" #endif class WXDLLEXPORT wxScrollTimer; #include "wx/univ/scrarrow.h" +#include "wx/renderer.h" // ---------------------------------------------------------------------------- // the actions supported by this control @@ -87,7 +88,7 @@ public: virtual void SetThumbPosition(int thumbPos); virtual void SetScrollbar(int position, int thumbSize, int range, int pageSize, - bool refresh = TRUE); + bool refresh = true); // wxScrollBar actions void ScrollToStart(); @@ -99,6 +100,10 @@ public: long numArg = 0, const wxString& strArg = wxEmptyString); + // The scrollbars around a normal window should not + // receive the focus. + virtual bool AcceptsFocus() const; + // wxScrollBar sub elements state (combination of wxCONTROL_XXX) void SetState(Element which, int flags); int GetState(Element which) const; @@ -115,13 +120,16 @@ public: // for wxControlRenderer::DrawScrollbar() only const wxScrollArrows& GetArrows() const { return m_arrows; } + // idle processing + virtual void OnInternalIdle(); + protected: virtual wxSize DoGetBestClientSize() const; virtual void DoDraw(wxControlRenderer *renderer); virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } - // event handlers - void OnIdle(wxIdleEvent& event); + // forces update of thumb's visual appearence (does nothing if m_dirty=false) + void UpdateThumb(); // SetThumbPosition() helper void DoSetThumb(int thumbPos); @@ -129,6 +137,9 @@ protected: // common part of all ctors void Init(); + // is this scrollbar attached to a window or a standalone control? + bool IsStandalone() const; + private: // total range of the scrollbar in logical units int m_range; @@ -181,14 +192,14 @@ public: // this method is called by wxScrollBarTimer only and may be overridden // - // return TRUE to continue scrolling, FALSE to stop the timer + // return true to continue scrolling, false to stop the timer virtual bool OnScrollTimer(wxScrollBar *scrollbar, const wxControlAction& action); protected: // the methods which must be overridden in the derived class - // return TRUE if the mouse button can be used to activate scrollbar, FALSE + // return true if the mouse button can be used to activate scrollbar, false // if not (only left mouse button can do it under Windows, any button under // GTK+) virtual bool IsAllowedButton(int button) = 0;