2005-01-09 21:21:22 +01:00
|
|
|
#include "file.h"
|
2005-03-17 21:26:01 +01:00
|
|
|
#include "finance.h"
|
2005-01-09 21:21:22 +01:00
|
|
|
#include "free.h"
|
2005-03-03 13:46:48 +01:00
|
|
|
#include "game_gui.h"
|
2005-03-17 21:26:01 +01:00
|
|
|
#include "gui.h"
|
2004-12-30 17:48:19 +01:00
|
|
|
#include "interface.h"
|
2005-04-09 21:18:28 +02:00
|
|
|
#include "main.h"
|
2004-12-30 17:48:19 +01:00
|
|
|
#include "misc_interface.h"
|
2005-03-08 09:25:46 +01:00
|
|
|
#include "misc2_interface.h"
|
2005-03-03 13:46:48 +01:00
|
|
|
#include "option.h"
|
2005-03-23 20:03:26 +01:00
|
|
|
#include "option_gui.h"
|
|
|
|
#include "options_interface.h"
|
2004-12-30 17:48:19 +01:00
|
|
|
#include "support.h"
|
2005-03-03 13:46:48 +01:00
|
|
|
#include "user.h"
|
2005-01-09 21:21:22 +01:00
|
|
|
#include "window.h"
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
Show the country selection window. All files with prefix
|
|
|
|
'country_' from $HOME/.bygfoot/definitions are appended to a combo box.
|
|
|
|
*/
|
|
|
|
void
|
|
|
|
window_show_startup(void)
|
|
|
|
{
|
|
|
|
GtkWidget *window_startup =
|
2004-12-30 17:48:19 +01:00
|
|
|
window_create(WINDOW_STARTUP);
|
2004-12-23 13:58:39 +01:00
|
|
|
GtkWidget *combo_country =
|
|
|
|
lookup_widget(window_startup, "combo_country");
|
2005-04-09 21:18:28 +02:00
|
|
|
GPtrArray *country_files = NULL;
|
2004-12-23 13:58:39 +01:00
|
|
|
GList *combo_strings = NULL;
|
|
|
|
gint i;
|
|
|
|
|
2005-04-09 21:18:28 +02:00
|
|
|
country_files = file_get_country_files();
|
2004-12-23 13:58:39 +01:00
|
|
|
|
2005-04-09 21:18:28 +02:00
|
|
|
if(country_files->len == 0)
|
|
|
|
main_exit_program(EXIT_NO_COUNTRY_FILES, "Didn't find any country definition files in the support directories.");
|
2004-12-23 13:58:39 +01:00
|
|
|
|
2005-04-09 21:18:28 +02:00
|
|
|
for(i=0;i<country_files->len;i++)
|
2004-12-23 13:58:39 +01:00
|
|
|
combo_strings = g_list_append(combo_strings,
|
2005-04-09 21:18:28 +02:00
|
|
|
((GString*)g_ptr_array_index(country_files, i))->str);
|
2004-12-23 13:58:39 +01:00
|
|
|
|
|
|
|
gtk_combo_set_popdown_strings(GTK_COMBO(combo_country), combo_strings);
|
|
|
|
|
2005-04-09 21:18:28 +02:00
|
|
|
free_g_string_array(&country_files);
|
2004-12-23 13:58:39 +01:00
|
|
|
}
|
|
|
|
|
2005-04-04 12:36:04 +02:00
|
|
|
/** Show the file selection window. */
|
|
|
|
void
|
|
|
|
window_show_file_sel(void)
|
|
|
|
{
|
|
|
|
gchar buf[SMALL];
|
|
|
|
const gchar *home = g_get_home_dir();
|
|
|
|
|
|
|
|
window_create(WINDOW_FILE_SEL);
|
|
|
|
|
|
|
|
if(strlen(save_file->str) > 0)
|
|
|
|
gtk_file_selection_set_filename(GTK_FILE_SELECTION(window.file_sel),
|
|
|
|
save_file->str);
|
|
|
|
else
|
|
|
|
{
|
|
|
|
sprintf(buf, "%s/%s/saves/", home, HOMEDIRNAME);
|
|
|
|
gtk_file_selection_set_filename(GTK_FILE_SELECTION(window.file_sel), buf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2005-03-23 20:03:26 +01:00
|
|
|
/** Show the options window. */
|
|
|
|
void
|
|
|
|
window_show_options(void)
|
|
|
|
{
|
|
|
|
window_create(WINDOW_OPTIONS);
|
|
|
|
|
|
|
|
option_gui_set_up_window();
|
|
|
|
}
|
|
|
|
|
2005-03-27 19:59:57 +02:00
|
|
|
/** Show the player list context menu, triggered by 'event'. */
|
|
|
|
void
|
|
|
|
window_show_menu_player(GdkEvent *event)
|
|
|
|
{
|
|
|
|
if(window.menu_player != NULL)
|
|
|
|
window_destroy(&window.menu_player, FALSE);
|
|
|
|
|
|
|
|
window.menu_player = create_menu_player();
|
|
|
|
|
|
|
|
gtk_menu_popup(GTK_MENU(window.menu_player), NULL, NULL, NULL, NULL,
|
|
|
|
((GdkEventButton*)event)->button, gdk_event_get_time(event));
|
|
|
|
}
|
|
|
|
|
2005-03-17 21:26:01 +01:00
|
|
|
/** Show the digits window with the labels and values set
|
|
|
|
according to the arguments. */
|
|
|
|
void
|
|
|
|
window_show_digits(gchar *text_main, gchar* text1, gint value1, gchar* text2, gint value2)
|
|
|
|
{
|
|
|
|
GtkLabel *label_main, *label_1, *label_2;
|
|
|
|
GtkSpinButton *spinbutton1, *spinbutton2;
|
|
|
|
|
|
|
|
window_create(WINDOW_DIGITS);
|
|
|
|
|
|
|
|
label_main = GTK_LABEL(lookup_widget(window.digits, "label_main"));
|
|
|
|
label_1 = GTK_LABEL(lookup_widget(window.digits, "label_1"));
|
|
|
|
label_2 = GTK_LABEL(lookup_widget(window.digits, "label_2"));
|
|
|
|
|
|
|
|
spinbutton1 = GTK_SPIN_BUTTON(lookup_widget(window.digits, "spinbutton1"));
|
|
|
|
spinbutton2 = GTK_SPIN_BUTTON(lookup_widget(window.digits, "spinbutton2"));
|
|
|
|
|
|
|
|
if(stat0 == STATUS_GET_LOAN ||
|
|
|
|
stat0 == STATUS_PAY_LOAN)
|
|
|
|
gtk_spin_button_set_range(spinbutton1, (gdouble)1, (gdouble)value1);
|
|
|
|
|
|
|
|
gtk_spin_button_set_value(spinbutton1, (gdouble)value1);
|
|
|
|
gtk_spin_button_set_value(spinbutton2, (gdouble)value2);
|
|
|
|
|
|
|
|
gtk_label_set_text(label_main, text_main);
|
|
|
|
|
|
|
|
if(text1 != NULL)
|
|
|
|
gtk_label_set_text(label_1, text1);
|
|
|
|
else
|
|
|
|
gtk_widget_hide(GTK_WIDGET(label_1)->parent);
|
|
|
|
|
|
|
|
if(text2 != NULL)
|
|
|
|
gtk_label_set_text(label_2, text2);
|
|
|
|
else
|
|
|
|
gtk_widget_hide(GTK_WIDGET(label_2)->parent);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Show the stadium window for the current user. */
|
|
|
|
void
|
|
|
|
window_show_stadium(void)
|
|
|
|
{
|
|
|
|
gchar buf[SMALL];
|
2005-03-18 23:03:23 +01:00
|
|
|
const Team *tm = current_user.tm;
|
2005-03-17 21:26:01 +01:00
|
|
|
GtkLabel *label_capacity,
|
2005-04-07 18:44:33 +02:00
|
|
|
*label_stadium_status, *label_average_attendance;
|
|
|
|
GtkProgressBar *progressbar_safety,
|
|
|
|
*progressbar_average_attendance;
|
|
|
|
gfloat average_attendance_perc = 0;
|
2005-03-17 21:26:01 +01:00
|
|
|
|
|
|
|
window_create(WINDOW_STADIUM);
|
|
|
|
|
|
|
|
label_capacity = GTK_LABEL(lookup_widget(window.stadium, "label_capacity"));
|
|
|
|
label_stadium_status = GTK_LABEL(lookup_widget(window.stadium, "label_stadium_status"));
|
2005-04-07 18:44:33 +02:00
|
|
|
label_average_attendance = GTK_LABEL(lookup_widget(window.stadium, "label_average_attendance"));
|
2005-03-17 21:26:01 +01:00
|
|
|
|
|
|
|
progressbar_safety = GTK_PROGRESS_BAR(lookup_widget(window.stadium, "progressbar_safety"));
|
2005-04-07 18:44:33 +02:00
|
|
|
progressbar_average_attendance = GTK_PROGRESS_BAR(lookup_widget(window.stadium, "progressbar_average_attendance"));
|
2005-03-17 21:26:01 +01:00
|
|
|
|
|
|
|
gui_label_set_text_from_int(label_capacity, tm->stadium.capacity, FALSE);
|
2005-04-07 18:44:33 +02:00
|
|
|
gui_label_set_text_from_int(label_average_attendance, tm->stadium.average_attendance, FALSE);
|
|
|
|
|
2005-03-17 21:26:01 +01:00
|
|
|
|
2005-04-07 18:44:33 +02:00
|
|
|
if(tm->stadium.games > 0)
|
|
|
|
average_attendance_perc =
|
|
|
|
(gfloat)(tm->stadium.average_attendance * tm->stadium.games) /
|
|
|
|
(gfloat)tm->stadium.possible_attendance;
|
|
|
|
|
2005-03-17 21:26:01 +01:00
|
|
|
gtk_progress_bar_set_fraction(progressbar_safety, tm->stadium.safety);
|
2005-04-07 18:44:33 +02:00
|
|
|
gtk_progress_bar_set_fraction(progressbar_average_attendance, average_attendance_perc);
|
2005-03-17 21:26:01 +01:00
|
|
|
|
|
|
|
sprintf(buf, "%d%%", (gint)rint(tm->stadium.safety * 100));
|
|
|
|
gtk_progress_bar_set_text(progressbar_safety, buf);
|
|
|
|
|
2005-04-07 18:44:33 +02:00
|
|
|
sprintf(buf, "%d%%", (gint)rint(average_attendance_perc * 100));
|
|
|
|
gtk_progress_bar_set_text(progressbar_average_attendance, buf);
|
|
|
|
|
2005-03-18 23:03:23 +01:00
|
|
|
if(current_user.counters[COUNT_USER_STADIUM_CAPACITY] +
|
|
|
|
current_user.counters[COUNT_USER_STADIUM_SAFETY] != 0)
|
2005-03-17 21:26:01 +01:00
|
|
|
{
|
|
|
|
sprintf(buf, _("Improvement in progress.\n%d seats and %d%% safety still to be done.\nExpected finish: %d weeks."),
|
2005-03-18 23:03:23 +01:00
|
|
|
current_user.counters[COUNT_USER_STADIUM_CAPACITY],
|
|
|
|
current_user.counters[COUNT_USER_STADIUM_SAFETY],
|
2005-03-17 21:26:01 +01:00
|
|
|
MAX(finance_get_stadium_improvement_duration(
|
2005-03-18 23:03:23 +01:00
|
|
|
(gfloat)current_user.counters[COUNT_USER_STADIUM_CAPACITY], TRUE),
|
2005-03-17 21:26:01 +01:00
|
|
|
finance_get_stadium_improvement_duration(
|
2005-03-18 23:03:23 +01:00
|
|
|
(gfloat)current_user.counters[COUNT_USER_STADIUM_SAFETY] / 100, FALSE)));
|
2005-03-17 21:26:01 +01:00
|
|
|
gtk_label_set_text(label_stadium_status, buf);
|
|
|
|
}
|
|
|
|
else
|
|
|
|
gtk_label_set_text(label_stadium_status, _("No improvements currently in progress."));
|
|
|
|
}
|
|
|
|
|
2005-03-27 19:59:57 +02:00
|
|
|
gboolean
|
|
|
|
window_show(gpointer window)
|
|
|
|
{
|
|
|
|
gtk_widget_show((GtkWidget*)window);
|
|
|
|
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
2005-03-20 21:49:55 +01:00
|
|
|
/** Show the window where the user can select between yes and no.
|
|
|
|
@param text The text shown in the window.
|
|
|
|
@param checkbutton Whether to show the checkbutton. */
|
|
|
|
void
|
2005-04-07 18:44:33 +02:00
|
|
|
window_show_yesno(gchar *text)
|
2005-03-20 21:49:55 +01:00
|
|
|
{
|
|
|
|
window_create(WINDOW_YESNO);
|
|
|
|
|
|
|
|
gtk_label_set_text(GTK_LABEL(lookup_widget(window.yesno, "label_yesno")), text);
|
|
|
|
}
|
|
|
|
|
2004-12-30 17:48:19 +01:00
|
|
|
/** Create and show a window. Which one depends on the argument.
|
|
|
|
@param window_type An integer telling us which window to
|
|
|
|
create.
|
2005-03-08 09:25:46 +01:00
|
|
|
@param count_popups Whether this window adds to the popup
|
|
|
|
counter that determines when the main window gets (in)sensitive.
|
2004-12-30 17:48:19 +01:00
|
|
|
@return The pointer to the new window.
|
|
|
|
@see #Windows */
|
|
|
|
GtkWidget*
|
|
|
|
window_create(gint window_type)
|
|
|
|
{
|
2005-03-08 09:25:46 +01:00
|
|
|
gint old_popups_active = popups_active;
|
2005-03-10 21:59:39 +01:00
|
|
|
gchar buf[SMALL];
|
2005-03-03 13:46:48 +01:00
|
|
|
GtkWidget *wind = NULL;
|
2005-01-09 21:21:22 +01:00
|
|
|
|
2005-03-10 21:59:39 +01:00
|
|
|
sprintf(buf, "Bygfoot Football Manager %s", VERS);
|
|
|
|
|
2004-12-30 17:48:19 +01:00
|
|
|
switch(window_type)
|
|
|
|
{
|
|
|
|
default:
|
2005-03-08 09:25:46 +01:00
|
|
|
g_warning("window_create: unknown window type %d\n", window_type);
|
|
|
|
break;
|
|
|
|
case WINDOW_MAIN:
|
2005-03-03 13:46:48 +01:00
|
|
|
if(window.main == NULL)
|
2005-01-09 21:21:22 +01:00
|
|
|
{
|
2005-03-03 13:46:48 +01:00
|
|
|
window.main = create_main_window();
|
|
|
|
wind = window.main;
|
|
|
|
game_gui_print_message("Welcome to Bygfoot "VERS);
|
2005-01-09 21:21:22 +01:00
|
|
|
}
|
|
|
|
else
|
2005-03-03 13:46:48 +01:00
|
|
|
wind = window.main;
|
2005-03-24 19:04:31 +01:00
|
|
|
if(opt_int("int_opt_maximize_main_window"))
|
|
|
|
gtk_window_maximize(GTK_WINDOW(wind));
|
2004-12-30 17:48:19 +01:00
|
|
|
break;
|
|
|
|
case WINDOW_STARTUP:
|
2005-03-03 13:46:48 +01:00
|
|
|
if(window.startup != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
2005-03-08 09:25:46 +01:00
|
|
|
{
|
|
|
|
popups_active++;
|
2005-03-03 13:46:48 +01:00
|
|
|
window.startup = create_window_startup();
|
2005-03-08 09:25:46 +01:00
|
|
|
}
|
2005-03-03 13:46:48 +01:00
|
|
|
wind = window.startup;
|
2004-12-30 17:48:19 +01:00
|
|
|
break;
|
2005-01-09 21:21:22 +01:00
|
|
|
case WINDOW_LIVE:
|
2005-03-03 13:46:48 +01:00
|
|
|
if(window.live != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
2005-03-08 09:25:46 +01:00
|
|
|
{
|
|
|
|
popups_active++;
|
2005-03-03 13:46:48 +01:00
|
|
|
window.live = create_window_live();
|
2005-03-08 09:25:46 +01:00
|
|
|
}
|
2005-03-10 21:59:39 +01:00
|
|
|
strcpy(buf, "Bygfoot Live game");
|
2005-03-03 13:46:48 +01:00
|
|
|
wind = window.live;
|
2005-01-10 16:24:15 +01:00
|
|
|
gtk_spin_button_set_value(
|
2005-03-03 13:46:48 +01:00
|
|
|
GTK_SPIN_BUTTON(lookup_widget(wind, "spinbutton_speed")),
|
2005-03-23 20:03:26 +01:00
|
|
|
(gfloat)option_int("int_opt_user_live_game_speed", &usr(stat2).options));
|
2005-03-03 13:46:48 +01:00
|
|
|
break;
|
2005-03-08 09:25:46 +01:00
|
|
|
case WINDOW_WARNING:
|
|
|
|
if(window.warning != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
window.warning = create_window_warning();
|
|
|
|
wind = window.warning;
|
2005-03-10 21:59:39 +01:00
|
|
|
strcpy(buf, "Erm...");
|
|
|
|
break;
|
|
|
|
case WINDOW_PROGRESS:
|
|
|
|
if(window.progress != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
window.progress = create_window_progress();
|
|
|
|
wind = window.progress;
|
|
|
|
strcpy(buf, "");
|
2005-03-08 09:25:46 +01:00
|
|
|
break;
|
2005-03-17 21:26:01 +01:00
|
|
|
case WINDOW_DIGITS:
|
|
|
|
if(window.digits != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
{
|
|
|
|
popups_active++;
|
|
|
|
window.digits = create_window_digits();
|
|
|
|
}
|
|
|
|
wind = window.digits;
|
|
|
|
strcpy(buf, _("Numbers..."));
|
|
|
|
break;
|
|
|
|
case WINDOW_STADIUM:
|
|
|
|
if(window.stadium != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
{
|
|
|
|
popups_active++;
|
|
|
|
window.stadium = create_window_stadium();
|
|
|
|
}
|
|
|
|
wind = window.stadium;
|
|
|
|
strcpy(buf, _("Your stadium"));
|
|
|
|
break;
|
2005-03-18 23:03:23 +01:00
|
|
|
case WINDOW_JOB_OFFER:
|
|
|
|
if(window.job_offer != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
{
|
|
|
|
popups_active++;
|
|
|
|
window.job_offer = create_window_job_offer();
|
|
|
|
}
|
|
|
|
wind = window.job_offer;
|
|
|
|
strcpy(buf, _("Job offer"));
|
|
|
|
break;
|
2005-03-20 21:49:55 +01:00
|
|
|
case WINDOW_YESNO:
|
|
|
|
if(window.yesno != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
{
|
|
|
|
popups_active++;
|
|
|
|
window.yesno = create_window_yesno();
|
|
|
|
}
|
|
|
|
wind = window.yesno;
|
|
|
|
strcpy(buf, "???");
|
|
|
|
break;
|
2005-03-23 20:03:26 +01:00
|
|
|
case WINDOW_OPTIONS:
|
|
|
|
if(window.options != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
{
|
|
|
|
popups_active++;
|
|
|
|
window.options = create_window_options();
|
|
|
|
}
|
|
|
|
wind = window.options;
|
|
|
|
strcpy(buf, "Options");
|
|
|
|
break;
|
2005-03-24 14:00:01 +01:00
|
|
|
case WINDOW_FONT_SEL:
|
|
|
|
if(window.font_sel != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
window.font_sel = create_window_font_sel();
|
|
|
|
wind = window.font_sel;
|
|
|
|
strcpy(buf, "Select font");
|
|
|
|
break;
|
2005-04-04 12:36:04 +02:00
|
|
|
case WINDOW_FILE_SEL:
|
|
|
|
if(window.file_sel != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
window.file_sel = create_window_file_sel();
|
|
|
|
wind = window.file_sel;
|
|
|
|
strcpy(buf, "Select file");
|
|
|
|
break;
|
2005-03-25 11:54:54 +01:00
|
|
|
case WINDOW_CONTRACT:
|
|
|
|
if(window.contract != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
window.contract = create_window_contract();
|
|
|
|
wind = window.contract;
|
|
|
|
strcpy(buf, "Contract offer");
|
|
|
|
break;
|
2005-03-27 19:59:57 +02:00
|
|
|
case WINDOW_USER_MANAGEMENT:
|
|
|
|
if(window.user_management != NULL)
|
|
|
|
g_warning("window_create: called on already existing window\n");
|
|
|
|
else
|
|
|
|
window.user_management = create_window_user_management();
|
|
|
|
wind = window.user_management;
|
|
|
|
strcpy(buf, "User management");
|
|
|
|
break;
|
2005-03-03 13:46:48 +01:00
|
|
|
}
|
2004-12-30 17:48:19 +01:00
|
|
|
|
2005-03-10 21:59:39 +01:00
|
|
|
gtk_window_set_title(GTK_WINDOW(wind), buf);
|
2005-04-13 15:01:59 +02:00
|
|
|
|
|
|
|
if(window_type != WINDOW_PROGRESS)
|
|
|
|
g_timeout_add(20, (GSourceFunc)window_show, (gpointer)wind);
|
|
|
|
else
|
|
|
|
gtk_widget_show(wind);
|
2004-12-30 17:48:19 +01:00
|
|
|
|
2005-03-11 18:18:51 +01:00
|
|
|
if(popups_active != old_popups_active &&
|
|
|
|
window.main != NULL)
|
2005-03-03 13:46:48 +01:00
|
|
|
gtk_widget_set_sensitive(window.main, FALSE);
|
2005-01-09 21:21:22 +01:00
|
|
|
|
2005-03-03 13:46:48 +01:00
|
|
|
return wind;
|
2004-12-30 17:48:19 +01:00
|
|
|
}
|
2005-01-09 21:21:22 +01:00
|
|
|
|
|
|
|
/** Destroy a window widget and set the popups and
|
|
|
|
main window sensitivity correctly.
|
2005-03-08 09:25:46 +01:00
|
|
|
@param window The window we destroy.
|
|
|
|
@param count_popups Whether this window adds to the popup
|
|
|
|
counter that determines when the main window gets (in)sensitive. */
|
2005-01-09 21:21:22 +01:00
|
|
|
void
|
2005-03-08 09:25:46 +01:00
|
|
|
window_destroy(GtkWidget **wind, gboolean count_popups)
|
2005-01-09 21:21:22 +01:00
|
|
|
{
|
2005-03-03 13:46:48 +01:00
|
|
|
if(*wind == NULL)
|
2005-01-09 21:21:22 +01:00
|
|
|
return;
|
|
|
|
|
2005-03-08 09:25:46 +01:00
|
|
|
if(*wind != window.main && count_popups)
|
2005-01-09 21:21:22 +01:00
|
|
|
{
|
|
|
|
popups_active--;
|
|
|
|
|
2005-03-03 13:46:48 +01:00
|
|
|
if(popups_active == 0 && window.main != NULL)
|
|
|
|
gtk_widget_set_sensitive(window.main, TRUE);
|
2005-01-09 21:21:22 +01:00
|
|
|
}
|
|
|
|
|
2005-03-03 13:46:48 +01:00
|
|
|
gtk_widget_destroy(*wind);
|
2005-01-09 21:21:22 +01:00
|
|
|
|
2005-03-03 13:46:48 +01:00
|
|
|
*wind = NULL;
|
2005-01-09 21:21:22 +01:00
|
|
|
}
|