X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0e320a79f187558effb04d92020b470372bbe456..938aa9c4618c9ed67fa791063681875106d3ef35:/include/wx/os2/spinbutt.h diff --git a/include/wx/os2/spinbutt.h b/include/wx/os2/spinbutt.h index afdb978c3f..493f7fddfc 100644 --- a/include/wx/os2/spinbutt.h +++ b/include/wx/os2/spinbutt.h @@ -1,97 +1,80 @@ ///////////////////////////////////////////////////////////////////////////// // Name: spinbutt.h // Purpose: wxSpinButton class -// Author: AUTHOR +// Author: David Webster // Modified by: -// Created: ??/??/98 +// Created: 10/15/99 // RCS-ID: $Id$ -// Copyright: (c) AUTHOR -// Licence: wxWindows licence +// Copyright: (c) David Webster +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_SPINBUTT_H_ #define _WX_SPINBUTT_H_ -#ifdef __GNUG__ -#pragma interface "spinbutt.h" -#endif - #include "wx/control.h" #include "wx/event.h" -/* - 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 - */ +extern MRESULT EXPENTRY wxSpinCtrlWndProc( + HWND hWnd +, UINT uMessage +, MPARAM wParam +, MPARAM lParam +); -class WXDLLEXPORT wxSpinButton: public wxControl +class WXDLLEXPORT wxSpinButton: public wxSpinButtonBase { - DECLARE_DYNAMIC_CLASS(wxSpinButton) - public: - /* - * Public interface - */ - - wxSpinButton(); - - inline wxSpinButton(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = wxSP_VERTICAL, const wxString& name = "wxSpinButton") - { - Create(parent, id, pos, size, style, name); - } - ~wxSpinButton(); - - bool Create(wxWindow *parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, - long style = wxSP_VERTICAL, const wxString& name = "wxSpinButton"); - - - // Attributes - //////////////////////////////////////////////////////////////////////////// - - int GetValue() const ; - void SetValue(int val) ; - void SetRange(int minVal, int maxVal) ; - inline int GetMin() const { return m_min; } - inline int GetMax() const { return m_max; } - - // Operations - //////////////////////////////////////////////////////////////////////////// - - void Command(wxCommandEvent& event) { ProcessCommand(event); }; - +public: + // Construction + wxSpinButton() { } + inline wxSpinButton( wxWindow* pParent + ,wxWindowID vId = -1 + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,long lStyle = wxSP_VERTICAL + ,const wxString& rsName = "wxSpinButton" + ) + { + Create(pParent, vId, rPos, rSize, lStyle, rsName); + } + virtual ~wxSpinButton(); + + + bool Create( wxWindow* pParent + ,wxWindowID vId = -1 + ,const wxPoint& rPos = wxDefaultPosition + ,const wxSize& rSize = wxDefaultSize + ,long lStyle = wxSP_VERTICAL + ,const wxString& rsName = "wxSpinButton" + ); + + // Accessors + inline virtual int GetMax(void) const { return m_max; } + inline virtual int GetMin(void) const { return m_min; } + virtual int GetValue(void) const; + inline bool IsVertical(void) const {return ((m_windowStyle & wxSP_VERTICAL) != 0); } + virtual void SetValue(int nVal); + virtual void SetRange( int nMinVal + ,int nMaxVal + ); + + // + // Implementation + // + virtual bool OS2Command( WXUINT wParam + ,WXWORD wId + ); + virtual bool OS2OnScroll( int nOrientation + ,WXWORD wParam + ,WXWORD wPos + ,WXHWND hControl + ); + + inline virtual bool AcceptsFocus(void) const { return FALSE; } protected: - int m_min; - int m_max; -}; - -class WXDLLEXPORT wxSpinEvent: public wxScrollEvent -{ - DECLARE_DYNAMIC_CLASS(wxSpinEvent) - - public: - wxSpinEvent(wxEventType commandType = wxEVT_NULL, int id = 0); -}; - -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 } - -#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 }, + virtual wxSize DoGetBestSize() const; +private: + DECLARE_DYNAMIC_CLASS(wxSpinButton) +}; // end of CLASS wxSpinButton -#endif - // _WX_SPINBUTT_H_ +#endif // _WX_SPINBUTT_H_