]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/spinctrl.cpp
1. wxCalendarCtrl
[wxWidgets.git] / src / msw / spinctrl.cpp
index d37468bbf011b7ae05bc281fea1757672c71013d..1724bf68d837687a197a2d3d9c5c704c8303f5b6 100644 (file)
 // macros
 // ----------------------------------------------------------------------------
 
-#if !USE_SHARED_LIBRARY
-    IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
-#endif
+IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
+
+BEGIN_EVENT_TABLE(wxSpinCtrl, wxSpinButton)
+    EVT_SPIN(-1, wxSpinCtrl::OnSpinChange)
+END_EVENT_TABLE()
 
 // ----------------------------------------------------------------------------
 // constants
@@ -203,11 +205,29 @@ bool wxSpinCtrl::SetFont(const wxFont& font)
     return TRUE;
 }
 
+// ----------------------------------------------------------------------------
+// event processing
+// ----------------------------------------------------------------------------
+
+void wxSpinCtrl::OnSpinChange(wxSpinEvent& eventSpin)
+{
+    wxCommandEvent event(wxEVT_COMMAND_SPINCTRL_UPDATED, GetId());
+    event.SetEventObject(this);
+    event.SetInt(eventSpin.GetPosition());
+
+    (void)GetEventHandler()->ProcessEvent(event);
+
+    if ( eventSpin.GetSkipped() )
+    {
+        event.Skip();
+    }
+}
+
 // ----------------------------------------------------------------------------
 // size calculations
 // ----------------------------------------------------------------------------
 
-wxSize wxSpinCtrl::DoGetBestSize()
+wxSize wxSpinCtrl::DoGetBestSize() const
 {
     wxSize sizeBtn = wxSpinButton::DoGetBestSize();
     sizeBtn.x += DEFAULT_ITEM_WIDTH + MARGIN_BETWEEN;