Mercurial > dwindows
comparison gtk/dw.c @ 1486:5cfbf2715eec
Code simplification on GTK2 and ported the fix to GTK3.
If we need to add the fix to spinbuttons and sliders we need only set the data in those functions now.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 24 Dec 2011 13:18:03 +0000 |
parents | 928daa73de8d |
children | d77b8cf25f04 |
comparison
equal
deleted
inserted
replaced
1485:928daa73de8d | 1486:5cfbf2715eec |
---|---|
1806 int val = _round_value(adjustment->value); | 1806 int val = _round_value(adjustment->value); |
1807 GtkWidget *slider = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_slider"); | 1807 GtkWidget *slider = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_slider"); |
1808 GtkWidget *spinbutton = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_spinbutton"); | 1808 GtkWidget *spinbutton = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_spinbutton"); |
1809 GtkWidget *scrollbar = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_scrollbar"); | 1809 GtkWidget *scrollbar = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_scrollbar"); |
1810 | 1810 |
1811 if(gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_suppress_value_changed_event")) | |
1812 return FALSE; | |
1813 | |
1811 if ( dbgfp != NULL ) _dw_log("%s %d: %s\n",__FILE__,__LINE__,__func__); | 1814 if ( dbgfp != NULL ) _dw_log("%s %d: %s\n",__FILE__,__LINE__,__func__); |
1812 if (slider) | 1815 |
1816 if (slider || spinbutton || scrollbar) | |
1813 { | 1817 { |
1814 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); | 1818 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); |
1815 | 1819 |
1816 if (work.window) | 1820 if (work.window) |
1817 { | 1821 { |
1818 int (*valuechangedfunc)(HWND, int, void *) = work.func; | 1822 int (*valuechangedfunc)(HWND, int, void *) = work.func; |
1819 | 1823 |
1820 if(GTK_IS_VSCALE(slider)) | 1824 if(slider && GTK_IS_VSCALE(slider)) |
1821 valuechangedfunc(work.window, (max - val) - 1, work.data); | 1825 valuechangedfunc(work.window, (max - val) - 1, work.data); |
1822 else | 1826 else |
1823 valuechangedfunc(work.window, val, work.data); | 1827 valuechangedfunc(work.window, val, work.data); |
1824 } | |
1825 } | |
1826 else if (spinbutton) | |
1827 { | |
1828 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); | |
1829 | |
1830 if (work.window) | |
1831 { | |
1832 int (*valuechangedfunc)(HWND, int, void *) = work.func; | |
1833 | |
1834 valuechangedfunc(work.window, val, work.data); | |
1835 } | |
1836 } | |
1837 else if (scrollbar) | |
1838 { | |
1839 gint suppress; | |
1840 suppress = GPOINTER_TO_INT(gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_suppress_value_changed_event")); | |
1841 if (!suppress ) | |
1842 { | |
1843 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); | |
1844 | |
1845 if (work.window) | |
1846 { | |
1847 int (*valuechangedfunc)(HWND, int, void *) = work.func; | |
1848 | |
1849 valuechangedfunc(work.window, val, work.data); | |
1850 } | |
1851 } | 1828 } |
1852 } | 1829 } |
1853 return FALSE; | 1830 return FALSE; |
1854 } | 1831 } |
1855 | 1832 |