]> git.saurik.com Git - wxWidgets.git/commitdiff
GTK+ cell renderers are not widget, so use a
authorRobert Roebling <robert@roebling.de>
Wed, 9 May 2007 10:38:15 +0000 (10:38 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 9 May 2007 10:38:15 +0000 (10:38 +0000)
   correct type.
  Also found a way to set cell background and
   probably other styles.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/defs.h
include/wx/gtk/dataview.h
src/gtk/dataview.cpp

index f1e13037b64f6e027bc75d0bd1c8493cd5331bd0..17f206fc89e24aebbe9db44289bfe137874eb645 100644 (file)
@@ -2848,6 +2848,7 @@ typedef struct _GtkItemFactory    GtkItemFactory;
 typedef struct _GtkSelectionData  GtkSelectionData;
 typedef struct _GtkTextBuffer     GtkTextBuffer;
 typedef struct _GtkRange          GtkRange;
+typedef struct _GtkCellRenderer   GtkCellRenderer;
 
 typedef GtkWidget *WXWidget;
 
index 9677f1c24e34d748b062839f6379e24d4fd31751..33001f1f838dfecf157f1946ae789f8c5f6d370f 100644 (file)
@@ -34,7 +34,7 @@ public:
                         int align = wxDVR_DEFAULT_ALIGNMENT );
 
     // implementation
-    GtkWidget* GetGtkHandle() { return m_renderer; }
+    GtkCellRenderer* GetGtkHandle() { return m_renderer; }
 
     virtual void SetMode( wxDataViewCellMode mode );
     virtual wxDataViewCellMode GetMode() const;
@@ -43,7 +43,7 @@ public:
     virtual int GetAlignment() const;
 
 protected:
-    GtkWidget   *m_renderer;
+    GtkCellRenderer   *m_renderer;
 
 protected:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer)
index 448d7a762b51a8782bcc81c496340e33b1c15a35..8618280d370aba6aaa5f0f716660f54f46d5b824 100644 (file)
@@ -1108,7 +1108,7 @@ wxDataViewTextRenderer::wxDataViewTextRenderer( const wxString &varianttype, wxD
                                                 int align ) :
     wxDataViewRenderer( varianttype, mode, align )
 {
-    m_renderer = (GtkWidget*) gtk_cell_renderer_text_new();
+    m_renderer = (GtkCellRenderer*) gtk_cell_renderer_text_new();
 
     if (mode & wxDATAVIEW_CELL_EDITABLE)
     {
@@ -1183,7 +1183,7 @@ wxDataViewBitmapRenderer::wxDataViewBitmapRenderer( const wxString &varianttype,
                                                     int align ) :
     wxDataViewRenderer( varianttype, mode, align )
 {
-    m_renderer = (GtkWidget*) gtk_cell_renderer_pixbuf_new();
+    m_renderer = (GtkCellRenderer*) gtk_cell_renderer_pixbuf_new();
 
     SetMode(mode);
     SetAlignment(align);
@@ -1280,7 +1280,7 @@ wxDataViewToggleRenderer::wxDataViewToggleRenderer( const wxString &varianttype,
                                                     wxDataViewCellMode mode, int align ) :
     wxDataViewRenderer( varianttype, mode, align )
 {
-    m_renderer = (GtkWidget*) gtk_cell_renderer_toggle_new();
+    m_renderer = (GtkCellRenderer*) gtk_cell_renderer_toggle_new();
 
     if (mode & wxDATAVIEW_CELL_ACTIVATABLE)
     {
@@ -1375,7 +1375,7 @@ bool wxDataViewCustomRenderer::Init(wxDataViewCellMode mode, int align)
     GtkWxCellRenderer *renderer = (GtkWxCellRenderer *) gtk_wx_cell_renderer_new();
     renderer->cell = this;
 
-    m_renderer = (GtkWidget*) renderer;
+    m_renderer = (GtkCellRenderer*) renderer;
 
     SetMode(mode);
     SetAlignment(align);
@@ -1419,7 +1419,7 @@ wxDataViewProgressRenderer::wxDataViewProgressRenderer( const wxString &label,
 #ifdef __WXGTK26__
     if (!gtk_check_version(2,6,0))
     {
-        m_renderer = (GtkWidget*) gtk_cell_renderer_progress_new();
+        m_renderer = (GtkCellRenderer*) gtk_cell_renderer_progress_new();
 
         GValue gvalue = { 0, };
         g_value_init( &gvalue, G_TYPE_STRING );
@@ -1655,6 +1655,19 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *column,
                     cell->GetVariantType().c_str() );
 
     cell->SetValue( value );
+    
+/*
+    To set the background to this
+    wxColour colour(30,100,255);
+    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 );
+*/ 
 }
 
 IMPLEMENT_CLASS(wxDataViewColumn, wxDataViewColumnBase)