#include once "gtk/gtk.bi" #define NULL 0 #define TRUE 1 #define FALSE 0 function login_dialog_zobrazit(jmeno as zstring ptr ptr, heslo as zstring ptr ptr) as integer dim as GtkWidget ptr login_dialog dim as GtkWidget ptr login_dialog_vbox dim as GtkWidget ptr fixed_grid dim as GtkWidget ptr entry_jmeno dim as GtkWidget ptr entry_heslo dim as GtkWidget ptr label_jmeno dim as GtkWidget ptr label_heslo dim as GtkWidget ptr dialog_action_area dim as GtkWidget ptr cancelbutton dim as GtkWidget ptr okbutton login_dialog = gtk_dialog_new () gtk_window_set_title (GTK_WINDOW (login_dialog), "Přihlásit") gtk_window_set_modal (GTK_WINDOW (login_dialog), TRUE) gtk_window_set_resizable (GTK_WINDOW (login_dialog), FALSE) gtk_window_set_type_hint (GTK_WINDOW (login_dialog), GDK_WINDOW_TYPE_HINT_DIALOG) login_dialog_vbox = GTK_DIALOG(login_dialog)->vbox gtk_widget_show (login_dialog_vbox) fixed_grid = gtk_fixed_new () gtk_widget_show (fixed_grid) gtk_box_pack_start (GTK_BOX (login_dialog_vbox), fixed_grid, TRUE, TRUE, 0) entry_jmeno = gtk_entry_new () gtk_widget_show (entry_jmeno) gtk_fixed_put (GTK_FIXED (fixed_grid), entry_jmeno, 80, 0) gtk_widget_set_size_request (entry_jmeno, 160, 27) entry_heslo = gtk_entry_new () gtk_widget_show (entry_heslo) gtk_fixed_put (GTK_FIXED (fixed_grid), entry_heslo, 80, 32) gtk_widget_set_size_request (entry_heslo, 160, 27) gtk_entry_set_visibility (GTK_ENTRY (entry_heslo), FALSE) gtk_entry_set_invisible_char (GTK_ENTRY (entry_heslo), 9679) label_jmeno = gtk_label_new ("Jméno") gtk_widget_show (label_jmeno) gtk_fixed_put (GTK_FIXED (fixed_grid), label_jmeno, 0, 0) gtk_widget_set_size_request (label_jmeno, 80, 27) label_heslo = gtk_label_new ("Heslo") gtk_widget_show (label_heslo) gtk_fixed_put (GTK_FIXED (fixed_grid), label_heslo, 0, 32) gtk_widget_set_size_request (label_heslo, 80, 27) dialog_action_area = GTK_DIALOG(login_dialog)->action_area gtk_widget_show (dialog_action_area) gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area), GTK_BUTTONBOX_END) cancelbutton = gtk_button_new_from_stock ("gtk-cancel") gtk_widget_show (cancelbutton) gtk_dialog_add_action_widget (GTK_DIALOG (login_dialog), cancelbutton, GTK_RESPONSE_CANCEL) GTK_WIDGET_SET_FLAGS (cancelbutton, GTK_CAN_DEFAULT) okbutton = gtk_button_new_from_stock ("gtk-ok") gtk_widget_show (okbutton) gtk_dialog_add_action_widget (GTK_DIALOG (login_dialog), okbutton, GTK_RESPONSE_OK) GTK_WIDGET_SET_FLAGS (okbutton, GTK_CAN_DEFAULT) dim result as integer result = gtk_dialog_run(GTK_DIALOG(login_dialog)) gtk_widget_destroy(login_dialog) if result=GTK_RESPONSE_OK then *jmeno=gtk_entry_get_text (GTK_ENTRY (entry_jmeno)) *heslo=gtk_entry_get_text (GTK_ENTRY (entry_heslo)) return 1 else return 0 end if end function gtk_init (NULL, NULL) dim jmeno as zstring ptr dim heslo as zstring ptr dim res as integer res = login_dialog_zobrazit(@jmeno,@heslo) if res=1 then print jmeno,heslo end if gtk_main () gtk_main_quit ()