Mercurial > dwindows
comparison gtk/dw.c @ 267:bf8b907f8a29
Added initial version of updated key_press_event callback.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Mon, 03 Mar 2003 19:50:19 +0000 |
parents | 84471d53ab58 |
children | 07bff0e012d3 |
comparison
equal
deleted
inserted
replaced
266:5c5bee286d0e | 267:bf8b907f8a29 |
---|---|
280 SignalHandler *work = (SignalHandler *)data; | 280 SignalHandler *work = (SignalHandler *)data; |
281 int retval = FALSE; | 281 int retval = FALSE; |
282 | 282 |
283 if(work) | 283 if(work) |
284 { | 284 { |
285 int (*keypressfunc)(HWND, int, void *) = work->func; | 285 int (*keypressfunc)(HWND, char, int, int, void *) = work->func; |
286 | 286 |
287 retval = keypressfunc(widget, *event->string, work->data); | 287 retval = keypressfunc(widget, *event->string, event->keyval, |
288 event->state & (GDK_CONTROL_MASK | GDK_SHIFT_MASK | GDK_MOD1_MASK), work->data); | |
288 } | 289 } |
289 return retval; | 290 return retval; |
290 } | 291 } |
291 | 292 |
292 static gint _generic_event(GtkWidget *widget, gpointer data) | 293 static gint _generic_event(GtkWidget *widget, gpointer data) |
2641 * handle: Handle to the parent window. | 2642 * handle: Handle to the parent window. |
2642 * id: Integer ID of the child. | 2643 * id: Integer ID of the child. |
2643 */ | 2644 */ |
2644 HWND API dw_window_from_id(HWND handle, int id) | 2645 HWND API dw_window_from_id(HWND handle, int id) |
2645 { | 2646 { |
2647 GList *orig = NULL, *list = NULL; | |
2648 int _locked_by_me = FALSE; | |
2649 | |
2650 DW_MUTEX_LOCK; | |
2651 if(handle && GTK_IS_CONTAINER(handle)) | |
2652 { | |
2653 #if GTK_MAJOR_VERSION > 1 | |
2654 orig = list = gtk_container_get_children(GTK_CONTAINER(handle)); | |
2655 #else | |
2656 orig = list = gtk_container_children(GTK_CONTAINER(handle)); | |
2657 #endif | |
2658 } | |
2659 while(list) | |
2660 { | |
2661 if(GTK_IS_WIDGET(list->data)) | |
2662 { | |
2663 if(id == (int)gtk_object_get_data(GTK_OBJECT(list->data), "id")) | |
2664 { | |
2665 HWND ret = (HWND)list->data; | |
2666 g_list_free(orig); | |
2667 DW_MUTEX_UNLOCK; | |
2668 return ret; | |
2669 } | |
2670 } | |
2671 list = list->next; | |
2672 } | |
2673 if(orig) | |
2674 g_list_free(orig); | |
2675 DW_MUTEX_UNLOCK; | |
2646 return 0L; | 2676 return 0L; |
2647 } | 2677 } |
2648 | 2678 |
2649 void _strip_cr(char *dest, char *src) | 2679 void _strip_cr(char *dest, char *src) |
2650 { | 2680 { |
4869 DW_MUTEX_LOCK; | 4899 DW_MUTEX_LOCK; |
4870 tmp = gtk_drawing_area_new(); | 4900 tmp = gtk_drawing_area_new(); |
4871 gtk_widget_set_events(tmp, GDK_EXPOSURE_MASK | 4901 gtk_widget_set_events(tmp, GDK_EXPOSURE_MASK |
4872 | GDK_LEAVE_NOTIFY_MASK | 4902 | GDK_LEAVE_NOTIFY_MASK |
4873 | GDK_BUTTON_PRESS_MASK | 4903 | GDK_BUTTON_PRESS_MASK |
4904 | GDK_KEY_PRESS_MASK | |
4874 | GDK_POINTER_MOTION_MASK | 4905 | GDK_POINTER_MOTION_MASK |
4875 | GDK_POINTER_MOTION_HINT_MASK); | 4906 | GDK_POINTER_MOTION_HINT_MASK); |
4876 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); | 4907 gtk_object_set_data(GTK_OBJECT(tmp), "id", (gpointer)id); |
4908 GTK_WIDGET_SET_FLAGS(tmp, GTK_CAN_FOCUS); | |
4877 gtk_widget_show(tmp); | 4909 gtk_widget_show(tmp); |
4878 DW_MUTEX_UNLOCK; | 4910 DW_MUTEX_UNLOCK; |
4879 return tmp; | 4911 return tmp; |
4880 } | 4912 } |
4881 | 4913 |