GTK_TREE_MODEL(wxgtk_model), &iter ));
GdkRectangle cell_area;
gtk_tree_view_get_cell_area( widget, path, gcolumn, &cell_area );
-
+#ifdef __WXGTK3__
+ GtkAdjustment* hadjust = gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(widget));
+#else
GtkAdjustment* hadjust = gtk_tree_view_get_hadjustment( widget );
+#endif
double d = gtk_adjustment_get_value( hadjust );
int xdiff = (int) d;
{
s_user_data = item.GetID();
- g_signal_connect (GTK_CELL_EDITABLE (editable), "editing_done",
+ g_signal_connect (editable, "editing_done",
G_CALLBACK (wxgtk_cell_editable_editing_done),
(gpointer) wxrenderer );
void wxDataViewRenderer::GtkInitHandlers()
{
{
- g_signal_connect (GTK_CELL_RENDERER(m_renderer), "editing_started",
+ g_signal_connect (m_renderer, "editing_started",
G_CALLBACK (wxgtk_renderer_editing_started),
this);
}
SetWidth( width );
// Create container for icon and label
- GtkWidget *box = gtk_hbox_new( FALSE, 1 );
+ GtkWidget* box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 1);
gtk_widget_show( box );
// gtk_container_set_border_width((GtkContainer*)box, 2);
m_image = gtk_image_new();
wxWindow *child = node->GetData();
GtkRequisition req;
- gtk_widget_size_request( child->m_widget, &req );
+ gtk_widget_get_preferred_size(child->m_widget, NULL, &req);
GtkAllocation alloc;
alloc.x = child->m_x;
GdkEventMotion *gdk_event,
wxDataViewCtrl *dv )
{
+ int x = gdk_event->x;
+ int y = gdk_event->y;
if (gdk_event->is_hint)
{
- int x = 0;
- int y = 0;
- GdkModifierType state;
- gdk_window_get_pointer(gdk_event->window, &x, &y, &state);
- gdk_event->x = x;
- gdk_event->y = y;
+#ifdef __WXGTK3__
+ gdk_window_get_device_position(gdk_event->window, gdk_event->device, &x, &y, NULL);
+#else
+ gdk_window_get_pointer(gdk_event->window, &x, &y, NULL);
+#endif
}
wxGtkTreePath path;
gint cell_y = 0;
if (gtk_tree_view_get_path_at_pos(
GTK_TREE_VIEW(dv->GtkGetTreeView()),
- (int) gdk_event->x, (int) gdk_event->y,
+ x, y,
path.ByRef(),
&column,
&cell_x,
// This won't do anything if we're not editing it
wxcol->GetRenderer()->CancelEditing();
}
+
+ GTKDisconnect(m_treeview);
+ GtkTreeSelection* selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(m_treeview));
+ if (selection)
+ GTKDisconnect(selection);
}
m_cols.Clear();
void wxDataViewCtrl::Init()
{
+ m_treeview = NULL;
m_internal = NULL;
m_cols.DeleteContents( true );
wxVisualAttributes
wxDataViewCtrl::GetClassDefaultAttributes(wxWindowVariant WXUNUSED(variant))
{
- return GetDefaultAttributesFromGTKWidget(gtk_tree_view_new);
+ return GetDefaultAttributesFromGTKWidget(gtk_tree_view_new());
}
void wxDataViewCtrl::DoApplyWidgetStyle(GtkRcStyle *style)