コード例 #1
0
ファイル: display.c プロジェクト: cran/rggobi
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");
}
コード例 #2
0
ファイル: lineedit_ui.c プロジェクト: medmatix/ggobi
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);
  }
}