/** inpassword.c **/ #include gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); void eventButton(GtkWidget *widget,gpointer data); void setTermination(GtkWidget *app); void stringCallback(gchar *string,gpointer data); int main(int argc,char *argv[]) { GtkWidget *button; GtkWidget *app; gnome_init("instring","1.0",argc,argv); app = gnome_app_new("instring","String Dialog"); setTermination(app); button = gtk_button_new_with_label( "Push to prompt"); gtk_signal_connect(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(eventButton), app); gnome_app_set_contents(GNOME_APP(app),button); gtk_container_set_border_width(GTK_CONTAINER(app),30); gtk_widget_show(button); gtk_widget_show(app); gtk_main(); exit(0); } void eventButton(GtkWidget *widget,gpointer data) { gnome_app_request_password(GNOME_APP(data), "Password", (GnomeStringCallback)stringCallback, data); } void stringCallback(gchar *string,gpointer data) { char message[100]; if(string != NULL) { sprintf(message,"Entered string:\n%s",string); gnome_app_message(GNOME_APP(data),message); } } void setTermination(GtkWidget *app) { gtk_signal_connect(GTK_OBJECT(app), "delete_event", GTK_SIGNAL_FUNC(eventDelete), NULL); gtk_signal_connect(GTK_OBJECT(app), "destroy", GTK_SIGNAL_FUNC(eventDestroy), NULL); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }