Mercurial > dwindows
comparison gtk/dw.c @ 592:840b43f3976b
Attempt to make spinbutton emit VALUE_CHANGED signal; not working
author | mhessling@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 25 Sep 2006 22:03:31 +0000 |
parents | 98a667881e44 |
children | e49524bc2f07 |
comparison
equal
deleted
inserted
replaced
591:98a667881e44 | 592:840b43f3976b |
---|---|
1674 static gint _value_changed_event(GtkAdjustment *adjustment, gpointer data) | 1674 static gint _value_changed_event(GtkAdjustment *adjustment, gpointer data) |
1675 { | 1675 { |
1676 int max = _round_value(adjustment->upper); | 1676 int max = _round_value(adjustment->upper); |
1677 int val = _round_value(adjustment->value); | 1677 int val = _round_value(adjustment->value); |
1678 GtkWidget *slider = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_slider"); | 1678 GtkWidget *slider = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_slider"); |
1679 GtkWidget *spinbutton = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_spinbutton"); | |
1679 GtkWidget *scrollbar = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_scrollbar"); | 1680 GtkWidget *scrollbar = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "_dw_scrollbar"); |
1680 | 1681 |
1681 if(slider) | 1682 if(slider) |
1682 { | 1683 { |
1683 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); | 1684 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); |
1690 valuechangedfunc(work.window, (max - val) - 1, work.data); | 1691 valuechangedfunc(work.window, (max - val) - 1, work.data); |
1691 else | 1692 else |
1692 valuechangedfunc(work.window, val, work.data); | 1693 valuechangedfunc(work.window, val, work.data); |
1693 } | 1694 } |
1694 } | 1695 } |
1695 else if(scrollbar) | 1696 else if(scrollbar || spinbutton) |
1696 { | 1697 { |
1697 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); | 1698 SignalHandler work = _get_signal_handler((GtkWidget *)adjustment, data); |
1698 | 1699 |
1699 if(work.window) | 1700 if(work.window) |
1700 { | 1701 { |
1896 { | 1897 { |
1897 int x, len = strlen(_dw_mozdir); | 1898 int x, len = strlen(_dw_mozdir); |
1898 | 1899 |
1899 for(x=len;x>0;x--) | 1900 for(x=len;x>0;x--) |
1900 { | 1901 { |
1901 if(!isalpha(_dw_mozdir[x]) && !isnumber(_dw_mozdir[x]) && _dw_mozdir[x] != '/') | 1902 if(!isalpha(_dw_mozdir[x]) && !isdigit(_dw_mozdir[x]) && _dw_mozdir[x] != '/') |
1902 _dw_mozdir[x] = 0; | 1903 _dw_mozdir[x] = 0; |
1903 } | 1904 } |
1904 strncat(_dw_mozdir, "/libgtkembedmoz.so", 1024); | 1905 strncat(_dw_mozdir, "/libgtkembedmoz.so", 1024); |
1905 handle = dlopen(&_dw_mozdir[2], RTLD_NOW); | 1906 handle = dlopen(&_dw_mozdir[2], RTLD_NOW); |
1906 } | 1907 } |
3745 adj = (GtkAdjustment *)gtk_adjustment_new (1.0, 0.0, 100.0, 1.0, 5.0, 0.0); | 3746 adj = (GtkAdjustment *)gtk_adjustment_new (1.0, 0.0, 100.0, 1.0, 5.0, 0.0); |
3746 tmp = gtk_spin_button_new (adj, 0, 0); | 3747 tmp = gtk_spin_button_new (adj, 0, 0); |
3747 gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(tmp), TRUE); | 3748 gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(tmp), TRUE); |
3748 gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(tmp), TRUE); | 3749 gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(tmp), TRUE); |
3749 gtk_widget_show(tmp); | 3750 gtk_widget_show(tmp); |
3751 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_adjustment", (gpointer)adj); | |
3752 gtk_object_set_data(GTK_OBJECT(adj), "_dw_spinbutton", (gpointer)tmp); | |
3750 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", (gpointer)id); | 3753 gtk_object_set_data(GTK_OBJECT(tmp), "_dw_id", (gpointer)id); |
3751 DW_MUTEX_UNLOCK; | 3754 DW_MUTEX_UNLOCK; |
3752 return tmp; | 3755 return tmp; |
3753 } | 3756 } |
3754 | 3757 |
9371 return *percent; | 9374 return *percent; |
9372 return 0.0; | 9375 return 0.0; |
9373 } | 9376 } |
9374 | 9377 |
9375 /* | 9378 /* |
9376 * Creates a calnedar window (widget) with given parameters. | 9379 * Creates a calendar window (widget) with given parameters. |
9377 * Parameters: | 9380 * Parameters: |
9378 * type: Value can be DW_VERT or DW_HORZ. | 9381 * id: Unique identifier for calendar widget |
9379 * topleft: Handle to the window to be top or left. | |
9380 * bottomright: Handle to the window to be bottom or right. | |
9381 * Classname: SysMonthCal32 | |
9382 * Returns: | 9382 * Returns: |
9383 * A handle to a calendar window or NULL on failure. | 9383 * A handle to a calendar window or NULL on failure. |
9384 */ | 9384 */ |
9385 HWND dw_calendar_new(unsigned long id) | 9385 HWND dw_calendar_new(unsigned long id) |
9386 { | 9386 { |