#!/usr/bin/scriba REM REM Demoprogram for Scriptbasic with the GTK-server as a module REM Tested with Scriptbasic 2.0 Slackware Linux 10.2 REM REM December 24, 2005 - PvE. REM -------------------------------------------------------------------------- IMPORT gtk.bas GLOBAL CONST NL = "\n" REM Enable logging (optional) GTK::gtk("gtk_server_cfg log") GTK::gtk("gtk_init NULL NULL") win = GTK::gtk("gtk_window_new 0") GTK::gtk("gtk_window_set_title " & win & " \"Scriptbasic Demo program\"") GTK::gtk("gtk_widget_set_usize " & win & " 450 400") table = GTK::gtk("gtk_table_new 50 50 1") GTK::gtk("gtk_container_add " & win & " " & table) button = GTK::gtk("gtk_button_new_with_label Exit") GTK::gtk("gtk_table_attach_defaults " & table & " " & button & " 41 49 45 49") entry = GTK::gtk("gtk_entry_new") GTK::gtk("gtk_table_attach_defaults " & table & " " & entry & " 1 40 45 49") text = GTK::gtk("gtk_text_new NULL NULL") GTK::gtk("gtk_table_attach_defaults " & table & " " & text & " 1 49 8 44") radio1 = GTK::gtk("gtk_radio_button_new_with_label_from_widget NULL Yes") GTK::gtk("gtk_table_attach_defaults " & table & " " & radio1 & " 1 10 1 4") radio2 = GTK::gtk("gtk_radio_button_new_with_label_from_widget " & radio1 & " No") GTK::gtk("gtk_table_attach_defaults " & table & " " & radio2 & " 1 10 4 7") GTK::gtk("gtk_widget_show_all " & win) GTK::gtk("gtk_widget_grab_focus " & entry) REPEAT event = GTK::gtk("gtk_server_callback WAIT") IF event = entry THEN tmp = GTK::gtk("gtk_entry_get_text " & entry) GTK::gtk("gtk_text_insert " & text & " NULL NULL NULL \"" & tmp & "\n\" -1") REM Empty entry field GTK::gtk("gtk_editable_delete_text " & entry & " 0 -1") ENDIF UNTIL event = button OR event = win END