GtkWidget *dialog;void okCall(GtkWidget * button,gpointer data)...{ char *string = gtk_entry_get_text(GTK_ENTRY((GtkWidget *)data)); bzero(servConfFilePath,sizeof(servConfFilePath)); strcpy(servConfFilePath,string); char fs[50]; bzero(fs,sizeof(fs)); strcat(fs,"touch "); strcat(fs,servConfFilePath); system(fs); gtk_widget_destroy(dialog);}void cancelCall(GtkWidget * dialog,gpointer data)...{ gtk_widget_destroy(dialog);}void editConfPath(GtkObject *window,gpointer data)...{ GtkWidget *vbox; GtkWidget *hbox; GtkWidget *label; GtkWidget *entry; GtkWidget *ok; GtkWidget *cancel; dialog = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(dialog),"chang the path"); gtk_window_set_default_size(GTK_WINDOW(dialog),300,200); vbox = gtk_vbox_new(TRUE,5); gtk_container_add(GTK_CONTAINER(dialog),vbox); label = gtk_label_new("change the server configure file path:"); gtk_box_pack_start(GTK_BOX(vbox),label,FALSE,FALSE,5); entry = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(vbox),entry,FALSE,FALSE,5); hbox = gtk_hbox_new(TRUE,5); gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,5); ok = gtk_button_new_with_label("ok"); cancel = gtk_button_new_with_label("cancel"); g_signal_connect(GTK_OBJECT(ok),"clicked",G_CALLBACK(okCall),entry); g_signal_connect(GTK_OBJECT(cancel),"clicked",G_CALLBACK(cancelCall),entry); gtk_box_pack_start(GTK_BOX(hbox),ok,FALSE,FALSE,5); gtk_box_pack_start(GTK_BOX(hbox),cancel,FALSE,FALSE,5); gtk_widget_show_all(dialog);}