1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: wxScrollBar base header
4 // Author: Julian Smart
7 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
12 #ifndef _WX_SCROLBAR_H_BASE_
13 #define _WX_SCROLBAR_H_BASE_
19 #include "wx/control.h"
21 extern WXDLLEXPORT_DATA(const wxChar
*) wxScrollBarNameStr
;
23 // ----------------------------------------------------------------------------
24 // wxScrollBar: a scroll bar control
25 // ----------------------------------------------------------------------------
27 class WXDLLEXPORT wxScrollBarBase
: public wxControl
32 // scrollbar construction
33 bool Create(wxWindow
*parent
,
35 const wxPoint
& pos
= wxDefaultPosition
,
36 const wxSize
& size
= wxDefaultSize
,
37 long style
= wxSB_HORIZONTAL
,
38 const wxValidator
& validator
= wxDefaultValidator
,
39 const wxString
& name
= wxScrollBarNameStr
);
42 virtual int GetThumbPosition() const = 0;
43 virtual int GetThumbSize() const = 0;
44 virtual int GetPageSize() const = 0;
45 virtual int GetRange() const = 0;
47 bool IsVertical() const { return (m_windowStyle
& wxVERTICAL
) != 0; }
50 virtual void SetThumbPosition(int viewStart
) = 0;
51 virtual void SetScrollbar(int position
, int thumbSize
,
52 int range
, int pageSize
,
53 bool refresh
= true) = 0;
56 DECLARE_NO_COPY_CLASS(wxScrollBarBase
)
59 #if defined(__WXUNIVERSAL__)
60 #include "wx/univ/scrolbar.h"
61 #elif defined(__WXMSW__)
62 #include "wx/msw/scrolbar.h"
63 #elif defined(__WXMOTIF__)
64 #include "wx/motif/scrolbar.h"
65 #elif defined(__WXGTK__)
66 #include "wx/gtk/scrolbar.h"
67 #elif defined(__WXMAC__)
68 #include "wx/mac/scrolbar.h"
69 #elif defined(__WXCOCOA__)
70 #include "wx/cocoa/scrolbar.h"
71 #elif defined(__WXPM__)
72 #include "wx/os2/scrolbar.h"
75 #endif // wxUSE_SCROLLBAR
78 // _WX_SCROLBAR_H_BASE_