Mercurial > dwindows
comparison gtk3/dw.c @ 1578:36f0cfda3be3
Fix value_changed code for GTK3... thought this used to work...
but it seems to have partially broken. Now it should work.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 23 Jan 2012 23:40:11 +0000 |
parents | fdafbc654e9d |
children | 245e6bf51317 |
comparison
equal
deleted
inserted
replaced
1577:fdafbc654e9d | 1578:36f0cfda3be3 |
---|---|
145 static gint _container_enter_event(GtkWidget *widget, GdkEventAny *event, gpointer data); | 145 static gint _container_enter_event(GtkWidget *widget, GdkEventAny *event, gpointer data); |
146 static gint _combobox_select_event(GtkWidget *widget, gpointer data); | 146 static gint _combobox_select_event(GtkWidget *widget, gpointer data); |
147 static gint _expose_event(GtkWidget *widget, cairo_t *cr, gpointer data); | 147 static gint _expose_event(GtkWidget *widget, cairo_t *cr, gpointer data); |
148 static gint _set_focus_event(GtkWindow *window, GtkWidget *widget, gpointer data); | 148 static gint _set_focus_event(GtkWindow *window, GtkWidget *widget, gpointer data); |
149 static gint _tree_context_event(GtkWidget *widget, GdkEventButton *event, gpointer data); | 149 static gint _tree_context_event(GtkWidget *widget, GdkEventButton *event, gpointer data); |
150 static gint _value_changed_event(GtkAdjustment *adjustment, gpointer user_data); | 150 static gint _value_changed_event(GtkWidget *widget, gpointer user_data); |
151 static gint _tree_select_event(GtkTreeSelection *sel, gpointer data); | 151 static gint _tree_select_event(GtkTreeSelection *sel, gpointer data); |
152 static gint _tree_expand_event(GtkTreeView *treeview, GtkTreeIter *arg1, GtkTreePath *arg2, gpointer data); | 152 static gint _tree_expand_event(GtkTreeView *treeview, GtkTreeIter *arg1, GtkTreePath *arg2, gpointer data); |
153 static gint _switch_page_event(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer data); | 153 static gint _switch_page_event(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer data); |
154 static gint _column_click_event(GtkWidget *widget, gpointer data); | 154 static gint _column_click_event(GtkWidget *widget, gpointer data); |
155 | 155 |
1647 newval++; | 1647 newval++; |
1648 | 1648 |
1649 return newval; | 1649 return newval; |
1650 } | 1650 } |
1651 | 1651 |
1652 static gint _value_changed_event(GtkAdjustment *adjustment, gpointer data) | 1652 static gint _value_changed_event(GtkWidget *widget, gpointer data) |
1653 { | 1653 { |
1654 int max = _round_value(gtk_adjustment_get_upper(adjustment)); | 1654 GtkWidget *slider, *spinbutton, *scrollbar; |
1655 int val = _round_value(gtk_adjustment_get_value(adjustment)); | 1655 GtkAdjustment *adjustment = (GtkAdjustment *)widget; |
1656 GtkWidget *slider = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_slider"); | 1656 int max, val; |
1657 GtkWidget *spinbutton = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_spinbutton"); | 1657 |
1658 GtkWidget *scrollbar = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_scrollbar"); | 1658 if(!GTK_IS_ADJUSTMENT(adjustment)) |
1659 | 1659 adjustment = (GtkAdjustment *)g_object_get_data(G_OBJECT(widget), "_dw_adjustment"); |
1660 | |
1661 slider = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_slider"); | |
1662 spinbutton = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_spinbutton"); | |
1663 scrollbar = (GtkWidget *)g_object_get_data(G_OBJECT(adjustment), "_dw_scrollbar"); | |
1664 | |
1665 max = _round_value(gtk_adjustment_get_upper(adjustment)); | |
1666 val = _round_value(gtk_adjustment_get_value(adjustment)); | |
1667 | |
1660 if(g_object_get_data(G_OBJECT(adjustment), "_dw_suppress_value_changed_event")) | 1668 if(g_object_get_data(G_OBJECT(adjustment), "_dw_suppress_value_changed_event")) |
1661 return FALSE; | 1669 return FALSE; |
1662 | 1670 |
1663 if (slider || spinbutton || scrollbar) | 1671 if (slider || spinbutton || scrollbar) |
1664 { | 1672 { |
1665 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); | 1673 SignalHandler work = _get_signal_handler(widget, data); |
1666 | 1674 |
1667 if (work.window) | 1675 if (work.window) |
1668 { | 1676 { |
1669 int (*valuechangedfunc)(HWND, int, void *) = work.func; | 1677 int (*valuechangedfunc)(HWND, int, void *) = work.func; |
1670 | 1678 |