1///////////////////////////////////////////////////////////////////////////// 2// Name: wx/gtk1/spinctrl.h 3// Purpose: wxSpinCtrl class 4// Author: Robert Roebling 5// Modified by: 6// RCS-ID: $Id: spinctrl.h 61872 2009-09-09 22:37:05Z VZ $ 7// Copyright: (c) Robert Roebling 8// Licence: wxWindows licence 9///////////////////////////////////////////////////////////////////////////// 10 11#ifndef __GTKSPINCTRLH__ 12#define __GTKSPINCTRLH__ 13 14#include "wx/defs.h" 15 16#if wxUSE_SPINCTRL 17 18#include "wx/control.h" 19 20//----------------------------------------------------------------------------- 21// wxSpinCtrl 22//----------------------------------------------------------------------------- 23 24class WXDLLIMPEXP_CORE wxSpinCtrl : public wxControl 25{ 26public: 27 wxSpinCtrl() {} 28 wxSpinCtrl(wxWindow *parent, 29 wxWindowID id = -1, 30 const wxString& value = wxEmptyString, 31 const wxPoint& pos = wxDefaultPosition, 32 const wxSize& size = wxDefaultSize, 33 long style = wxSP_ARROW_KEYS, 34 int min = 0, int max = 100, int initial = 0, 35 const wxString& name = wxT("wxSpinCtrl")) 36 { 37 Create(parent, id, value, pos, size, style, min, max, initial, name); 38 } 39 40 bool Create(wxWindow *parent, 41 wxWindowID id = -1, 42 const wxString& value = wxEmptyString, 43 const wxPoint& pos = wxDefaultPosition, 44 const wxSize& size = wxDefaultSize, 45 long style = wxSP_ARROW_KEYS, 46 int min = 0, int max = 100, int initial = 0, 47 const wxString& name = wxT("wxSpinCtrl")); 48 49 void SetValue(const wxString& text); 50 void SetSelection(long from, long to); 51 52 virtual int GetValue() const; 53 virtual void SetValue( int value ); 54 virtual void SetRange( int minVal, int maxVal ); 55 virtual int GetMin() const; 56 virtual int GetMax() const; 57 58 static wxVisualAttributes 59 GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); 60 61 // implementation 62 void OnChar( wxKeyEvent &event ); 63 64 bool IsOwnGtkWindow( GdkWindow *window ); 65 void GtkDisableEvents(); 66 void GtkEnableEvents(); 67 68 GtkAdjustment *m_adjust; 69 float m_oldPos; 70 71protected: 72 virtual wxSize DoGetBestSize() const; 73 74 // Widgets that use the style->base colour for the BG colour should 75 // override this and return true. 76 virtual bool UseGTKStyleBase() const { return true; } 77 78private: 79 DECLARE_DYNAMIC_CLASS(wxSpinCtrl) 80 DECLARE_EVENT_TABLE() 81}; 82 83#endif 84 // wxUSE_SPINCTRL 85 86#endif 87 // __GTKSPINCTRLH__ 88