+
+extern "C" {
+static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *column,
+ GtkCellRenderer *cell,
+ GtkTreeModel *model,
+ GtkTreeIter *iter,
+ gpointer data );
+}
+
+
+static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *column,
+ GtkCellRenderer *renderer,
+ GtkTreeModel *model,
+ GtkTreeIter *iter,
+ gpointer data )
+{
+ g_return_if_fail (GTK_IS_WX_LIST_STORE (model));
+ GtkWxListStore *list_store = (GtkWxListStore *) model;
+
+ wxDataViewCell *cell = (wxDataViewCell*) data;
+
+ wxVariant value = list_store->model->GetValue( (size_t) iter->user_data,
+ cell->GetOwner()->GetModelColumn() );
+
+ if (value.GetType() != cell->GetVariantType())
+ wxPrintf( wxT("Wrong type\n") );
+
+ cell->SetValue( value );
+}
+