]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/spinctrl_osx.cpp
Fix compilation for OSX backend.
[wxWidgets.git] / src / osx / spinctrl_osx.cpp
index a5849cde3f97a1d4ea8a511554e3ec9a16aeaf93..cace5fd4e6936a0aef3ca8ececc55780babd68f0 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        src/osx/carbon/spinbutt.cpp
+// Name:        src/osx/spinctrl_osx.cpp
 // Purpose:     wxSpinCtrl
 // Author:      Robert
 // Modified by: Mark Newsam (Based on GTK file)
@@ -66,7 +66,7 @@ protected:
          event.SetEventObject( GetParent() );
          GetParent()->HandleWindowEvent(event);
      }
-     
+
      void OnKillFocus(wxFocusEvent& event)
      {
          long l;
@@ -102,7 +102,7 @@ protected:
 
              m_spin->m_oldValue = l;
          }
-         
+
          // delegate to parent control
          event.SetEventObject( GetParent() );
          GetParent()->HandleWindowEvent(event);
@@ -196,15 +196,6 @@ BEGIN_EVENT_TABLE(wxSpinCtrlButton, wxSpinButton)
     EVT_SPIN(wxID_ANY, wxSpinCtrlButton::OnSpinButton)
 END_EVENT_TABLE()
 
-IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl)
-
-BEGIN_EVENT_TABLE(wxSpinCtrl, wxControl)
-    WX_EVENT_TABLE_CONTROL_CONTAINER(wxSpinCtrl)
-END_EVENT_TABLE()
-
-WX_DELEGATE_TO_CONTROL_CONTAINER(wxSpinCtrl, wxControl)
-
-
 // ============================================================================
 // implementation
 // ============================================================================
@@ -217,7 +208,6 @@ void wxSpinCtrl::Init()
 {
     m_text = NULL;
     m_btn = NULL;
-    WX_INIT_CONTROL_CONTAINER();
 }
 
 bool wxSpinCtrl::Create(wxWindow *parent,
@@ -231,7 +221,6 @@ bool wxSpinCtrl::Create(wxWindow *parent,
                         int initial,
                         const wxString& name)
 {
-    m_macIsUserPane = true;
     if ( !wxControl::Create(parent, id, pos, size, style,
                             wxDefaultValidator, name) )
     {
@@ -250,7 +239,7 @@ bool wxSpinCtrl::Create(wxWindow *parent,
     }
 
     wxSize csize = size ;
-    m_text = new wxSpinCtrlText(this, value, style & wxTE_PROCESS_ENTER ? wxTE_PROCESS_ENTER : 0 );
+    m_text = new wxSpinCtrlText(this, value, style & ( wxTE_PROCESS_ENTER | wxALIGN_MASK ) );
     m_btn = new wxSpinCtrlButton(this, style);
 
     m_btn->SetRange(min, max);
@@ -281,10 +270,8 @@ wxSpinCtrl::~wxSpinCtrl()
     // delete the controls now, don't leave them alive even though they would
     // still be eventually deleted by our parent - but it will be too late, the
     // user code expects them to be gone now
-    delete m_text;
-    m_text = NULL ;
-    delete m_btn;
-    m_btn = NULL ;
+    wxDELETE(m_text);
+    wxDELETE(m_btn);
 }
 
 // ----------------------------------------------------------------------------
@@ -388,20 +375,22 @@ int wxSpinCtrl::GetMax() const
 
 void wxSpinCtrl::SetTextValue(int val)
 {
-    wxCHECK_RET( m_text, _T("invalid call to wxSpinCtrl::SetTextValue") );
+    wxCHECK_RET( m_text, wxT("invalid call to wxSpinCtrl::SetTextValue") );
 
-    m_text->SetValue(wxString::Format(_T("%d"), val));
+    m_text->SetValue(wxString::Format(wxT("%d"), val));
 
     // select all text
     m_text->SetSelection(0, -1);
 
+    m_text->SetInsertionPointEnd();
+
     // and give focus to the control!
     // m_text->SetFocus();    Why???? TODO.
 }
 
 void wxSpinCtrl::SetValue(int val)
 {
-    wxCHECK_RET( m_btn, _T("invalid call to wxSpinCtrl::SetValue") );
+    wxCHECK_RET( m_btn, wxT("invalid call to wxSpinCtrl::SetValue") );
 
     SetTextValue(val);
 
@@ -411,7 +400,7 @@ void wxSpinCtrl::SetValue(int val)
 
 void wxSpinCtrl::SetValue(const wxString& text)
 {
-    wxCHECK_RET( m_text, _T("invalid call to wxSpinCtrl::SetValue") );
+    wxCHECK_RET( m_text, wxT("invalid call to wxSpinCtrl::SetValue") );
 
     long val;
     if ( text.ToLong(&val) && ((val > INT_MIN) && (val < INT_MAX)) )
@@ -427,7 +416,7 @@ void wxSpinCtrl::SetValue(const wxString& text)
 
 void wxSpinCtrl::SetRange(int min, int max)
 {
-    wxCHECK_RET( m_btn, _T("invalid call to wxSpinCtrl::SetRange") );
+    wxCHECK_RET( m_btn, wxT("invalid call to wxSpinCtrl::SetRange") );
 
     m_btn->SetRange(min, max);
 }