X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6bee5ffba48de20b40ae30d479bfe9e4fb12efb4..f196316400fd247a760b2ef77d5064b4e10e5471:/include/wx/msw/slider95.h diff --git a/include/wx/msw/slider95.h b/include/wx/msw/slider95.h index 2a78343eb8..5702f1824a 100644 --- a/include/wx/msw/slider95.h +++ b/include/wx/msw/slider95.h @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wx/msw/slider95.h -// Purpose: wxSlider95 class +// Purpose: wxSlider class, using the Win95 (and later) trackbar control // Author: Julian Smart // Modified by: // Created: 01/02/97 @@ -12,28 +12,24 @@ #ifndef _WX_SLIDER95_H_ #define _WX_SLIDER95_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "slider95.h" -#endif - -class WXDLLEXPORT wxSubwindows; +class WXDLLIMPEXP_FWD_CORE wxSubwindows; // Slider -class WXDLLEXPORT wxSlider95 : public wxSliderBase +class WXDLLEXPORT wxSlider : public wxSliderBase { public: - wxSlider95() { Init(); } - - wxSlider95(wxWindow *parent, - wxWindowID id, - int value, - int minValue, - int maxValue, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize, - long style = wxSL_HORIZONTAL, - const wxValidator& validator = wxDefaultValidator, - const wxString& name = wxSliderNameStr) + wxSlider() { Init(); } + + wxSlider(wxWindow *parent, + wxWindowID id, + int value, + int minValue, + int maxValue, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + long style = wxSL_HORIZONTAL, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxSliderNameStr) { Init(); @@ -51,7 +47,7 @@ public: const wxValidator& validator = wxDefaultValidator, const wxString& name = wxSliderNameStr); - virtual ~wxSlider95(); + virtual ~wxSlider(); // slider methods virtual int GetValue() const; @@ -84,6 +80,12 @@ public: WXHWND GetEditValue() const; virtual bool ContainsHWND(WXHWND hWnd) const; + // we should let background show through the slider (and its labels) + virtual bool HasTransparentBackground() { return true; } + + // returns true if the platform should explicitly apply a theme border + virtual bool CanApplyThemeBorder() const { return false; } + void Command(wxCommandEvent& event); virtual bool MSWOnScroll(int orientation, WXWORD wParam, WXWORD pos, WXHWND control); @@ -92,6 +94,8 @@ public: virtual bool Enable(bool show = true); virtual bool SetFont(const wxFont& font); + virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const; + protected: // common part of all ctors void Init(); @@ -99,9 +103,6 @@ protected: // format an integer value as string static wxString Format(int n) { return wxString::Format(_T("%d"), n); } - // Common processing to invert slider values based on wxSL_INVERSE - int MSWInvertOrNot(int value) const; - // get the boundig box for the slider and possible labels wxRect GetBoundingBox() const; @@ -117,8 +118,6 @@ protected: virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } - virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const; - // the labels windows, if any wxSubwindows *m_labels; @@ -129,8 +128,11 @@ protected: int m_lineSize; int m_tickFreq; + // flag needed to detect whether we're getting THUMBRELEASE event because + // of dragging the thumb or scrolling the mouse wheel + bool m_isDragging; - DECLARE_DYNAMIC_CLASS_NO_COPY(wxSlider95) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxSlider) }; #endif // _WX_SLIDER95_H_