]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/scrolbar.h
distinguish between main keyboard and numeric enter keys (fixes 902095)
[wxWidgets.git] / include / wx / univ / scrolbar.h
index 3dd5249ca34595b0eb1da7cba7a06da18567b3ac..4cfb8911691ce8fbd4f5ea95fae888eab239da79 100644 (file)
@@ -6,19 +6,20 @@
 // Created:     20.08.00
 // RCS-ID:      $Id$
 // Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
 // 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_
 
 ///////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_UNIV_SCROLBAR_H_
 #define _WX_UNIV_SCROLBAR_H_
 
-#ifdef __GNUG__
-    #pragma interface "scrolbar.h"
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
+    #pragma interface "univscrolbar.h"
 #endif
 
 class WXDLLEXPORT wxScrollTimer;
 
 #include "wx/univ/scrarrow.h"
 #endif
 
 class WXDLLEXPORT wxScrollTimer;
 
 #include "wx/univ/scrarrow.h"
+#include "wx/renderer.h"
 
 // ----------------------------------------------------------------------------
 // the actions supported by this control
 
 // ----------------------------------------------------------------------------
 // the actions supported by this control
@@ -92,13 +93,17 @@ public:
     // wxScrollBar actions
     void ScrollToStart();
     void ScrollToEnd();
     // 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);
 
 
     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;
     // 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; }
 
     // 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; }
 
 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);
 
     // SetThumbPosition() helper
     void DoSetThumb(int thumbPos);
@@ -129,6 +137,9 @@ protected:
     // common part of all ctors
     void Init();
 
     // 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;
 private:
     // total range of the scrollbar in logical units
     int m_range;
@@ -170,12 +181,12 @@ public:
     wxStdScrollBarInputHandler(wxRenderer *renderer,
                                wxInputHandler *inphand);
 
     wxStdScrollBarInputHandler(wxRenderer *renderer,
                                wxInputHandler *inphand);
 
-    virtual bool HandleKey(wxControl *control,
+    virtual bool HandleKey(wxInputConsumer *consumer,
                            const wxKeyEvent& event,
                            bool pressed);
                            const wxKeyEvent& event,
                            bool pressed);
-    virtual bool HandleMouse(wxControl *control,
+    virtual bool HandleMouse(wxInputConsumer *consumer,
                              const wxMouseEvent& event);
                              const wxMouseEvent& event);
-    virtual bool HandleMouseMove(wxControl *control, const wxMouseEvent& event);
+    virtual bool HandleMouseMove(wxInputConsumer *consumer, const wxMouseEvent& event);
 
     virtual ~wxStdScrollBarInputHandler();
 
 
     virtual ~wxStdScrollBarInputHandler();