aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Verona2011-08-17 13:02:36 +0200
committerJoakim Verona2011-08-17 13:02:36 +0200
commitad64ea48d79947d4428570eabc139e2f27cfb34e (patch)
tree296c55d7934970f0beaeb210758e0a9998db8cdf
parent8d157abb63ee54dbc27a05de24734800f4a1350c (diff)
downloademacs-ad64ea48d79947d4428570eabc139e2f27cfb34e.tar.gz
emacs-ad64ea48d79947d4428570eabc139e2f27cfb34e.zip
some keyboard event code but it still crashes and now im fed up
-rw-r--r--src/xwidget.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/xwidget.c b/src/xwidget.c
index b3fe4026879..bc1225e5f61 100644
--- a/src/xwidget.c
+++ b/src/xwidget.c
@@ -142,6 +142,7 @@ extern Lisp_Object QCwidth, QCheight;
142struct xwidget_view* xwidget_view_lookup(struct xwidget* xw, struct window *w); 142struct xwidget_view* xwidget_view_lookup(struct xwidget* xw, struct window *w);
143Lisp_Object xwidget_spec_value ( Lisp_Object spec, Lisp_Object key, int *found); 143Lisp_Object xwidget_spec_value ( Lisp_Object spec, Lisp_Object key, int *found);
144gboolean webkit_osr_damage_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data) ; 144gboolean webkit_osr_damage_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data) ;
145gboolean webkit_osr_key_event_callback (GtkWidget *widget, GdkEventKey *event, gpointer data) ;
145void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview, 146void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview,
146 WebKitWebFrame *arg1, 147 WebKitWebFrame *arg1,
147 gpointer user_data); 148 gpointer user_data);
@@ -197,6 +198,10 @@ DEFUN ("make-xwidget", Fmake_xwidget, Smake_xwidget, 7, 7, 0,
197 g_object_set_data (G_OBJECT (xw->widgetwindow_osr), XG_XWIDGET, (gpointer) (xw)); 198 g_object_set_data (G_OBJECT (xw->widgetwindow_osr), XG_XWIDGET, (gpointer) (xw));
198 /* signals */ 199 /* signals */
199 g_signal_connect (G_OBJECT ( xw->widgetwindow_osr), "damage-event", G_CALLBACK (webkit_osr_damage_event_callback), NULL); 200 g_signal_connect (G_OBJECT ( xw->widgetwindow_osr), "damage-event", G_CALLBACK (webkit_osr_damage_event_callback), NULL);
201
202 g_signal_connect (G_OBJECT ( xw->widgetwindow_osr), "key-press-event", G_CALLBACK (webkit_osr_key_event_callback), NULL);
203 g_signal_connect (G_OBJECT ( xw->widgetwindow_osr), "key-release-event", G_CALLBACK (webkit_osr_key_event_callback), NULL);
204
200 g_signal_connect (G_OBJECT ( xw->widget_osr), 205 g_signal_connect (G_OBJECT ( xw->widget_osr),
201 "document-load-finished", 206 "document-load-finished",
202 G_CALLBACK (webkit_osr_document_load_finished_callback), 207 G_CALLBACK (webkit_osr_document_load_finished_callback),
@@ -388,6 +393,14 @@ gboolean webkit_osr_damage_event_callback (GtkWidget *widget, GdkEventExpose *ev
388} 393}
389 394
390 395
396
397gboolean webkit_osr_key_event_callback (GtkWidget *widget, GdkEventKey *event, gpointer data)
398{
399 printf("terminating a webkit osr keypress\n");
400 return FALSE;
401}
402
403
391void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview, 404void webkit_osr_document_load_finished_callback (WebKitWebView *webkitwebview,
392 WebKitWebFrame *arg1, 405 WebKitWebFrame *arg1,
393 gpointer data) 406 gpointer data)
@@ -441,6 +454,7 @@ xwidget_osr_button_callback ( GtkWidget *widget,
441 454
442 ((GdkEventButton*)eventcopy)->window = gtk_widget_get_window(xw->widget_osr); 455 ((GdkEventButton*)eventcopy)->window = gtk_widget_get_window(xw->widget_osr);
443 gtk_main_do_event(eventcopy); //TODO this will leak events. they should be deallocated later 456 gtk_main_do_event(eventcopy); //TODO this will leak events. they should be deallocated later
457 return TRUE; //dont propagate this event furter
444} 458}
445 459
446int xwidget_view_index=0; 460int xwidget_view_index=0;
@@ -481,6 +495,9 @@ xwidget_init_view (
481 xv->widget = gtk_socket_new (); 495 xv->widget = gtk_socket_new ();
482 g_signal_connect_after(xv->widget, "plug-added", G_CALLBACK(xwidget_plug_added), "plug added"); 496 g_signal_connect_after(xv->widget, "plug-added", G_CALLBACK(xwidget_plug_added), "plug added");
483 g_signal_connect_after(xv->widget, "plug-removed", G_CALLBACK(xwidget_plug_removed), "plug removed"); 497 g_signal_connect_after(xv->widget, "plug-removed", G_CALLBACK(xwidget_plug_removed), "plug removed");
498 //TODO these doesnt help
499 gtk_widget_add_events(xv->widget, GDK_KEY_PRESS);
500 gtk_widget_add_events(xv->widget, GDK_KEY_RELEASE);
484 } else if (EQ(xww->type, Qslider)) { 501 } else if (EQ(xww->type, Qslider)) {
485 xv->widget = 502 xv->widget =
486 //gtk_hscale_new (GTK_ADJUSTMENT(gtk_adjustment_new (0.0, 0.0, 100.0, 1.0, 10.0, 10.0))); 503 //gtk_hscale_new (GTK_ADJUSTMENT(gtk_adjustment_new (0.0, 0.0, 100.0, 1.0, 10.0, 10.0)));
@@ -552,6 +569,11 @@ xwidget_init_view (
552 G_CALLBACK (xwidget_osr_button_callback), NULL); 569 G_CALLBACK (xwidget_osr_button_callback), NULL);
553 g_signal_connect (G_OBJECT ( xv->widget), "motion-notify-event", 570 g_signal_connect (G_OBJECT ( xv->widget), "motion-notify-event",
554 G_CALLBACK (xwidget_osr_button_callback), NULL); 571 G_CALLBACK (xwidget_osr_button_callback), NULL);
572 g_signal_connect (G_OBJECT ( xv->widget), "key-press-event",
573 G_CALLBACK (xwidget_osr_button_callback), NULL);
574 g_signal_connect (G_OBJECT ( xv->widget), "key-release-event",
575 G_CALLBACK (xwidget_osr_button_callback), NULL);
576
555#endif 577#endif
556 578
557 579