X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71908213057690d5452f72b2b9c8e62b53357170..222ed1d678dff2f5c3c4164321dd05e8f47de487:/include/wx/univ/scrolbar.h diff --git a/include/wx/univ/scrolbar.h b/include/wx/univ/scrolbar.h index 3dd5249ca3..af937ebae4 100644 --- a/include/wx/univ/scrolbar.h +++ b/include/wx/univ/scrolbar.h @@ -6,14 +6,14 @@ // 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__ - #pragma interface "scrolbar.h" + #pragma interface "univscrolbar.h" #endif class WXDLLEXPORT wxScrollTimer; @@ -92,13 +92,17 @@ public: // wxScrollBar actions void ScrollToStart(); void ScrollToEnd(); - void ScrollLines(int nLines); - void ScrollPages(int nPages); + bool ScrollLines(int nLines); + bool ScrollPages(int nPages); virtual bool PerformAction(const wxControlAction& action, 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 +119,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 +136,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; @@ -170,12 +180,12 @@ public: wxStdScrollBarInputHandler(wxRenderer *renderer, wxInputHandler *inphand); - virtual bool HandleKey(wxControl *control, + virtual bool HandleKey(wxInputConsumer *consumer, const wxKeyEvent& event, bool pressed); - virtual bool HandleMouse(wxControl *control, + virtual bool HandleMouse(wxInputConsumer *consumer, const wxMouseEvent& event); - virtual bool HandleMouseMove(wxControl *control, const wxMouseEvent& event); + virtual bool HandleMouseMove(wxInputConsumer *consumer, const wxMouseEvent& event); virtual ~wxStdScrollBarInputHandler();