User Interface Components

Most components in Starboard Tack Scoring's graphical user interface should be familiar. A few require explanation since their usage may not be obvious.

General

Most fields constrain their input to match the underlying column definition in the database. For example, an attempt to enter non-numeric characters into a numeric field with result in a beeping sound. The same is true of text fields if the maximum length for the field has been reached.

Time Field

Time values can be entered in zero-based, 24 hour format or in 12 hour format with am/pm. In either case hours, minutes and seconds must be separated by colons. The am/pm indicator, if used, must be separated from minutes by a space. The following table shows several examples of valid time values. The am/pm indicator is not case-sensitive.

Table 3.2. Time Field Formats

ValueDescription
17:56:42Represents 5:56:42 pm
5:56:42Represents 5:56:42 AM
00:13:56Represents thirteen minutes and 56 seconds after midnight
12:13:14 pmSelf evident (I hope :)
9:42:35 AMSelf evident

Date Field

The date editor field allows the date to be edited via text or selected from a date picker widget. The easiest way to edit dates is to use the date picker widget, as shown below. When the date picker is used to select a date, the date text portion of the field is populated or changed automatically.

The date field appears in various forms and editable table. In forms, it appears as shown here with the text field and a button.

Date Field (empty). 

Click the "..." button to bring up the date picker. Using the date picker, scroll to the desired month and click on a day.

Date Field with Date Picker. 

After clicking on a day in the date picker, the date text is automatically populated.

Date Field (populated). 

Date Fields in Editable Tables

When an table contains an editable date column, the cells do not show the date picker button until the cell is edited. To edit the date, click in the cell twice and the "..." button will appear allowing the date picker to be used to edit the cell value.

Editing Date Value Text

When entering or editing the text directly, the format of the date text must be in one of the following formats:

Table 3.3. Date Field Formats

FormatExampleDescription
dow mon day year
Sun Oct 31 2004 The first three characters of the day of the week, the first three characters of the month, the day of the month, and the four digit year, all separated by a space character
month/day/year10/31/04 or 10/31/2004Represents October 31, 2004
month/day10/31Represents October 31 in the current year

Item List Editor

The item list editor is used to create or edit lists of items such as races, fleets, courses, etc. Your first encounter with this editor component will likely be when you are prompted to create the fleets for your first regatta. However, I'll start with a very simple example -- the course editor.

The graphic above shows the course editor as it appears before any courses have been entered -- as a table with one empty row. The cells in the table are editable -- simply select a cell an begin typing. Use the Tab key to advance focus to the next cell or the Esc key to cancel editing.

Entering items into the table is easy. Enter the required values in the empty row and a new course is created. As soon as a new course is created a new empty row appears allowing another course to be entered. The required values for a course are Name and Course Length. The description field is optional, so a course is created as soon as name and length are entered. The graphic below shows that courses A and B have been created. Course C is in the process of being created because the course length has not yet been entered.

In some cases a newly created and unedited empty row will already contain values. The following graphic shows the fleet editor with three fleets. The fourth row is the "empty" row as it appears before being edited. It contains values in the Handicapping, High Handicap, and Start Offset simply because the logic for these columns won't display empty values. [1]

Deleting Items

To delete an item from the list, right-click on the row to be deleted and selected the Delete... option from the pop-up menu.

Where to Expect the Item List Editor

The item list editor is used to edit the following items: courses, races and fleets for a regatta, crew members associated with an entry, penalties/redress for an entry in a specific race, and phone numbers and email addresses for contacts (crew members).

Auto-Completion

Several text fields in STS support automatic completion. This not only allows the fields to be completed in fewer keystrokes but often results in related fields being automatically populated as well. The items that appear in the completion list pop-up are values that have been entered or imported previously.

The following graphics attempt to illustrate the process for adding an entry to a regatta. As characters are entered into to the boat name field, the completion list appears underneath the field and contains previously entered values that begin with the currently entered characters. As you can see below, the characters "Co" have been entered into the boat name field and the completion list shows the previously entered boat names "Coconut Migration", "Coral Monkey" and "Cove Hunter".

The up/down arrow keys can be used to change the selection in the pop-up list and the Esc key will dismiss the list. Pressing the Enter key while an item in the list is highlighted will select the item. Selecting an item from the list causes the field to fill in with the selected value.

The following graphic shows the Add Entry form after the boat name has been selected for completion using 4 keystrokes -- C, o, c, and Enter. Values for sail number, boat type, handicap, and skipper information are fill in automatically. Note that the related values are only populated if a completion list item is selected using the Enter key.

NOTE

Auto-completion is not performed if the full value is typed in manually and the Tab key is used to advance to the next field.

Where to Expect Auto-Completion

The following fields provide auto-complete support for the related form.

  • Boat name in the Add Entry form - populates the entire form when a completion list item is selected

  • Sail number in the Add Entry form - same as above for boat name

  • Skipper name - populates the skipper related fields when a completion list item is selected

  • Course name in the Starts table - also populates the course length

In the following cases the auto-complete field is used as an editable drop-down select list. Selecting an item from the list in these fields does not auto-populate other fields in the same form.

  • Boat type/class field

  • Crewmember role

  • Phone number and Email descriptions in the Edit Contact form

  • One-design name in the Edit Fleets form

Application Layout

The application's main window is split into left and right panes by default -- the left pane can be hidden or made visible by toggling the "Left Pane" item in the View menu or pressing Ctrl-L. On the left is a tabbed display that shows regatta-centric information including race, fleet, and entry information. The tables in the left pane are read-only. To make changes in races, fleets, or entries, select the appropriate item from the Edit menu.

The right pane is race-centric, showing information regarding the active race. It is split into two areas -- the top part contains the starts table and the bottom contains the results table. Some columns in each of these tables are directly editable. In the starts table the actual start time, course name and course length can be edited. In the results table the finish time, disposition, fleet, handicap, skipper and selected columns are editable.

Each table has a context sensitive pop-up menu that appears when a row in the table is right-clicked.

Screen Layout. 

Table Sorting

Some of the tables visible in the main application screen can be sorted arbitrarily. In particular, the Entries table, Starts table and Results table can be sorted. Sorting is controlled by clicking in the column headers of the table.

  • Mouse Click - Each click in the same column header advances the sort state for the column. The first click causes the table to be sorted in ascending order by the values in the selected column. The second click causes the sort order to switch to descending. The third click clears the sort.

  • Shift-Click - Holding the Shift key down while clicking cycles the sorting states of the column through the same three values, in the opposite order (i.e, descending, ascending, cleared).

  • Ctrl-Click - Clicking in another column header cancels any existing sort unless the Ctrl key is held down. In other words, Ctrl clicking in different headers allows a compound sort to be specified. For example, click on the Fleet header in the results table and then Ctrl-click the Handicap header. The table will be sorted by fleet with entries in the same fleet ordered by handicap.



[1] In fact, these columns in the database are not null-able (defined with NOT NULL).