]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/scrolbar.h
[ 1585270 ] Further fixes to wxPathList
[wxWidgets.git] / include / wx / univ / scrolbar.h
index af937ebae4725f3f460eb2ba8340b43668a66810..8580977eb13cd63bc6bfabafd11e997aaa1f7259 100644 (file)
 #ifndef _WX_UNIV_SCROLBAR_H_
 #define _WX_UNIV_SCROLBAR_H_
 
-#ifdef __GNUG__
-    #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 +84,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,8 +96,13 @@ public:
                                long numArg = 0,
                                const wxString& strArg = wxEmptyString);
 
-    // The scrollbars around a normal window should not
-    // receive the focus.
+    static wxInputHandler *GetStdInputHandler(wxInputHandler *handlerDef);
+    virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef)
+    {
+        return GetStdInputHandler(handlerDef);
+    }
+
+    // scrollbars around a normal window should not receive the focus
     virtual bool AcceptsFocus() const;
 
     // wxScrollBar sub elements state (combination of wxCONTROL_XXX)
@@ -127,7 +129,7 @@ protected:
     virtual void DoDraw(wxControlRenderer *renderer);
     virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
 
-    // forces update of thumb's visual appearence (does nothing if m_dirty=FALSE)
+    // forces update of thumb's visual appearence (does nothing if m_dirty=false)
     void UpdateThumb();
 
     // SetThumbPosition() helper
@@ -168,8 +170,7 @@ private:
 };
 
 // ----------------------------------------------------------------------------
-// common scrollbar input handler: it manages clicks on the standard scrollbar
-// elements (line arrows, bar, thumb)
+// Standard scrollbar input handler which can be used as a base class
 // ----------------------------------------------------------------------------
 
 class WXDLLEXPORT wxStdScrollBarInputHandler : public wxStdInputHandler
@@ -191,17 +192,15 @@ 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
-    // if not (only left mouse button can do it under Windows, any button under
-    // GTK+)
-    virtual bool IsAllowedButton(int button) = 0;
+    // return true if the mouse button can be used to activate scrollbar, false
+    // if not (any button under GTK+ unlike left button only which is default)
+    virtual bool IsAllowedButton(int button) const
+        { return button == wxMOUSE_BTN_LEFT; }
 
     // set or clear the specified flag on the scrollbar element corresponding
     // to m_htLast
@@ -225,6 +224,7 @@ protected:
     // generate a "thumb move" action for this mouse event
     void HandleThumbMove(wxScrollBar *scrollbar, const wxMouseEvent& event);
 
+
     // the window (scrollbar) which has capture or NULL and the flag telling if
     // the mouse is inside the element which captured it or not
     wxWindow *m_winCapture;