/////////////////////////////////////////////////////////////////////////////
-// Name: spinbutt.h
+// Name: wx/msw/spinbutt.h
// Purpose: wxSpinButton class
// Author: Julian Smart
// Modified by:
#ifndef _WX_SPINBUTT_H_
#define _WX_SPINBUTT_H_
-#ifdef __GNUG__
-#pragma interface "spinbutt.h"
-#endif
-
#include "wx/control.h"
#include "wx/event.h"
-#if defined(__WIN95__)
-
+#if wxUSE_SPINBTN
-class WXDLLEXPORT wxSpinButton : public wxSpinButtonBase
+class WXDLLIMPEXP_CORE wxSpinButton : public wxSpinButtonBase
{
-DECLARE_DYNAMIC_CLASS(wxSpinButton)
-
public:
- /*
- * Public interface
- */
+ // 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);
}
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
- ////////////////////////////////////////////////////////////////////////////
-
+ // accessors
virtual int GetValue() const;
virtual void SetValue(int val);
virtual void SetRange(int minVal, int maxVal);
- // 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);
+
+ // a wxSpinButton can't do anything useful with focus, only wxSpinCtrl can
+ virtual bool AcceptsFocus() const { return false; }
+
+ // returns true if the platform should explicitly apply a theme border
+ virtual bool CanApplyThemeBorder() const { return false; }
+
+protected:
+ virtual wxSize DoGetBestSize() const;
+
+ // ensure that the control displays a value in the current range
+ virtual void NormalizeValue();
+
+private:
+ DECLARE_DYNAMIC_CLASS_NO_COPY(wxSpinButton)
};
-#endif
- // _WX_WIN95__
-#endif
- // _WX_SPINBUTT_H_
+#endif // wxUSE_SPINBTN
+
+#endif // _WX_SPINBUTT_H_