X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/bd507486e07b742bb7acb118811efd60ee027859..c564ca3c975aba89f8b911ace0f240c0aaf4cf73:/include/wx/slider.h diff --git a/include/wx/slider.h b/include/wx/slider.h index 512e401328..df79d338e5 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,13 +22,38 @@ #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_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 +#define wxSL_MIN_MAX_LABELS 0x2000 +#define wxSL_VALUE_LABEL 0x4000 +#define wxSL_LABELS (wxSL_MIN_MAX_LABELS|wxSL_VALUE_LABEL) + +#if WXWIN_COMPATIBILITY_2_6 + // obsolete + #define wxSL_NOTIFY_DRAG 0x0000 +#endif // WXWIN_COMPATIBILITY_2_6 + +extern WXDLLIMPEXP_DATA_CORE(const char) wxSliderNameStr[]; // ---------------------------------------------------------------------------- // wxSliderBase: define wxSlider interface // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxSliderBase : public wxControl +class WXDLLIMPEXP_CORE wxSliderBase : public wxControl { public: /* the ctor of the derived class should have the following form: @@ -70,7 +95,7 @@ public: // warning: most of subsequent methods are currently only implemented in // wxMSW under Win95 and are silently ignored on other platforms - virtual void SetTickFreq(int WXUNUSED(n), int WXUNUSED(pos)) { } + void SetTickFreq(int freq) { DoSetTickFreq(freq); } virtual int GetTickFreq() const { return 0; } virtual void ClearTicks() { } virtual void SetTick(int WXUNUSED(tickPos)) { } @@ -80,11 +105,28 @@ public: virtual int GetSelStart() const { return GetMax(); } virtual void SetSelection(int WXUNUSED(min), int WXUNUSED(max)) { } +#if WXWIN_COMPATIBILITY_2_8 + wxDEPRECATED_INLINE( void SetTickFreq(int freq, int), DoSetTickFreq(freq); ) +#endif + +protected: + // Platform-specific implementation of SetTickFreq + virtual void DoSetTickFreq(int WXUNUSED(freq)) { /* unsupported by default */ } + + // choose the default border for this window + virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } - virtual bool CanApplyParentThemeBackground() const { return true; } + // 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) + wxDECLARE_NO_COPY_CLASS(wxSliderBase); }; // ---------------------------------------------------------------------------- @@ -94,14 +136,15 @@ private: #if defined(__WXUNIVERSAL__) #include "wx/univ/slider.h" #elif defined(__WXMSW__) - #include "wx/msw/slider95.h" - #define wxSlider wxSlider95 + #include "wx/msw/slider.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" + #include "wx/osx/slider.h" #elif defined(__WXCOCOA__) #include "wx/cocoa/slider.h" #elif defined(__WXPM__)