Tcl Powered Photo Gallery! Pictures of Real Tcl/Tk Applications

Hosted by Lick Observatory

Santa Cruz, CA

The anchors will take you to PostScript versions (better resolution, and you can print them on nice printers).

Forms: Forms GUI for Relational DB

Forms Main Window: Select a Form

Each menu on this main screen offers a list of forms, loosely grouped by application or relevance. The user can start up as many of them simultaneously as the backend server will permit.

Selected Memes Form (empty)

I picked the Memes form from the Memes menu (other forms from that menu were Agents, Mpaths, etc).

Find Memes called PARANG

I enter PARANG as the meme name and hit FIND.

Pick from list of PARANG memes

A popup appears with a synoptic list of all the memes whose names start with PARANG. I double-click on the one I want.

This is the PARANG we were looking for

Information about the PARANG I picked now appears in the form.

Shift-Click on Fields to make a List

If I shift-click on form fields, they form an ordered list. If I then use the visible SQL generator, the FSE is derived from that list:

List Constrains SQL FSE

List Plus Match Values

I can also enter values to match, simultaneously with FSE constraint.

SQL FSE and RSE now Constrained

And to make my day complete, the SQL in this window is editable, so if I am SQL-literate, I can write my own query...

Results of Query

... and ViewData will bring up this handy results viewer, with some useful disposal options.

Agents Form

This is the form for the Agents table (see the Knowledge Base discussion in the Guided Tour).

Meme Paths (Info Flow) Form

This is the form for the Paths table (the table documenting information flow between Agents).

Mbundle Form (no sel)

Forms can show more than one record at once, as demonstrated here by the Mbundle form (shows the bundling of Memes into hierarchical structure). Here I see all children of a parent Meme.

Mbundle Form (rec sel)

Here I have selected one child of the parent Meme.

Memes Form looks at Memes Table (self ref)

The Memes form here shows the Meme for the Memes table. In other words, the form is looking at the Meme assigned to the table "Memes" in the DB.

Widget Editor

Descriptions of each form and of all the widgets on each form live in the Forms table. Of course, there is a Form for looking at the Forms table.

Widget Editor

Widgets on a form are created and edited by this popup editor. This editor allows the designer to insert, update, delete records in the Forms table in a more friendly way than the raw Forms form.

Different Server, Same Code

The same forms code can look at different servers. Here we've started a new forms session pointing at the Admin, rather than the Science, server.

A Boring Form (Mailing List)

Every database designer seems condemned to build at least a handful of Mailing Lists in a lifetime. Ugh. This is just one of several here at Lick -- it keeps track of visitors to our Mount Hamilton facility (a useful thing to do).

Ticketing Form with Data

We sell tickets to special events on the Mountain, like concerts and lectures. This form is used by the clerical staff who oversee that operation, to keep track of their ticket sales, donations, etc.

Ticketing Form with Data and Computation

As you can see, this person (who shall remain anonymous) was very generous and wrote us a check totalling $1000, somewhat in excess of the value of the tickets he received. The check totalling button is one of many handy sanity check features found all over our production forms. Since the whole application is Tcl, it's quite simple to add buttons with any arbitrary function. This form was designed, created, integrated with the pre-existing Mailing List, reviewed, redesigned completely, and in production in less than two days.

The UC Regents don't care if my code works for you or not, so there are no guarantees. Read the COPYRIGHT statement on anything you download from us. Everything you get from us is free. As software ought to be. :-)
Back to Photo Gallery.
Further Back to Lick Tcl homepage.
Way Back to my homepage.
Way Way Back to the UCO/Lick homepage.
De Clarke
UCO/Lick Observatory
University of California
Santa Cruz, CA 95064
Tel: +1 408 459 2630
Fax: +1 408 454 9863