Module: select-viewer Synopsis: A simple sql query viewer Author: Keith Playford Copyright: Original Code is Copyright (c) 1995-2004 Functional Objects, Inc. All rights reserved. License: Functional Objects Library Public License Version 1.0 Dual-license: GNU Lesser General Public License Warranty: Distributed WITHOUT WARRANTY OF ANY KIND //// Parameters. define constant $default-select-viewer-database = "Northwind"; define constant $default-select-viewer-width = 500; define constant $default-select-viewer-height = 250; //// Back-end protocol. define generic open-database (name :: , user-name :: , password :: ) => (db :: ); define generic query-database (db :: , query :: ) => (headings :: , results :: ); define generic close-database (db :: ) => (); //// Select viewer frame. define frame () // I don't seem to able to introspect to find this out from DUIM... slot columns-displayed :: = 0; pane file-menu (frame) make(, label: "&File", children: vector(make(, label: "New Select Viewer", activate-callback: method (#rest args) spawn-select-viewer(); end), make(, label: "Close", activate-callback: method (sheet) exit-frame(sheet-frame(sheet)) end))); menu-bar (frame) make(, children: vector(file-menu(frame))); pane sql-pane (frame) make(, items: #(), activate-callback: sql-entry-callback); pane results-pane (frame) make(, headings: #[], generators: #[], items: #[]); layout (frame) vertically (spacing: 2) make(); horizontally (spacing: 2, y-alignment: #"center") make(