X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/42e69d6b435a4dd5415caf3750db62cf45b6f373..32485259c1342115488d219776dfebeb3d4d81b1:/include/wx/msw/spinbutt.h?ds=sidebyside diff --git a/include/wx/msw/spinbutt.h b/include/wx/msw/spinbutt.h index 161df41293..0336eb411b 100644 --- a/include/wx/msw/spinbutt.h +++ b/include/wx/msw/spinbutt.h @@ -1,52 +1,38 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: spinbutt.h +// Name: wx/univ/spinbutt.h // Purpose: wxSpinButton class // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) Julian Smart -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_SPINBUTT_H_ #define _WX_SPINBUTT_H_ -#ifdef __GNUG__ -#pragma interface "spinbutt.h" +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) + #pragma interface "spinbutt.h" #endif #include "wx/control.h" #include "wx/event.h" -#if defined(__WIN95__) +#if wxUSE_SPINBTN -/* - The wxSpinButton is like a small scrollbar than is often placed next - to a text control. - - wxSP_HORIZONTAL: horizontal spin button - wxSP_VERTICAL: vertical spin button (the default) - wxSP_ARROW_KEYS: arrow keys increment/decrement value - wxSP_WRAP: value wraps at either end - */ - -class WXDLLEXPORT wxSpinButton : public wxControl +class WXDLLEXPORT wxSpinButton : public wxSpinButtonBase { -DECLARE_DYNAMIC_CLASS(wxSpinButton) - public: - /* - * Public interface - */ - wxSpinButton(); + // construction + wxSpinButton() { } wxSpinButton(wxWindow *parent, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSP_VERTICAL | wxSP_ARROW_KEYS, - const wxString& name = "wxSpinButton") + const wxString& name = wxSPIN_BUTTON_NAME) { Create(parent, id, pos, size, style, name); } @@ -54,60 +40,34 @@ public: virtual ~wxSpinButton(); bool Create(wxWindow *parent, - wxWindowID id = -1, + wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxSP_VERTICAL | wxSP_ARROW_KEYS, - const wxString& name = "wxSpinButton"); - + const wxString& name = wxSPIN_BUTTON_NAME); - // Attributes - //////////////////////////////////////////////////////////////////////////// - int GetValue() const ; - void SetValue(int val) ; - void SetRange(int minVal, int maxVal); - int GetMin() const { return m_min; } - int GetMax() const { return m_max; } + // accessors + virtual int GetValue() const; + virtual void SetValue(int val); + virtual void SetRange(int minVal, int maxVal); - // Operations - //////////////////////////////////////////////////////////////////////////// - - // IMPLEMENTATION + // implementation virtual bool MSWCommand(WXUINT param, WXWORD id); + virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); virtual bool MSWOnScroll(int orientation, WXWORD wParam, WXWORD pos, WXHWND control); -protected: - int m_min; - int m_max; -}; + // a wxSpinButton can't do anything useful with focus, only wxSpinCtrl can + virtual bool AcceptsFocus() const { return false; } -class WXDLLEXPORT wxSpinEvent: public wxScrollEvent -{ - DECLARE_DYNAMIC_CLASS(wxSpinEvent) +protected: + virtual wxSize DoGetBestSize() const; -public: - wxSpinEvent(wxEventType commandType = wxEVT_NULL, int id = 0); +private: + DECLARE_DYNAMIC_CLASS_NO_COPY(wxSpinButton) }; -typedef void (wxEvtHandler::*wxSpinEventFunction)(wxSpinEvent&); - -// Spin events - -#define EVT_SPIN_UP(id, func) { wxEVT_SCROLL_LINEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func } -#define EVT_SPIN_DOWN(id, func) { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func } +#endif // wxUSE_SPINBTN -#define EVT_SPIN(id, func) \ - { wxEVT_SCROLL_TOP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\ - { wxEVT_SCROLL_BOTTOM, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\ - { wxEVT_SCROLL_LINEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\ - { wxEVT_SCROLL_LINEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\ - { wxEVT_SCROLL_PAGEUP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\ - { wxEVT_SCROLL_PAGEDOWN, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func },\ - { wxEVT_SCROLL_THUMBTRACK, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxSpinEventFunction) & func }, - -#endif - // _WX_WIN95__ -#endif - // _WX_SPINBUTT_H_ +#endif // _WX_SPINBUTT_H_