USER_OBJECT_ RS_GGOBI(getDisplayWidget)(USER_OBJECT_ r_display) { displayd *display = (displayd *) toDisplay(r_display); GtkWidget *widget = GTK_WIDGET(display); if (GGOBI_IS_WINDOW_DISPLAY(display) && GGOBI_WINDOW_DISPLAY(display)->useWindow) widget = gtk_bin_get_child(GTK_BIN(GGOBI_WINDOW_DISPLAY(display)->window)); return toRPointer(widget, "GtkWidget"); }
void edgeedit_event_handlers_toggle (splotd * sp, gboolean state) { displayd *display = sp->displayptr; if (state == on) { edgeedit_init(display->ggobi); if (GGOBI_IS_WINDOW_DISPLAY (display)) sp->key_press_id = g_signal_connect (G_OBJECT (GGOBI_WINDOW_DISPLAY (display)->window), "key_press_event", G_CALLBACK (key_press_cb), (gpointer) sp); sp->press_id = g_signal_connect (G_OBJECT (sp->da), "button_press_event", G_CALLBACK (button_press_cb), (gpointer) sp); sp->release_id = g_signal_connect (G_OBJECT (sp->da), "button_release_event", G_CALLBACK (button_release_cb), (gpointer) sp); sp->motion_id = g_signal_connect (G_OBJECT (sp->da), "motion_notify_event", G_CALLBACK (motion_notify_cb), (gpointer) sp); } else { disconnect_key_press_signal (sp); disconnect_button_press_signal (sp); disconnect_button_release_signal (sp); disconnect_motion_signal (sp); } }