Esempio n. 1
0
/* Open the log window. */
void log_show_window()
{
	GladeXML *glade;
	GtkTreeView *tv;
	GtkTreeViewColumn *column;
	GtkCellRenderer *renderer;

	glade = get_glade_xml("Log viewer");

	tv = GTK_TREE_VIEW(glade_xml_get_widget(glade, "log_list"));
	gtk_tree_view_set_model(tv, GTK_TREE_MODEL(log));

	renderer = gtk_cell_renderer_text_new();

	column = gtk_tree_view_column_new_with_attributes(_("Time"), renderer,
							   "text", TIMESTAMP,
							   NULL);
	gtk_tree_view_append_column(tv, column);

	column = gtk_tree_view_column_new_with_attributes(_("Action"), renderer,
							   "text", MESSAGE,
							   NULL);
	gtk_tree_view_column_set_resizable(column, TRUE);
	gtk_tree_view_append_column(tv, column);

	column = gtk_tree_view_column_new_with_attributes(_("Path"), renderer,
							   "text", DIRECTORY,
							   NULL);
	gtk_tree_view_append_column(tv, column);

	g_signal_connect(G_OBJECT(glade_xml_get_widget(glade, "Log viewer")),
			 "response", (GCallback) log_dialog_response, NULL);
}
PreferencesWindow::PreferencesWindow()
{
  ui = get_glade_xml("preferences_window");

  ui->get_widget("preferences_window", window);

  window->set_transient_for(MainWindow::instance().get_window());
  window->set_type_hint(Gdk::WINDOW_TYPE_HINT_DIALOG);

  // setup fullscreen check button
  ui->get_widget("fullscreen_checkbutton", fullscreen_checkbutton);
  
  Glib::RefPtr<Gnome::Conf::Client> &client
    = MainWindow::instance().gconf_client;
  Glib::ustring dir = MainWindow::instance().gconf_dir;
  
  fullscreen_listener(0, client->get_entry(dir + "/fullscreen"));

  fullscreen_checkbutton->signal_toggled()
    .connect(sigc::mem_fun(*this, &PreferencesWindow::on_fullscreen_toggled));
  client->notify_add(dir + "/fullscreen",
		     sigc::mem_fun(*this, &PreferencesWindow::fullscreen_listener));
  
  // setup player keys
  setup_button("player1_left", "/player1/left_key");
  setup_button("player1_left_up", "/player1/left_up_key");
  setup_button("player1_up", "/player1/up_key");
  setup_button("player1_right_up", "/player1/right_up_key");
  setup_button("player1_right", "/player1/right_key");
  setup_button("player1_right_down", "/player1/right_down_key");
  setup_button("player1_down", "/player1/down_key");
  setup_button("player1_left_down", "/player1/left_down_key");
  setup_button("player1_pull_block", "/player1/pull_key");

  setup_button("player2_left", "/player2/left_key");
  setup_button("player2_left_up", "/player2/left_up_key");
  setup_button("player2_up", "/player2/up_key");
  setup_button("player2_right_up", "/player2/right_up_key");
  setup_button("player2_right", "/player2/right_key");
  setup_button("player2_right_down", "/player2/right_down_key");
  setup_button("player2_down", "/player2/down_key");
  setup_button("player2_left_down", "/player2/left_down_key");
  setup_button("player2_pull_block", "/player2/pull_key");

  Gtk::Button *button;
  ui->get_widget("close_button", button);
  button->signal_clicked()
    .connect(sigc::mem_fun(*this, &PreferencesWindow::on_close_clicked));
  
  window->signal_delete_event()
    .connect(sigc::mem_fun(*this, &PreferencesWindow::on_closed));
}
Esempio n. 3
0
EventLog *
event_log_create (GtkWindow *parent)
{
	EventLog  *log = g_new0 (EventLog, 1);
	
	log->xml = get_glade_xml();
	log->window = glade_xml_get_widget (log->xml, "event_window");

	gtk_window_set_transient_for (GTK_WINDOW (log->window), parent);
	glade_xml_signal_connect_data (log->xml, "events_clear_clicked",
				       G_CALLBACK (events_clear_clicked), log);
	glade_xml_signal_connect_data (log->xml, "events_select_all_clicked",
				       G_CALLBACK (events_select_all_clicked), log);
	glade_xml_signal_connect_data (log->xml, "events_save_as_clicked",
				       G_CALLBACK (events_save_as_clicked), log);

	log->text_view = GTK_TEXT_VIEW (glade_xml_get_widget (log->xml, "event_text_view"));
	log->filters_view = GTK_TREE_VIEW (glade_xml_get_widget (log->xml, "event_filters"));

	g_signal_connect (log->text_view, "button_press_event",
			  G_CALLBACK (link_clicked), log);

	log->log_text = gtk_text_buffer_new (NULL);
	gtk_text_view_set_buffer (log->text_view, log->log_text);
	gtk_text_view_set_wrap_mode (log->text_view, /* GTK_WRAP_NONE */ GTK_WRAP_CHAR);

	setup_filters (log);
	log->global_listener = SPI_createAccessibleEventListener (global_event_callback, log);
	log->idle_tail = 0;
#ifdef IDLE_LOGGING
	log->idle_log = 0;
	log->event_list = NULL;
#endif

	gtk_widget_show (log->window);

	return log;
}