wxString wxDataViewColumn::GetTitle() const
{
- return wxGTK_CONV_BACK( gtk_label_get_text( GTK_LABEL(m_label) ) );
+ return wxGTK_CONV_BACK_FONT(
+ gtk_label_get_text( GTK_LABEL(m_label) ),
+ GetOwner()->GetFont()
+ );
}
void wxDataViewColumn::SetBitmap( const wxBitmap &bitmap )
// wxDataViewCtrl
//-----------------------------------------------------------------------------
-//-----------------------------------------------------------------------------
-// InsertChild for wxDataViewCtrl
-//-----------------------------------------------------------------------------
-
-static void wxInsertChildInDataViewCtrl( wxWindowGTK* parent, wxWindowGTK* child )
+void wxDataViewCtrl::AddChildGTK(wxWindowGTK* child)
{
- wxDataViewCtrl * dvc = (wxDataViewCtrl*) parent;
- GtkWidget *treeview = dvc->GtkGetTreeView();
+ GtkWidget* treeview = GtkGetTreeView();
// Insert widget in GtkTreeView
if (GTK_WIDGET_REALIZED(treeview))
if (m_notifier)
GetModel()->RemoveNotifier( m_notifier );
+ m_cols.Clear();
+
// remove the model from the GtkTreeView before it gets destroyed by the
// wxDataViewCtrlBase's dtor
gtk_tree_view_set_model( GTK_TREE_VIEW(m_treeview), NULL );
{
m_notifier = NULL;
m_internal = NULL;
+
+ m_cols.DeleteContents( true );
}
static GtkTargetEntry gs_target;
return false;
}
- m_insertCallback = wxInsertChildInDataViewCtrl;
-
m_widget = gtk_scrolled_window_new (NULL, NULL);
+ g_object_ref(m_widget);
GtkScrolledWindowSetBorder(m_widget, style);
return NULL;
wxDataViewColumnList::const_iterator iter;
- for (iter = m_cols.begin(); iter != m_cols.end(); iter++)
+ for (iter = m_cols.begin(); iter != m_cols.end(); ++iter)
{
wxDataViewColumn *col = *iter;
if (GTK_TREE_VIEW_COLUMN(col->GetGtkHandle()) == gtk_col)
gtk_tree_view_remove_column( GTK_TREE_VIEW(m_treeview),
GTK_TREE_VIEW_COLUMN(column->GetGtkHandle()) );
- m_cols.remove( column );
-
- delete column;
+ m_cols.DeleteObject( column );
return true;
}
bool wxDataViewCtrl::ClearColumns()
{
wxDataViewColumnList::iterator iter;
- for (iter = m_cols.begin(); iter != m_cols.end(); iter++)
+ for (iter = m_cols.begin(); iter != m_cols.end(); ++iter)
{
wxDataViewColumn *col = *iter;
gtk_tree_view_remove_column( GTK_TREE_VIEW(m_treeview),
GTK_TREE_VIEW_COLUMN(col->GetGtkHandle()) );
}
- m_cols.clear();
+ m_cols.Clear();
return true;
}
for (i = 0; i < sel.GetCount(); i++)
{
GtkTreeIter iter;
+ iter.stamp = m_internal->GetGtkModel()->stamp;
iter.user_data = (gpointer) sel[i].GetID();
gtk_tree_selection_select_iter( selection, &iter );
}
GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(m_treeview) );
GtkTreeIter iter;
+ iter.stamp = m_internal->GetGtkModel()->stamp;
iter.user_data = (gpointer) item.GetID();
gtk_tree_selection_select_iter( selection, &iter );
GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(m_treeview) );
GtkTreeIter iter;
+ iter.stamp = m_internal->GetGtkModel()->stamp;
iter.user_data = (gpointer) item.GetID();
gtk_tree_selection_unselect_iter( selection, &iter );
GtkTreeSelection *selection = gtk_tree_view_get_selection( GTK_TREE_VIEW(m_treeview) );
GtkTreeIter iter;
+ iter.stamp = m_internal->GetGtkModel()->stamp;
iter.user_data = (gpointer) item.GetID();
return gtk_tree_selection_iter_is_selected( selection, &iter );