]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/scrolbar.h
Make storing non-trivial data in wxThreadSpecificInfo possible.
[wxWidgets.git] / include / wx / scrolbar.h
index 7411fabf3932ba367575b8e342c426b84c8b91e6..21f2d75a8a904fc5ac2b1bf39b6476564fc5ad66 100644 (file)
@@ -1,22 +1,37 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/scrolbar.h
+// Purpose:     wxScrollBar base header
+// Author:      Julian Smart
+// Modified by:
+// Created:
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
 #ifndef _WX_SCROLBAR_H_BASE_
 #define _WX_SCROLBAR_H_BASE_
 
+#include "wx/defs.h"
+
 #if wxUSE_SCROLLBAR
 
 #include "wx/control.h"
 
-WXDLLEXPORT_DATA(extern const wxChar*) wxScrollBarNameStr;
+extern WXDLLIMPEXP_DATA_CORE(const char) wxScrollBarNameStr[];
 
 // ----------------------------------------------------------------------------
 // wxScrollBar: a scroll bar control
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT wxScrollBarBase : public wxControl
+class WXDLLIMPEXP_CORE wxScrollBarBase : public wxControl
 {
 public:
     wxScrollBarBase() { }
 
-    // scrollbar construction
+    /*
+        Derived classes should provide the following method and ctor with the
+        same parameters:
+
     bool Create(wxWindow *parent,
                 wxWindowID id,
                 const wxPoint& pos = wxDefaultPosition,
@@ -24,6 +39,7 @@ public:
                 long style = wxSB_HORIZONTAL,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxScrollBarNameStr);
+    */
 
     // accessors
     virtual int GetThumbPosition() const = 0;
@@ -37,10 +53,13 @@ public:
     virtual void SetThumbPosition(int viewStart) = 0;
     virtual void SetScrollbar(int position, int thumbSize,
                               int range, int pageSize,
-                              bool refresh = TRUE) = 0;
+                              bool refresh = true) = 0;
+
+    // implementation-only
+    bool IsNeeded() const { return GetRange() > GetThumbSize(); }
 
 private:
-    DECLARE_NO_COPY_CLASS(wxScrollBarBase)
+    wxDECLARE_NO_COPY_CLASS(wxScrollBarBase);
 };
 
 #if defined(__WXUNIVERSAL__)
@@ -49,10 +68,14 @@ private:
     #include "wx/msw/scrolbar.h"
 #elif defined(__WXMOTIF__)
     #include "wx/motif/scrolbar.h"
-#elif defined(__WXGTK__)
+#elif defined(__WXGTK20__)
     #include "wx/gtk/scrolbar.h"
+#elif defined(__WXGTK__)
+    #include "wx/gtk1/scrolbar.h"
 #elif defined(__WXMAC__)
-    #include "wx/mac/scrolbar.h"
+    #include "wx/osx/scrolbar.h"
+#elif defined(__WXCOCOA__)
+    #include "wx/cocoa/scrolbar.h"
 #elif defined(__WXPM__)
     #include "wx/os2/scrolbar.h"
 #endif