]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/scrolbar.h
Fix huge performance problem in wxStdInputStream when using MSVC8/9.
[wxWidgets.git] / include / wx / scrolbar.h
index 72e37cfcca55e6ea79837e729002ffca56e373c3..f63573c0cb6c6ca2bfe4786d8f4a8314cfebe97e 100644 (file)
@@ -1,20 +1,38 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/scrolbar.h
+// Purpose:     wxScrollBar base header
+// Author:      Julian Smart
+// Modified by:
+// Created:
+// Copyright:   (c) Julian Smart
+// RCS-ID:      $Id$
+// 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:
-    // scrollbar construction
+    wxScrollBarBase() { }
+
+    /*
+        Derived classes should provide the following method and ctor with the
+        same parameters:
+
     bool Create(wxWindow *parent,
                 wxWindowID id,
                 const wxPoint& pos = wxDefaultPosition,
@@ -22,6 +40,7 @@ public:
                 long style = wxSB_HORIZONTAL,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxScrollBarNameStr);
+    */
 
     // accessors
     virtual int GetThumbPosition() const = 0;
@@ -35,7 +54,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:
+    wxDECLARE_NO_COPY_CLASS(wxScrollBarBase);
 };
 
 #if defined(__WXUNIVERSAL__)
@@ -44,10 +69,14 @@ public:
     #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