diff --git a/include/wx/gtk/private/gdkconv.h b/include/wx/gtk/private/gdkconv.h new file mode 100644 index 0000000000..9b18884970 --- /dev/null +++ b/include/wx/gtk/private/gdkconv.h @@ -0,0 +1,25 @@ +/////////////////////////////////////////////////////////////////////////////// +// Name: wx/gtk/private/gdkconv.h +// Purpose: Helper functions for converting between GDK and wx types +// Author: Vadim Zeitlin +// Created: 2009-11-10 +// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $ +// Copyright: (c) 2009 Vadim Zeitlin +// Licence: wxWindows licence +/////////////////////////////////////////////////////////////////////////////// + +#ifndef _GTK_PRIVATE_GDKCONV_H_ +#define _GTK_PRIVATE_GDKCONV_H_ + +namespace wxGTKImpl +{ + +inline wxRect wxRectFromGDKRect(const GdkRectangle *r) +{ + return wxRect(r->x, r->y, r->width, r->height); +} + +} // namespace wxGTKImpl + +#endif // _GTK_PRIVATE_GDKCONV_H_ + diff --git a/src/gtk/dataview.cpp b/src/gtk/dataview.cpp index c0f03ab35a..128c23c782 100644 --- a/src/gtk/dataview.cpp +++ b/src/gtk/dataview.cpp @@ -33,6 +33,9 @@ #include "wx/gtk/dc.h" #include "wx/gtk/dcclient.h" +#include "wx/gtk/private/gdkconv.h" +using namespace wxGTKImpl; + //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- @@ -1150,8 +1153,8 @@ static GtkCellEditable *gtk_wx_cell_renderer_start_editing( // rect.width -= renderer->xpad * 2; // rect.height -= renderer->ypad * 2; -// wxRect renderrect( rect.x, rect.y, rect.width, rect.height ); - wxRect renderrect( cell_area->x, cell_area->y, cell_area->width, cell_area->height ); +// wxRect renderrect(wxRectFromGDKRect(&rect)); + wxRect renderrect(wxRectFromGDKRect(cell_area)); GtkTreePath *treepath = gtk_tree_path_new_from_string( path ); GtkTreeIter iter; @@ -1244,7 +1247,7 @@ gtk_wx_cell_renderer_render (GtkCellRenderer *renderer, GdkRectangle dummy; if (gdk_rectangle_intersect (expose_area, &rect, &dummy)) { - wxRect renderrect( rect.x, rect.y, rect.width, rect.height ); + wxRect renderrect(wxRectFromGDKRect(&rect)); wxWindowDC* dc = (wxWindowDC*) cell->GetDC(); wxWindowDCImpl *impl = (wxWindowDCImpl *) dc->GetImpl(); @@ -1297,7 +1300,7 @@ gtk_wx_cell_renderer_activate( rect.width -= renderer->xpad * 2; rect.height -= renderer->ypad * 2; - wxRect renderrect( rect.x, rect.y, rect.width, rect.height ); + wxRect renderrect(wxRectFromGDKRect(&rect)); wxDataViewModel *model = cell->GetOwner()->GetOwner()->GetModel();