Mercurial > dwindows
comparison gtk/dw.c @ 208:5349a0735fda
Hopefully fixed value_changed signal handler on GTK.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Sat, 01 Feb 2003 09:46:15 +0000 |
parents | b9283fd56d69 |
children | 0e98514a3905 |
comparison
equal
deleted
inserted
replaced
207:767fca804cea | 208:5349a0735fda |
---|---|
577 return newval; | 577 return newval; |
578 } | 578 } |
579 | 579 |
580 gint _value_changed_event(GtkAdjustment *adjustment, gpointer data) | 580 gint _value_changed_event(GtkAdjustment *adjustment, gpointer data) |
581 { | 581 { |
582 GtkWidget *slider = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "slider"); | |
583 SignalHandler *work = (SignalHandler *)data; | 582 SignalHandler *work = (SignalHandler *)data; |
584 | 583 |
585 if(slider && work) | 584 if(work) |
586 { | 585 { |
587 int (*valuechangedfunc)(HWND, int, void *) = work->func; | 586 int (*valuechangedfunc)(HWND, int, void *) = work->func; |
588 int max = _round_value(adjustment->upper); | 587 int max = _round_value(adjustment->upper); |
589 int val = _round_value(adjustment->value); | 588 int val = _round_value(adjustment->value); |
590 static int lastval = -1; | 589 GtkWidget *slider = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "slider"); |
591 static GtkWidget *lastwidget = 0; | 590 GtkWidget *scrollbar = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(adjustment), "scrollbar"); |
592 | 591 |
593 if(lastval != val || lastwidget != slider) | 592 if(slider) |
594 { | 593 { |
595 if(GTK_IS_VSCALE(slider)) | 594 if(GTK_IS_VSCALE(slider)) |
596 valuechangedfunc(work->window, (max - val) - 1, work->data); | 595 valuechangedfunc(work->window, (max - val) - 1, work->data); |
597 else | 596 else |
598 valuechangedfunc(work->window, val, work->data); | 597 valuechangedfunc(work->window, val, work->data); |
598 } | |
599 else if(scrollbar) | |
600 { | |
601 valuechangedfunc(work->window, val, work->data); | |
599 } | 602 } |
600 } | 603 } |
601 return FALSE; | 604 return FALSE; |
602 } | 605 } |
603 | 606 |