X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..045c57efc3c2358eaf3781d9e0b33f7f2e4a036b:/include/wx/scrolbar.h?ds=sidebyside diff --git a/include/wx/scrolbar.h b/include/wx/scrolbar.h index fa67805e0d..512542a0b8 100644 --- a/include/wx/scrolbar.h +++ b/include/wx/scrolbar.h @@ -1,13 +1,65 @@ -#ifndef __SCROLBARH_BASE__ -#define __SCROLBARH_BASE__ - -#if defined(__WINDOWS__) -#include "wx/msw/scrolbar.h" -#elif defined(__MOTIF__) -#include "wx/xt/scrolbar.h" -#elif defined(__GTK__) -#include "wx/gtk/scrolbar.h" +#ifndef _WX_SCROLBAR_H_BASE_ +#define _WX_SCROLBAR_H_BASE_ + +#if wxUSE_SCROLLBAR + +#include "wx/control.h" + +WXDLLEXPORT_DATA(extern const wxChar*) wxScrollBarNameStr; + +// ---------------------------------------------------------------------------- +// wxScrollBar: a scroll bar control +// ---------------------------------------------------------------------------- + +class WXDLLEXPORT wxScrollBarBase : public wxControl +{ +public: + wxScrollBarBase() { } + + // scrollbar construction + bool Create(wxWindow *parent, + wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxSB_HORIZONTAL, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxScrollBarNameStr); + + // accessors + virtual int GetThumbPosition() const = 0; + virtual int GetThumbSize() const = 0; + virtual int GetPageSize() const = 0; + virtual int GetRange() const = 0; + + bool IsVertical() const { return (m_windowStyle & wxVERTICAL) != 0; } + + // operations + virtual void SetThumbPosition(int viewStart) = 0; + virtual void SetScrollbar(int position, int thumbSize, + int range, int pageSize, + bool refresh = TRUE) = 0; + +private: + DECLARE_NO_COPY_CLASS(wxScrollBarBase) +}; + +#if defined(__WXUNIVERSAL__) + #include "wx/univ/scrolbar.h" +#elif defined(__WXMSW__) + #include "wx/msw/scrolbar.h" +#elif defined(__WXMOTIF__) + #include "wx/motif/scrolbar.h" +#elif defined(__WXGTK__) + #include "wx/gtk/scrolbar.h" +#elif defined(__WXMAC__) + #include "wx/mac/scrolbar.h" +#elif defined(__WXCOCOA__) + #include "wx/cocoa/scrolbar.h" +#elif defined(__WXPM__) + #include "wx/os2/scrolbar.h" #endif +#endif // wxUSE_SCROLLBAR + #endif - // __SCROLBARH_BASE__ + // _WX_SCROLBAR_H_BASE_