GTK+ cell renderers are not widget, so use a
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
This commit is contained in:
@@ -2848,6 +2848,7 @@ typedef struct _GtkItemFactory GtkItemFactory;
|
|||||||
typedef struct _GtkSelectionData GtkSelectionData;
|
typedef struct _GtkSelectionData GtkSelectionData;
|
||||||
typedef struct _GtkTextBuffer GtkTextBuffer;
|
typedef struct _GtkTextBuffer GtkTextBuffer;
|
||||||
typedef struct _GtkRange GtkRange;
|
typedef struct _GtkRange GtkRange;
|
||||||
|
typedef struct _GtkCellRenderer GtkCellRenderer;
|
||||||
|
|
||||||
typedef GtkWidget *WXWidget;
|
typedef GtkWidget *WXWidget;
|
||||||
|
|
||||||
|
@@ -34,7 +34,7 @@ public:
|
|||||||
int align = wxDVR_DEFAULT_ALIGNMENT );
|
int align = wxDVR_DEFAULT_ALIGNMENT );
|
||||||
|
|
||||||
// implementation
|
// implementation
|
||||||
GtkWidget* GetGtkHandle() { return m_renderer; }
|
GtkCellRenderer* GetGtkHandle() { return m_renderer; }
|
||||||
|
|
||||||
virtual void SetMode( wxDataViewCellMode mode );
|
virtual void SetMode( wxDataViewCellMode mode );
|
||||||
virtual wxDataViewCellMode GetMode() const;
|
virtual wxDataViewCellMode GetMode() const;
|
||||||
@@ -43,7 +43,7 @@ public:
|
|||||||
virtual int GetAlignment() const;
|
virtual int GetAlignment() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
GtkWidget *m_renderer;
|
GtkCellRenderer *m_renderer;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer)
|
DECLARE_DYNAMIC_CLASS_NO_COPY(wxDataViewRenderer)
|
||||||
|
@@ -1108,7 +1108,7 @@ wxDataViewTextRenderer::wxDataViewTextRenderer( const wxString &varianttype, wxD
|
|||||||
int align ) :
|
int align ) :
|
||||||
wxDataViewRenderer( varianttype, mode, 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)
|
if (mode & wxDATAVIEW_CELL_EDITABLE)
|
||||||
{
|
{
|
||||||
@@ -1183,7 +1183,7 @@ wxDataViewBitmapRenderer::wxDataViewBitmapRenderer( const wxString &varianttype,
|
|||||||
int align ) :
|
int align ) :
|
||||||
wxDataViewRenderer( varianttype, mode, align )
|
wxDataViewRenderer( varianttype, mode, align )
|
||||||
{
|
{
|
||||||
m_renderer = (GtkWidget*) gtk_cell_renderer_pixbuf_new();
|
m_renderer = (GtkCellRenderer*) gtk_cell_renderer_pixbuf_new();
|
||||||
|
|
||||||
SetMode(mode);
|
SetMode(mode);
|
||||||
SetAlignment(align);
|
SetAlignment(align);
|
||||||
@@ -1280,7 +1280,7 @@ wxDataViewToggleRenderer::wxDataViewToggleRenderer( const wxString &varianttype,
|
|||||||
wxDataViewCellMode mode, int align ) :
|
wxDataViewCellMode mode, int align ) :
|
||||||
wxDataViewRenderer( varianttype, mode, 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)
|
if (mode & wxDATAVIEW_CELL_ACTIVATABLE)
|
||||||
{
|
{
|
||||||
@@ -1375,7 +1375,7 @@ bool wxDataViewCustomRenderer::Init(wxDataViewCellMode mode, int align)
|
|||||||
GtkWxCellRenderer *renderer = (GtkWxCellRenderer *) gtk_wx_cell_renderer_new();
|
GtkWxCellRenderer *renderer = (GtkWxCellRenderer *) gtk_wx_cell_renderer_new();
|
||||||
renderer->cell = this;
|
renderer->cell = this;
|
||||||
|
|
||||||
m_renderer = (GtkWidget*) renderer;
|
m_renderer = (GtkCellRenderer*) renderer;
|
||||||
|
|
||||||
SetMode(mode);
|
SetMode(mode);
|
||||||
SetAlignment(align);
|
SetAlignment(align);
|
||||||
@@ -1419,7 +1419,7 @@ wxDataViewProgressRenderer::wxDataViewProgressRenderer( const wxString &label,
|
|||||||
#ifdef __WXGTK26__
|
#ifdef __WXGTK26__
|
||||||
if (!gtk_check_version(2,6,0))
|
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, };
|
GValue gvalue = { 0, };
|
||||||
g_value_init( &gvalue, G_TYPE_STRING );
|
g_value_init( &gvalue, G_TYPE_STRING );
|
||||||
@@ -1655,6 +1655,19 @@ static void wxGtkTreeCellDataFunc( GtkTreeViewColumn *column,
|
|||||||
cell->GetVariantType().c_str() );
|
cell->GetVariantType().c_str() );
|
||||||
|
|
||||||
cell->SetValue( value );
|
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)
|
IMPLEMENT_CLASS(wxDataViewColumn, wxDataViewColumnBase)
|
||||||
|
Reference in New Issue
Block a user