| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: wx/os2/spinctrl.h
- // Purpose: wxSpinCtrl class declaration for Win32
- // Author: David Webster
- // Modified by:
- // Created: 10/15/99
- // Copyright: (c) David Webster
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_MSW_SPINCTRL_H_
- #define _WX_MSW_SPINCTRL_H_
- #include "wx/spinbutt.h" // the base class
- #include "wx/dynarray.h"
- class WXDLLIMPEXP_FWD_CORE wxSpinCtrl;
- WX_DEFINE_EXPORTED_ARRAY_PTR(wxSpinCtrl *, wxArraySpins);
- // ----------------------------------------------------------------------------
- // Under Win32 and OS2 PM, wxSpinCtrl is a wxSpinButton with a buddy
- // text window whose contents is automatically updated when the spin
- // control is clicked.
- // ----------------------------------------------------------------------------
- class WXDLLIMPEXP_CORE wxSpinCtrl : public wxSpinButton
- {
- public:
- wxSpinCtrl() { }
- wxSpinCtrl( wxWindow* pParent
- ,wxWindowID vId = wxID_ANY
- ,const wxString& rsValue = wxEmptyString
- ,const wxPoint& rPos = wxDefaultPosition
- ,const wxSize& rSize = wxDefaultSize
- ,long lStyle = wxSP_ARROW_KEYS
- ,int nMin = 0
- ,int nMax = 100
- ,int nInitial = 0
- ,const wxString& rsName = wxT("wxSpinCtrl")
- )
- {
- Create(pParent, vId, rsValue, rPos, rSize, lStyle, nMin, nMax, nInitial, rsName);
- }
- virtual ~wxSpinCtrl();
- bool Create(wxWindow* pParent
- ,wxWindowID vId = wxID_ANY
- ,const wxString& rsValue = wxEmptyString
- ,const wxPoint& rPos = wxDefaultPosition
- ,const wxSize& rSize = wxDefaultSize
- ,long lStyle = wxSP_ARROW_KEYS
- ,int nMin = 0
- ,int nMax = 100
- ,int nInitial = 0
- ,const wxString& rsName = wxT("wxSpinCtrl")
- );
- //
- // A wxTextCtrl-like method (but we can't have GetValue returning wxString
- // because the base class already has one returning int!)
- //
- void SetValue(const wxString& rsText);
- //
- // implementation only from now on
- // -------------------------------
- //
- virtual bool Enable(bool bEnable = true);
- virtual int GetValue(void) const;
- virtual bool SetFont(const wxFont &rFont);
- virtual void SetFocus(void);
- inline virtual void SetValue(int nVal) { wxSpinButton::SetValue(nVal); }
- void SetSelection(long lFrom, long lTo);
- virtual bool Show(bool bShow = true);
- //
- // wxSpinButton doesn't accept focus, but we do
- //
- inline virtual bool AcceptsFocus(void) const { return false; }
- //
- // Return the spinctrl object whose buddy is the given window or NULL
- // Doesn't really do much under OS/2
- //
- static wxSpinCtrl* GetSpinForTextCtrl(WXHWND hWndBuddy);
- //
- // Process a WM_COMMAND generated by the buddy text control
- //
- bool ProcessTextCommand( WXWORD wCmd
- ,WXWORD wId
- );
- protected:
- virtual void DoGetPosition( int* nlX
- ,int* nlY
- ) const;
- void DoMoveWindow( int nX
- ,int nY
- ,int nWidth
- ,int nHeight
- );
- virtual wxSize DoGetBestSize(void) const;
- virtual void DoGetSize( int* pnWidth
- ,int* pnHeight
- ) const;
- //
- // The handler for wxSpinButton events
- //
- void OnSpinChange(wxSpinEvent& rEvent);
- void OnChar(wxKeyEvent& rEvent);
- void OnSetFocus(wxFocusEvent& rEvent);
- WXHWND m_hWndBuddy;
- static wxArraySpins m_svAllSpins;
- private:
- DECLARE_DYNAMIC_CLASS(wxSpinCtrl)
- DECLARE_EVENT_TABLE()
- }; // end of CLASS wxSpinCtrl
- #endif // _WX_MSW_SPINCTRL_H_
|