REM ************************************************************* REM REM Demoprogram for Yabasic with the GTK-server using named PIPES REM REM Tested on Slackware Linux 9.1 using Yabasic 2.751 REM REM By Peter van Eerten, July 11 2004 REM Revised at July 25 2004 REM Revised for GTK-server 1.2 October 7, 2004 REM Revised for GTK-server 1.3 December 6, 2004 REM Revised for GTK-server 2.0.6 at december 17, 2005 REM ************************************************************* SUB GTK$(st$) LOCAL tp$, mi$ OPEN "/tmp/yabdemo" FOR WRITING AS 1 PRINT #1 st$; CLOSE 1 OPEN "/tmp/yabdemo" FOR READING AS 1 LINE INPUT #1 tp$ CLOSE 1 RETURN tp$ END SUB REM ************* MAIN program starts here REM Start the GTK-server SYSTEM("gtk-server -fifo=/tmp/yabdemo -detach") REM Setup GUI GTK$("gtk_init NULL NULL") win$ = GTK$("gtk_window_new 0") GTK$("gtk_window_set_title " + win$ + " \"Yabasic 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") txt$ = GTK$("gtk_text_new NULL NULL") GTK$("gtk_table_attach_defaults " + table$ + " " + txt$ + " 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$) event$ = "0" REM Mainloop REPEAT event$ = GTK$("gtk_server_callback WAIT") IF (event$ = entry$) THEN tmp$ = GTK$("gtk_entry_get_text " + entry$) GTK$("gtk_text_insert " + txt$ + " NULL NULL NULL \"" + tmp$ + "\" -1") REM Empty entry field tmp$ = GTK$("gtk_editable_delete_text " + entry$ + " 0 -1") ENDIF UNTIL (event$ = button$ OR event$ = win$) REM Exit GTK GTK$("gtk_server_exit") END