]> git.saurik.com Git - wxWidgets.git/commitdiff
Experimenting with cell attributes.
authorRobert Roebling <robert@roebling.de>
Wed, 30 May 2007 21:02:33 +0000 (21:02 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 30 May 2007 21:02:33 +0000 (21:02 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/dataview/dataview.cpp
src/gtk/dataview.cpp

index 7132c5d9caa79e09a471970e5b90e63f3c1042a1..0d488672aac9e8110592c27d62bd9cedd422c09c 100644 (file)
@@ -134,6 +134,12 @@ public:
             }
             return true;
         }
+        
+    virtual void GetAttr( wxListItemAttr &attr, unsigned int col, unsigned int row )
+        {
+            if (row == 4)
+                attr.SetBackgroundColour( *wxGREEN );
+        }
 
     wxArrayString m_list;
     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, 
                                         wxDefaultSize, wxDV_MULTIPLE );
 
-    m_unsorted_model.reset(new MyUnsortedTextModel);
+    m_unsorted_model = new MyUnsortedTextModel;
     dataview_left->AssociateModel( m_unsorted_model.get() );
 
     wxDataViewTextRenderer *text_renderer = 
@@ -1021,7 +1027,7 @@ MySortingFrame::MySortingFrame(wxFrame *frame, wxChar *title, int x, int y, int
     // Right wxDataViewCtrl using the sorting model
     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() );
 
     text_renderer = new wxDataViewTextRenderer( wxT("string"), wxDATAVIEW_CELL_EDITABLE );
index da6f6a7fa55e33c35c6f176978ad3965ffdae0b3..57231c26a083895b84f029c840fed9ec8a04ed17 100644 (file)
@@ -1650,18 +1650,28 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *column,
 
     cell->SetValue( value );
     
-/*
-    To set the background to this
-    wxColour colour(30,100,255);
-    GdkColor *gcol = colour.GetColor();
+    wxListItemAttr attr;
+    list_store->model->GetAttr( attr, cell->GetOwner()->GetModelColumn(), model_row );
+
+    if (attr.HasBackgroundColour())
+    {
+        wxColour colour = attr.GetBackgroundColour();
+        GdkColor *gcol = colour.GetColor();
     
-    GValue gvalue = { 0, };
-    g_value_init( &gvalue, GDK_TYPE_COLOR );
-    g_value_set_boxed( &gvalue, gcol );
-    g_object_set_property( G_OBJECT(renderer), "cell-background_gdk", &gvalue );
-    g_value_unset( &gvalue );
-*/ 
+        GValue gvalue = { 0, };
+        g_value_init( &gvalue, GDK_TYPE_COLOR );
+        g_value_set_boxed( &gvalue, gcol );
+        g_object_set_property( G_OBJECT(renderer), "cell-background_gdk", &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)