REM REM Demoprogram for Scriptbasic with the GTK-server using named PIPES REM REM Tested with Slackware Linux 9.1 using Scriptbasic 2.0 REM REM By Peter van Eerten, july 17 2004 REM Adjusted for GTK-server 1.3 on December 6, 2004 - PvE. REM Revised for GTK-server 2.0.6 at december 17, 2005 REM REM ************* FUNCTION GTK(st) LOCAL tmp OPEN "/tmp/demo.sb" FOR OUTPUT AS 1 PRINT #1, st & nl CLOSE 1 OPEN "/tmp/demo.sb" FOR INPUT AS 1 LINE INPUT #1, tmp CLOSE 1 GTK = tmp END FUNCTION REM ************* MAIN starts here GLOBAL CONST NL = "\n" REM Start GTK-server pid = SYSTEM("gtk-server -fifo=/tmp/demo.sb -detach") SLEEP(2) 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 9 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 5 8") 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) IF LEN(tmp) > 1 THEN GTK("gtk_text_insert " & text & " NULL NULL NULL \"" & TRIM(tmp) & "\" -1") REM Empty entry field GTK("gtk_editable_delete_text " & entry & " 0 -1") ENDIF UNTIL (event = button) GTK("gtk_server_exit") END