' GNOME-DB GRID
INCLUDE "gnome-db.sbh"
_DLL("gtk_init", 0, 0)
_DLL("gdaui_init")
' DB Control Window
window = _DLL("gtk_dialog_new_with_buttons","\"Select the Data Source to connect to\"", 0, GTK_DIALOG_MODAL, GTK_STOCK_CANCEL, GTK_RESPONSE_NONE, GTK_STOCK_OK, GTK_RESPONSE_OK, 0)
login = _DLL("gdaui_login_new", "NULL")
_DLL("gtk_box_pack_start", _DLL("gtk_dialog_get_content_area", window), login, TRUE, TRUE, 0)
_DLL("gtk_widget_show", login)
IF _DLL("gtk_dialog_run", window) <> GTK_RESPONSE_OK THEN
PRINT "Cancelled!\n"
END
END IF
dsninfo = _DLL("gdaui_login_get_connection_information", login)
info_provider = 0
_DLL("strncpy", VARPTR(info_provider), dsninfo + provider, 4)
info_provider = _DLL("strdup", info_provider)
info_cnc = 0
_DLL("strncpy", VARPTR(info_cnc), dsninfo + cnc_string, 4)
info_cnc = _DLL("strdup", info_cnc)
cnc = _DLL("gda_connection_open_from_string", info_provider, info_cnc, 0, 0, 0)
data_model = _DLL("gda_execute_select_command", cnc, "\"SELECT * FROM customers\"", 0)
_DLL("gtk_widget_destroy", window)
' DB Data Grid
window = _DLL("gtk_window_new", 0)
_DLL("gtk_window_set_title", window, "\"GNOME-DB Grid Control Example\"")
_DLL("gtk_window_set_default_size", window, 400, 200)
grid = _DLL("gdaui_grid_new", data_model)
_DLL("g_object_unref", data_model)
_DLL("gtk_container_add", window, grid)
_DLL("gtk_widget_show_all", window)
gtk_main()
_DLL("g_object_unref", cnc)