Experimenting with cell attributes.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2007-05-30 21:02:33 +00:00
parent b086d55fe1
commit 2a5e6d1b3a
2 changed files with 29 additions and 13 deletions

View File

@@ -134,6 +134,12 @@ public:
} }
return true; return true;
} }
virtual void GetAttr( wxListItemAttr &attr, unsigned int col, unsigned int row )
{
if (row == 4)
attr.SetBackgroundColour( *wxGREEN );
}
wxArrayString m_list; wxArrayString m_list;
wxArrayInt m_bools; wxArrayInt m_bools;
@@ -1005,7 +1011,7 @@ MySortingFrame::MySortingFrame(wxFrame *frame, wxChar *title, int x, int y, int
dataview_left = new wxDataViewCtrl( main, ID_UNSORTED, wxDefaultPosition, dataview_left = new wxDataViewCtrl( main, ID_UNSORTED, wxDefaultPosition,
wxDefaultSize, wxDV_MULTIPLE ); wxDefaultSize, wxDV_MULTIPLE );
m_unsorted_model.reset(new MyUnsortedTextModel); m_unsorted_model = new MyUnsortedTextModel;
dataview_left->AssociateModel( m_unsorted_model.get() ); dataview_left->AssociateModel( m_unsorted_model.get() );
wxDataViewTextRenderer *text_renderer = wxDataViewTextRenderer *text_renderer =
@@ -1021,7 +1027,7 @@ MySortingFrame::MySortingFrame(wxFrame *frame, wxChar *title, int x, int y, int
// Right wxDataViewCtrl using the sorting model // Right wxDataViewCtrl using the sorting model
dataview_right = new wxDataViewCtrl( main, ID_SORTED ); dataview_right = new wxDataViewCtrl( main, ID_SORTED );
m_sorted_model.reset(new wxDataViewSortedListModel( m_unsorted_model.get() )); m_sorted_model = new wxDataViewSortedListModel( m_unsorted_model.get() );
dataview_right->AssociateModel( m_sorted_model.get() ); dataview_right->AssociateModel( m_sorted_model.get() );
text_renderer = new wxDataViewTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE ); text_renderer = new wxDataViewTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE );

View File

@@ -1650,18 +1650,28 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *column,
cell->SetValue( value ); cell->SetValue( value );
/* wxListItemAttr attr;
To set the background to this list_store->model->GetAttr( attr, cell->GetOwner()->GetModelColumn(), model_row );
wxColour colour(30,100,255); if (attr.HasBackgroundColour())
GdkColor *gcol = colour.GetColor(); {
wxColour colour = attr.GetBackgroundColour();
GdkColor *gcol = colour.GetColor();
GValue gvalue = { 0, }; GValue gvalue = { 0, };
g_value_init( &gvalue, GDK_TYPE_COLOR ); g_value_init( &gvalue, GDK_TYPE_COLOR );
g_value_set_boxed( &gvalue, gcol ); g_value_set_boxed( &gvalue, gcol );
g_object_set_property( G_OBJECT(renderer), "cell-background_gdk", &gvalue ); g_object_set_property( G_OBJECT(renderer), "cell-background_gdk", &gvalue );
g_value_unset( &gvalue ); g_value_unset( &gvalue );
*/ }
else
{
GValue gvalue = { 0, };
g_value_init( &gvalue, G_TYPE_BOOLEAN );
g_value_set_boolean( &gvalue, FALSE );
g_object_set_property( G_OBJECT(renderer), "cell-background-set", &gvalue );
g_value_unset( &gvalue );
}
} }
IMPLEMENT_CLASS(wxDataViewColumn, wxDataViewColumnBase) IMPLEMENT_CLASS(wxDataViewColumn, wxDataViewColumnBase)