bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item );
bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item );
bool ItemChanged( const wxDataViewItem &item );
- bool ValueChanged( const wxDataViewItem &item, unsigned int col );
+ bool ValueChanged( const wxDataViewItem &item, unsigned int model_column );
bool Cleared();
bool BeforeReset();
bool AfterReset();
virtual bool ItemAdded( const wxDataViewItem &parent, const wxDataViewItem &item );
virtual bool ItemDeleted( const wxDataViewItem &parent, const wxDataViewItem &item );
virtual bool ItemChanged( const wxDataViewItem &item );
- virtual bool ValueChanged( const wxDataViewItem &item, unsigned int col );
+ virtual bool ValueChanged( const wxDataViewItem &item, unsigned int model_column );
virtual bool Cleared();
virtual void Resort();
virtual bool BeforeReset();
return true;
}
-bool wxGtkDataViewModelNotifier::ValueChanged( const wxDataViewItem &item, unsigned int model_col )
+bool wxGtkDataViewModelNotifier::ValueChanged( const wxDataViewItem &item, unsigned int model_column )
{
GtkWxTreeModel *wxgtk_model = m_internal->GetGtkModel();
wxDataViewCtrl *ctrl = m_internal->GetOwner();
for (index = 0; index < ctrl->GetColumnCount(); index++)
{
wxDataViewColumn *column = ctrl->GetColumn( index );
- if (column->GetModelColumn() == model_col)
+ if (column->GetModelColumn() == model_column)
{
GtkTreeView *widget = GTK_TREE_VIEW(ctrl->GtkGetTreeView());
GtkTreeViewColumn *gcolumn = GTK_TREE_VIEW_COLUMN(column->GetGtkHandle());
gtk_widget_queue_draw_area( GTK_WIDGET(widget),
cell_area.x - xdiff, ydiff + cell_area.y, cell_area.width, cell_area.height );
- m_internal->ValueChanged( item, model_col );
+ m_internal->ValueChanged( item, model_column );
return true;
}
cell->SetValue( value );
+ // deal with disabled items
+ bool enabled = wx_model->IsEnabled( item, cell->GetOwner()->GetModelColumn() );
+
+ // a) this sets the appearance to disabled grey
+ GValue gvalue = { 0, };
+ g_value_init( &gvalue, G_TYPE_BOOLEAN );
+ g_value_set_boolean( &gvalue, enabled );
+ g_object_set_property( G_OBJECT(renderer), "sensitive", &gvalue );
+ g_value_unset( &gvalue );
+
+ // b) this actually disables the control/renderer
+ if (enabled)
+ cell->SetMode( cell->GtkGetMode() );
+ else
+ cell->SetMode( wxDATAVIEW_CELL_INERT );
+
// deal with attributes: if the renderer doesn't support them at all, we
// don't even need to query the model for them
// else: no custom attributes specified and we're already using the default
// ones -- nothing to do
- // deal with disabled items
- bool enabled = wx_model->IsEnabled( item, cell->GetOwner()->GetModelColumn());
- GValue gvalue = { 0, };
- g_value_init( &gvalue, G_TYPE_BOOLEAN );
- g_value_set_boolean( &gvalue, enabled );
- g_object_set_property( G_OBJECT(renderer), "sensitive", &gvalue );
- g_value_unset( &gvalue );
-
- if (enabled)
- cell->SetMode( cell->GtkGetMode() );
- else
- cell->SetMode( wxDATAVIEW_CELL_INERT );
}
} // extern "C"
return true;
}
-bool wxDataViewCtrlInternal::ValueChanged( const wxDataViewItem &item, unsigned int col )
+bool wxDataViewCtrlInternal::ValueChanged( const wxDataViewItem &item, unsigned int view_column )
{
wxDataViewEvent event( wxEVT_COMMAND_DATAVIEW_ITEM_VALUE_CHANGED, m_owner->GetId() );
event.SetEventObject( m_owner );
event.SetModel( m_owner->GetModel() );
- event.SetColumn( col );
- event.SetDataViewColumn( GetOwner()->GetColumn(col) );
+ event.SetColumn( view_column );
+ event.SetDataViewColumn( GetOwner()->GetColumn(view_column) );
event.SetItem( item );
m_owner->HandleWindowEvent( event );