/////////////////////////////////////////////////////////////////////////////
// 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
#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();
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxSliderNameStr);
- virtual ~wxSlider95();
+ virtual ~wxSlider();
// slider methods
virtual int GetValue() const;
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);
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();
// 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;
virtual void DoMoveWindow(int x, int y, int width, int height);
virtual wxSize DoGetBestSize() const;
- virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }
-
- virtual WXDWORD MSWGetStyle(long flags, WXDWORD *exstyle = NULL) const;
-
-
// the labels windows, if any
- wxSubwindows *m_labels;
+ wxSubwindows *m_labels;
int m_rangeMin;
int m_rangeMax;
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_