]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dataview.cpp
Fix discrepancy between different ways of measuring text extents under Mac.
[wxWidgets.git] / src / gtk / dataview.cpp
index 3f8eb008c11fb8696b7d2b678339acd982c0c2ea..a35bbbd9f8d071dcc3c70d68e27e826f152073f8 100644 (file)
@@ -1742,8 +1742,7 @@ wxDataViewRenderer::GtkOnCellChanged(const wxVariant& value,
                                      unsigned col)
 {
     wxDataViewModel *model = GetOwner()->GetOwner()->GetModel();
-    model->SetValue( value, item, col );
-    model->ValueChanged( item, col );
+    model->ChangeValue( value, item, col );
 }
 
 // ---------------------------------------------------------
@@ -1933,8 +1932,7 @@ static void wxGtkToggleRendererToggledCallback( GtkCellRendererToggle *renderer,
 
     unsigned int model_col = cell->GetOwner()->GetModelColumn();
 
-    model->SetValue( value, item, model_col );
-    model->ValueChanged( item, model_col );
+    model->ChangeValue( value, item, model_col );
 }
 
 IMPLEMENT_CLASS(wxDataViewToggleRenderer, wxDataViewRenderer)
@@ -2371,10 +2369,7 @@ END_EVENT_TABLE()
 
 void wxDataViewDateRendererPopupTransient::OnCalendar( wxCalendarEvent &event )
 {
-    wxDateTime date = event.GetDate();
-    wxVariant value = date;
-    m_model->SetValue( value, m_item, m_col );
-    m_model->ValueChanged( m_item, m_col );
+    m_model->ChangeValue( event.GetDate(), m_item, m_col );
     DismissAndNotify();
 }
 
@@ -4116,8 +4111,6 @@ bool wxDataViewCtrl::Create(wxWindow *parent, wxWindowID id,
            const wxPoint& pos, const wxSize& size,
            long style, const wxValidator& validator )
 {
-    Init();
-
     if (!PreCreation( parent, pos, size ) ||
         !CreateBase( parent, id, pos, size, style, validator ))
     {
@@ -4221,13 +4214,10 @@ void wxDataViewCtrl::OnInternalIdle()
 
 bool wxDataViewCtrl::AssociateModel( wxDataViewModel *model )
 {
-    if (GetModel())
+    if ( m_internal )
     {
         delete m_internal;
         m_internal = NULL;
-
-        delete m_notifier;
-        m_notifier = NULL;
     }
 
     if (!wxDataViewCtrlBase::AssociateModel( model ))