#include <wxPropGrid/Include/propgrid.h>
#include <wxPropGrid/Include/propdev.h>
#include <wxPropGrid/Include/advprops.h>

//------------------------------------------------------------------------------
class wxPGSpinCtrlEditor : public wxPGTextCtrlEditor
//------------------------------------------------------------------------------
{
	wxPGSpinCtrlEditor() : wxPGTextCtrlEditor() {}
	static wxPGSpinCtrlEditor*	m_pInstance;
public:
    // See below for short explanations of what these are suppposed to do.
    virtual wxWindow*			CreateControls ( wxPropertyGrid* propgrid, wxPGProperty* property, const wxPoint& pos, const wxSize& sz, wxWindow** psecondary ) const;
    virtual bool				CopyValueFromControl ( wxPGProperty* property, wxWindow* wnd ) const;
	virtual const wxChar*		GetName() const {return wxT("SpinCtrl"); }
	static wxPGSpinCtrlEditor*	Instance();
    virtual void				SetValueToUnspecified ( wxWindow* wnd ) const;
    virtual void				SetControlStringValue ( wxWindow* wnd, const wxString& txt ) const;
    virtual bool				OnEvent ( wxPropertyGrid* propgrid, wxPGProperty* property, wxWindow* wnd, wxEvent& event ) const;
	virtual void				OnFocus ( wxPGProperty* , wxWindow*  ) const {} // must overload the function from the base class!
    virtual void				UpdateControl ( wxPGProperty* property, wxWindow* wnd ) const;
};
