Scan Editor

Overview

The Scan Editor allows the user to modify the contents of individual Scans in an editable Scan List. The upper levels of the Scan editor are telescope independent but the actual editing panels are specific to the telescope being scheduled. The Scan Editor has a button bar for user function entry, mostly navigation amoung editing panels and scans, and a list of editing panels. A given editing panel has the option of refusing to display itself if none of its features are appropriate.

Before a Scan is given to the Scan Editor it is copied from its original list. This allows the user to cancel the editing with no modification to the original list. Since the editing is independent of the Source of the Scan it can be used for specialized purposes such as setting initial/default Scan values and for Global/Block Edits.

Classes

The Scan Editor is class GUI.ScanEditPanel and the Scan Editor Button bar is class GUI.ScanEditButtonBar. An array of Scan Editing Panels is created by Scan function makeEditPanels, the GUI.ScanEditButtonbar also has a list of the scan editing panels to display in a Choice.

Editing Methods

Scan editing panels keep pointers to two copies of the scan, the one being modified and one an unmodified copy if the user selects "Reset" to undo any modifications. Since all the editing panels maintain pointers to a single copy of the modified version of the Scan, modifications are synchronized amoung the various panels. When a panel is displayed, its contents are updated from the current Scan values. When a panel is removed from the display any modifications made by the user are copied to the working copy of the Scan.

The scan editor is mostly unaware of lists except that it allows users to traverse lists using the SrcUp and SrcDn buttons. Any modifications made to a Scan are saved (editable lists only) before going on to the next scan.

Generalized Scan Features

The detailed members of Scans depent of the particular telescope involved but Scans share some general features.

Default Scans

Each Scan may contain a pointer to a Scan in the NRAODefault and/or UserDefault list. Explicitly provided values take presidence over values from the User Default Scan which takes presidence over the NRAO Default Scan.

Fields

Scans contain single linked, null terminated lists of "Fields" derived from the FieldLink class which allows for the linkage and defines the fundamental functions of the Scan Fields. The derived classes (at least for the VLA: Field, Field4 ) allow for the storage of the data associated with these Fields as well as Present and Constant members. Constant is a boolean which indicates if the value is user editable and Present indicates the presence and/or providence of the associated value. Symbolic values are defined in class FieldLink: