1 /* SCCS Id: @(#)gnaskstr.c 3.4 2000/07/16 */
2 /* Copyright (C) 1998 by Erik Andersen <andersee@debian.org> */
3 /* NetHack may be freely redistributed. See license for details. */
11 void ghack_ask_string_callback(gchar * string, gpointer data)
13 char **user_text = (char **) data;
15 g_assert(user_text != NULL);
17 *user_text = string; /* note - value must be g_free'd */
21 int ghack_ask_string_dialog(const char *szMessageStr,
22 const char *szDefaultStr, const char *szTitleStr,
27 gchar *user_text = NULL;
29 dialog = gnome_request_dialog(FALSE, szMessageStr,
31 ghack_ask_string_callback,
33 g_assert(dialog != NULL);
35 gtk_window_set_title(GTK_WINDOW(dialog), szTitleStr);
37 gnome_dialog_set_default( GNOME_DIALOG(dialog), 0);
38 gtk_window_set_modal( GTK_WINDOW(dialog), TRUE);
39 gnome_dialog_set_parent (GNOME_DIALOG (dialog),
40 GTK_WINDOW (ghack_get_main_window ()) );
42 i = gnome_dialog_run_and_close (GNOME_DIALOG (dialog));
45 if ( i != 0 || user_text == NULL ) {
51 if ( *user_text == 0 ) {
56 g_assert(strlen(user_text) > 0);
57 strcpy (buffer, user_text);