REM Demoprogram for Scriptbasic with the GTK-server REM Demonstration on how to use the GTK-server with Scriptbasic by TCP. REM Tested with Scriptbasic 1 build 30 on Slackware Linux 9.0 and Windows2000. REM REM December 30, 2003 by Peter van Eerten. REM Rewritten and adjusted for GTK-server 1.2 at October 8, 2004 by PvE. REM Adjusted for GTK-server 1.3 at December 6, 2004 by PvE. REM -------------------------------------------------------------------------- FUNCTION GTK(st) LOCAL tmp PRINT #1, st & nl LINE INPUT #1, tmp GTK = tmp END FUNCTION REM -------------------------------------------------------------------------- GLOBAL CONST NL = "\n" pid = SYSTEM("gtk-server -tcp=localhost:50000 -detach") OPEN "localhost:50000" FOR SOCKET AS 1 GTK("gtk_init NULL NULL") win = GTK("gtk_window_new 0") GTK("gtk_window_set_title " & win & " \"Scriptbasic Demo program\"") GTK("gtk_widget_set_usize " & win & " 450 400") table = GTK("gtk_table_new 50 50 1") GTK("gtk_container_add " & win & " " & table) button = GTK("gtk_button_new_with_label Exit") GTK("gtk_table_attach_defaults " & table & " " & button & " 41 49 45 49") entry = GTK("gtk_entry_new") GTK("gtk_table_attach_defaults " & table & " " & entry & " 1 40 45 49") text = GTK("gtk_text_new NULL NULL") GTK("gtk_table_attach_defaults " & table & " " & text & " 1 49 8 44") radio1 = GTK("gtk_radio_button_new_with_label_from_widget NULL Yes") GTK("gtk_table_attach_defaults " & table & " " & radio1 & " 1 10 1 4") radio2 = GTK("gtk_radio_button_new_with_label_from_widget " & radio1 & " No") GTK("gtk_table_attach_defaults " & table & " " & radio2 & " 1 10 4 7") GTK("gtk_widget_show_all " & win) GTK("gtk_widget_grab_focus " & entry) REPEAT event = GTK("gtk_server_callback WAIT") IF event = entry THEN tmp = GTK("gtk_entry_get_text " & entry) GTK("gtk_text_insert " & text & " NULL NULL NULL \"" & tmp & "\" -1") REM Empty entry field GTK("gtk_editable_delete_text " & entry & " 0 -1") ENDIF UNTIL event = button PRINT #1, "gtk_server_exit" CLOSE #1 END