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:
- Failed - An attempt to compute this value failed; no value is present.
- NotPresent - No value is present.
- ComputedValue - A value is present which was calculated from
other information.
- ExplicitValue - A user provided value is present.
- NRAODefaultValue - A value is present and was obtained from the
NRAO Default Scan.
- UserDefaultValue - A value is present and was obtained from the
User Default Scan.