X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e9e4acc5197ac49259b9a39468c5931b4459d87f..8ba1644391f9fd8fa7f2d2a9c102cd78a1d799cb:/include/wx/slider.h diff --git a/include/wx/slider.h b/include/wx/slider.h index 983d959ab6..3d775be237 100644 --- a/include/wx/slider.h +++ b/include/wx/slider.h @@ -5,7 +5,7 @@ // Modified by: // Created: 09.02.01 // RCS-ID: $Id$ -// Copyright: (c) 1996-2001 wxWindows team +// Copyright: (c) 1996-2001 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -22,7 +22,30 @@ #include "wx/control.h" -WXDLLEXPORT_DATA(extern const wxChar*) wxSliderNameStr; +// ---------------------------------------------------------------------------- +// wxSlider flags +// ---------------------------------------------------------------------------- + +#define wxSL_HORIZONTAL wxHORIZONTAL /* 0x0004 */ +#define wxSL_VERTICAL wxVERTICAL /* 0x0008 */ + +#define wxSL_TICKS 0x0010 +#define wxSL_AUTOTICKS wxSL_TICKS // we don't support manual ticks +#define wxSL_LABELS 0x0020 +#define wxSL_LEFT 0x0040 +#define wxSL_TOP 0x0080 +#define wxSL_RIGHT 0x0100 +#define wxSL_BOTTOM 0x0200 +#define wxSL_BOTH 0x0400 +#define wxSL_SELRANGE 0x0800 +#define wxSL_INVERSE 0x1000 + +#if WXWIN_COMPATIBILITY_2_6 + // obsolete + #define wxSL_NOTIFY_DRAG 0x0000 +#endif // WXWIN_COMPATIBILITY_2_6 + +extern WXDLLEXPORT_DATA(const wxChar) wxSliderNameStr[]; // ---------------------------------------------------------------------------- // wxSliderBase: define wxSlider interface @@ -42,6 +65,7 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxSliderNameStr); */ + wxSliderBase() { } // get/set the current slider value (should be in range) virtual int GetValue() const = 0; @@ -51,6 +75,8 @@ public: virtual void SetRange(int minValue, int maxValue) = 0; virtual int GetMin() const = 0; virtual int GetMax() const = 0; + void SetMin( int minValue ) { SetRange( minValue , GetMax() ) ; } + void SetMax( int maxValue ) { SetRange( GetMin() , maxValue ) ; } // the line/page size is the increment by which the slider moves when // cursor arrow key/page up or down are pressed (clicking the mouse is like @@ -76,6 +102,20 @@ public: virtual int GetSelEnd() const { return GetMin(); } virtual int GetSelStart() const { return GetMax(); } virtual void SetSelection(int WXUNUSED(min), int WXUNUSED(max)) { } + +protected: + + // adjust value according to wxSL_INVERSE style + virtual int ValueInvertOrNot(int value) const + { + if (HasFlag(wxSL_INVERSE)) + return (GetMax() + GetMin()) - value; + else + return value; + } + +private: + DECLARE_NO_COPY_CLASS(wxSliderBase) }; // ---------------------------------------------------------------------------- @@ -85,23 +125,21 @@ public: #if defined(__WXUNIVERSAL__) #include "wx/univ/slider.h" #elif defined(__WXMSW__) - #ifdef __WIN95__ - #include "wx/msw/slider95.h" - #define wxSlider wxSlider95 - #define sm_classwxSlider sm_classwxSlider95 - #else // Win16 - #include "wx/msw/slidrmsw.h" - #define wxSlider wxSliderMSW - #define sm_classwxSlider sm_classwxSliderMSW - #endif // Win32/Win16 + #include "wx/msw/slider95.h" #elif defined(__WXMOTIF__) #include "wx/motif/slider.h" -#elif defined(__WXGTK__) +#elif defined(__WXGTK20__) #include "wx/gtk/slider.h" +#elif defined(__WXGTK__) + #include "wx/gtk1/slider.h" #elif defined(__WXMAC__) #include "wx/mac/slider.h" +#elif defined(__WXCOCOA__) + #include "wx/cocoa/slider.h" #elif defined(__WXPM__) #include "wx/os2/slider.h" +#elif defined(__WXPALMOS__) + #include "wx/palmos/slider.h" #endif #endif // wxUSE_SLIDER