]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/scrarrow.h
allow handling events in a function taking the base class of the event class correspo...
[wxWidgets.git] / include / wx / univ / scrarrow.h
index 226f27a50fbe6ecd78f151a1bd6d00e3ef000d33..2621c16de57baa35a3e4655b96e664858c746636 100644 (file)
 #ifndef _WX_UNIV_SCRARROW_H_
 #define _WX_UNIV_SCRARROW_H_
 
 #ifndef _WX_UNIV_SCRARROW_H_
 #define _WX_UNIV_SCRARROW_H_
 
-#ifdef __GNUG__
-    #pragma interface "univscrarrow.h"
-#endif
-
 // ----------------------------------------------------------------------------
 // wxScrollArrows is not a control but just a class containing the common
 // functionality of scroll arrows, whether part of scrollbars, spin ctrls or
 // ----------------------------------------------------------------------------
 // wxScrollArrows is not a control but just a class containing the common
 // functionality of scroll arrows, whether part of scrollbars, spin ctrls or
 // to derive from the wxControlWithArrows interface and implement its methods.
 // ----------------------------------------------------------------------------
 
 // to derive from the wxControlWithArrows interface and implement its methods.
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxControlWithArrows;
-class WXDLLEXPORT wxDC;
-class WXDLLEXPORT wxMouseEvent;
-class WXDLLEXPORT wxRect;
-class WXDLLEXPORT wxRenderer;
+class WXDLLIMPEXP_FWD_CORE wxControlWithArrows;
+class WXDLLIMPEXP_FWD_CORE wxDC;
+class WXDLLIMPEXP_FWD_CORE wxMouseEvent;
+class WXDLLIMPEXP_FWD_CORE wxRect;
+class WXDLLIMPEXP_FWD_CORE wxRenderer;
 
 // ----------------------------------------------------------------------------
 // wxScrollArrows: an abstraction of scrollbar arrow
 // ----------------------------------------------------------------------------
 
 
 // ----------------------------------------------------------------------------
 // wxScrollArrows: an abstraction of scrollbar arrow
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxScrollArrows
+class WXDLLIMPEXP_CORE wxScrollArrows
 {
 public:
     enum Arrow
 {
 public:
     enum Arrow
@@ -54,11 +50,12 @@ public:
     // draws the arrow on the given DC in the given rectangle, uses
     // wxControlWithArrows::GetArrowState() to get its current state
     void DrawArrow(Arrow arrow, wxDC& dc, const wxRect& rect,
     // draws the arrow on the given DC in the given rectangle, uses
     // wxControlWithArrows::GetArrowState() to get its current state
     void DrawArrow(Arrow arrow, wxDC& dc, const wxRect& rect,
-                   bool scrollbarLike = FALSE) const;
+                   bool scrollbarLike = false) const;
 
     // process a mouse move, enter or leave event, possibly calling
 
     // process a mouse move, enter or leave event, possibly calling
-    // wxControlWithArrows::SetArrowState() if wxControlWithArrows::HitTest()
-    // says that the mosue has left/entered an arrow
+    // wxControlWithArrows::SetArrowState() if
+    // wxControlWithArrows::HitTestArrow() says that the mouse has left/entered
+    // an arrow
     bool HandleMouseMove(const wxMouseEvent& event) const;
 
     // process a mouse click event
     bool HandleMouseMove(const wxMouseEvent& event) const;
 
     // process a mouse click event
@@ -82,9 +79,11 @@ private:
 // wxControlWithArrows: interface implemented by controls using wxScrollArrows
 // ----------------------------------------------------------------------------
 
 // wxControlWithArrows: interface implemented by controls using wxScrollArrows
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxControlWithArrows
+class WXDLLIMPEXP_CORE wxControlWithArrows
 {
 public:
 {
 public:
+    virtual ~wxControlWithArrows() {}
+
     // get the renderer to use for drawing the arrows
     virtual wxRenderer *GetRenderer() const = 0;
 
     // get the renderer to use for drawing the arrows
     virtual wxRenderer *GetRenderer() const = 0;
 
@@ -100,13 +99,13 @@ public:
     // set or clear the specified flag in the arrow state: this function is
     // responsible for refreshing the control
     virtual void SetArrowFlag(wxScrollArrows::Arrow arrow,
     // set or clear the specified flag in the arrow state: this function is
     // responsible for refreshing the control
     virtual void SetArrowFlag(wxScrollArrows::Arrow arrow,
-                              int flag, bool set = TRUE) = 0;
+                              int flag, bool set = true) = 0;
 
     // hit testing: return on which arrow the point is (or Arrow_None)
 
     // hit testing: return on which arrow the point is (or Arrow_None)
-    virtual wxScrollArrows::Arrow HitTest(const wxPoint& pt) const = 0;
+    virtual wxScrollArrows::Arrow HitTestArrow(const wxPoint& pt) const = 0;
 
 
-    // called when the arrow is pressed, return TRUE to continue scrolling and
-    // FALSE to stop it
+    // called when the arrow is pressed, return true to continue scrolling and
+    // false to stop it
     virtual bool OnArrow(wxScrollArrows::Arrow arrow) = 0;
 };
 
     virtual bool OnArrow(wxScrollArrows::Arrow arrow) = 0;
 };