12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- /* $Id: mainbox.c,v 1.13 2001/04/29 22:33:21 kilobug Exp $ */
- #include "client.h"
- void byebye(GtkWidget *widget, conf_t *conf)
- {
- if (conf->debug && conf->connected)
- {
- conf->ready = TRUE;
- conf->terminated = TRUE;
- allow_new_turn(conf);
- }
- gtk_main_quit();
- }
- static void create_mainbox(conf_t *conf)
- {
- GtkWidget *table, *widget;
- conf->window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
- gtk_window_set_default_size(GTK_WINDOW(conf->window),
- MAP_SIZE + MINI_MAP_SIZE + 10,
- MAP_SIZE + 20);
- gtk_signal_connect(GTK_OBJECT(conf->window), "destroy",
- GTK_SIGNAL_FUNC(byebye), conf);
- gtk_window_set_title(GTK_WINDOW(conf->window), "Finale Prologin 2001");
- gtk_window_set_policy(GTK_WINDOW(conf->window), FALSE, FALSE, TRUE);
- gtk_widget_show(conf->window);
- table = gtk_table_new(3, 4, FALSE);
- gtk_container_add(GTK_CONTAINER(conf->window), table);
- conf->tooltips = gtk_tooltips_new();
- conf->status = create_statusbar(conf);
- gtk_table_attach_defaults(GTK_TABLE(table), conf->status, 0, 3, 3, 4);
- widget = create_menubar(conf);
- gtk_table_attach_defaults(GTK_TABLE(table), widget, 0, 3, 0, 1);
- widget = create_toolbar(conf);
- gtk_table_attach_defaults(GTK_TABLE(table), widget, 2, 3, 1, 3);
- widget = create_game_area(conf);
- gtk_table_attach_defaults(GTK_TABLE(table), widget, 0, 2, 1, 3);
- gtk_widget_show(table);
- }
- static void create_connect(conf_t *conf)
- {
- GtkWidget *wid, *table;
- table = gtk_table_new(2, 3, FALSE);
- gtk_widget_show(table);
- gtk_table_attach_defaults(GTK_TABLE(table), create_label("Machine: "),
- 0, 1, 0, 1);
- wid = create_entry(conf->host, 80);
- gtk_signal_connect(GTK_OBJECT(wid), "changed", set_data_from_entry,
- &(conf->host));
- gtk_signal_connect(GTK_OBJECT(wid), "activate",
- GTK_SIGNAL_FUNC(callback_connect), conf);
- gtk_tooltips_set_tip(conf->tooltips, wid, "Machine où se trouve le seveur",
- "");
- gtk_signal_connect(GTK_OBJECT(wid), "activate",
- GTK_SIGNAL_FUNC(callback_connect), conf);
- gtk_signal_connect_after(GTK_OBJECT(wid), "activate", hide_widget,
- conf->conf);
- gtk_table_attach_defaults(GTK_TABLE(table), wid, 1, 2, 0, 1);
- gtk_table_attach_defaults(GTK_TABLE(table), create_label("Port: "),
- 0, 1, 1, 2);
- wid = create_spin(1024, 65535, conf->port);
- gtk_tooltips_set_tip(conf->tooltips, wid, "Port sur lequel le seveur écoute",
- "");
- gtk_signal_connect(GTK_OBJECT(wid), "changed", set_data_from_spin,
- &(conf->port));
- gtk_table_attach_defaults(GTK_TABLE(table), wid, 1, 2, 1, 2);
- conf->conf = create_dialog("Connexion à un serveur", table,
- " Se connecter ", " Annuler ",
- GTK_SIGNAL_FUNC(callback_connect), conf,
- hide_widget);
- }
- void create_gtk_stuff(conf_t *conf)
- {
- create_mainbox(conf);
- create_connect(conf);
- create_stats(conf);
- gtk_widget_show(conf->window);
- }
|