X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3870b2ff595ba4bb4f0397ace77ceeb9628e94d..da8b1d4b3b535aba94d04494f5b6e2b3e47901ee:/include/wx/univ/slider.h diff --git a/include/wx/univ/slider.h b/include/wx/univ/slider.h index b9a0bf9e9a..3ffb5dd6fd 100644 --- a/include/wx/univ/slider.h +++ b/include/wx/univ/slider.h @@ -9,10 +9,6 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ - #pragma interface "univslider.h" -#endif - #ifndef _WX_UNIV_SLIDER_H_ #define _WX_UNIV_SLIDER_H_ @@ -24,23 +20,23 @@ // our actions are the same as scrollbars -#define wxACTION_SLIDER_START _T("start") // to the beginning -#define wxACTION_SLIDER_END _T("end") // to the end -#define wxACTION_SLIDER_LINE_UP _T("lineup") // one line up/left -#define wxACTION_SLIDER_PAGE_UP _T("pageup") // one page up/left -#define wxACTION_SLIDER_LINE_DOWN _T("linedown") // one line down/right -#define wxACTION_SLIDER_PAGE_DOWN _T("pagedown") // one page down/right -#define wxACTION_SLIDER_PAGE_CHANGE _T("pagechange")// change page by numArg +#define wxACTION_SLIDER_START wxT("start") // to the beginning +#define wxACTION_SLIDER_END wxT("end") // to the end +#define wxACTION_SLIDER_LINE_UP wxT("lineup") // one line up/left +#define wxACTION_SLIDER_PAGE_UP wxT("pageup") // one page up/left +#define wxACTION_SLIDER_LINE_DOWN wxT("linedown") // one line down/right +#define wxACTION_SLIDER_PAGE_DOWN wxT("pagedown") // one page down/right +#define wxACTION_SLIDER_PAGE_CHANGE wxT("pagechange")// change page by numArg -#define wxACTION_SLIDER_THUMB_DRAG _T("thumbdrag") -#define wxACTION_SLIDER_THUMB_MOVE _T("thumbmove") -#define wxACTION_SLIDER_THUMB_RELEASE _T("thumbrelease") +#define wxACTION_SLIDER_THUMB_DRAG wxT("thumbdrag") +#define wxACTION_SLIDER_THUMB_MOVE wxT("thumbmove") +#define wxACTION_SLIDER_THUMB_RELEASE wxT("thumbrelease") // ---------------------------------------------------------------------------- // wxSlider // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxSlider : public wxSliderBase, +class WXDLLIMPEXP_CORE wxSlider : public wxSliderBase, public wxControlWithThumb { public: @@ -95,10 +91,14 @@ public: { return IsVert() ? wxVERTICAL : wxHORIZONTAL; } // do we have labels? - bool HasLabels() const { return (GetWindowStyle() & wxSL_LABELS) != 0; } + bool HasLabels() const + { return ((GetWindowStyle() & wxSL_LABELS) != 0) && + ((GetWindowStyle() & (wxSL_TOP|wxSL_BOTTOM|wxSL_LEFT|wxSL_RIGHT)) != 0); } // do we have ticks? - bool HasTicks() const { return (GetWindowStyle() & wxSL_TICKS) != 0; } + bool HasTicks() const + { return ((GetWindowStyle() & wxSL_TICKS) != 0) && + ((GetWindowStyle() & (wxSL_TOP|wxSL_BOTTOM|wxSL_LEFT|wxSL_RIGHT|wxSL_BOTH)) != 0); } // implement wxControlWithThumb interface virtual wxWindow *GetWindow() { return this; } @@ -110,7 +110,7 @@ public: virtual void SetShaftPartState(wxScrollThumb::Shaft shaftPart, int flag, - bool set = TRUE); + bool set = true); virtual void OnThumbDragStart(int pos); virtual void OnThumbDrag(int pos); @@ -118,9 +118,19 @@ public: virtual void OnPageScrollStart(); virtual bool OnPageScroll(int pageInc); - // for wxStdSliderButtonInputHandler + // for wxStdSliderInputHandler wxScrollThumb& GetThumb() { return m_thumb; } + virtual bool PerformAction(const wxControlAction& action, + long numArg = 0, + const wxString& strArg = wxEmptyString); + + static wxInputHandler *GetStdInputHandler(wxInputHandler *handlerDef); + virtual wxInputHandler *DoGetStdInputHandler(wxInputHandler *handlerDef) + { + return GetStdInputHandler(handlerDef); + } + protected: enum { @@ -132,10 +142,6 @@ protected: virtual void DoDraw(wxControlRenderer *renderer); virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } - virtual bool PerformAction(const wxControlAction& action, - long numArg = 0, - const wxString& strArg = wxEmptyString); - // event handlers void OnSize(wxSizeEvent& event); @@ -145,7 +151,7 @@ protected: // normalize the value to fit in the range int NormalizeValue(int value) const; - // change the value by the given increment, return TRUE if really changed + // change the value by the given increment, return true if really changed bool ChangeValueBy(int inc); // change the value to the given one @@ -217,29 +223,4 @@ private: DECLARE_DYNAMIC_CLASS(wxSlider) }; -// ---------------------------------------------------------------------------- -// wxStdSliderButtonInputHandler: default slider input handling -// ---------------------------------------------------------------------------- - -class WXDLLEXPORT wxStdSliderButtonInputHandler : public wxStdInputHandler -{ -public: - // default ctor - wxStdSliderButtonInputHandler(wxInputHandler *inphand) - : wxStdInputHandler(inphand) - { - } - - // base class methods - virtual bool HandleKey(wxControl *control, - const wxKeyEvent& event, - bool pressed); - virtual bool HandleMouse(wxControl *control, - const wxMouseEvent& event); - virtual bool HandleMouseMove(wxControl *control, - const wxMouseEvent& event); - - virtual bool HandleFocus(wxControl *control, const wxFocusEvent& event); -}; - #endif // _WX_UNIV_SLIDER_H_