void dialog_simulator_new_system () { system_delete (sys); system_copy (sys, sysnew); dialog_simulator_edit (); }
void dialog_open_system_new (DialogOpenSystem * dlg) { int i; char *name; GtkFileFilter *filter; System s[1]; filter = gtk_file_filter_new (); gtk_file_filter_add_pattern (filter, "*.xml"); gtk_file_filter_add_pattern (filter, "*.XML"); gtk_file_filter_set_name (filter, gettext ("XML system file (*.xml, *.XML)")); dlg->button_open = (GtkFileChooserButton *) gtk_file_chooser_button_new (gettext ("Open system"), GTK_FILE_CHOOSER_ACTION_OPEN); gtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dlg->button_open), filter); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dlg->button_open), string_system); dlg->window = (GtkDialog *) gtk_dialog_new_with_buttons (gettext ("Open system"), dialog_simulator->window, GTK_DIALOG_MODAL, gettext ("_OK"), GTK_RESPONSE_OK, gettext ("_Cancel"), GTK_RESPONSE_CANCEL, NULL); gtk_container_add (GTK_CONTAINER (gtk_dialog_get_content_area (dlg->window)), GTK_WIDGET (dlg->button_open)); gtk_widget_show (GTK_WIDGET (dlg->button_open)); window_parent = (GtkWindow *) dlg->window; do { i = gtk_dialog_run (dlg->window); if (i == GTK_RESPONSE_OK) { name = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dlg->button_open)); if (name) { i = system_open_xml (s, g_path_get_basename (name), g_path_get_dirname (name)); } else { i = 0; jbw_show_error2 (gettext ("Open system"), gettext ("Unable to open the file")); } if (i) { g_free (string_system); string_system = jb_strdup (name); g_free (name); system_delete (sys); if (!system_copy (sys, s)) { jbw_show_error (message); exit (0); } system_delete (s); if (!simulate_start ()) continue; dialog_simulator_actualize_bar (dialog_simulator); dialog_simulator_actualize (dialog_simulator); break; } else g_free (name); } else break; } while (1); gtk_widget_destroy (GTK_WIDGET (dlg->window)); window_parent = dialog_simulator->window; }