This is what I propose:
We should be able to create the alignment, which would either be by import alignment from XML, create from polyline (if closed then select vertex at "zero", or by points. If by points then the user needs entry that allows for designating connections are lines or curves (circular or spiral).
Once the alignment is created, then the Objective Type is a separate interface with two main options: Station/Interval/Offset and Specify Station and Offset
For Station/Interval/Offset:
When this option is selected, then the Specify Station and Offset option is gray.
The checkboxes for Station/Interval/Offset are
Stations (Y/N) Station Interval: ______ Station Interval in Curves:______ (default is the same as Station Interval) Vertices, PC's, PT's (Y/N) Offset (Y/N) L(Y/N) Offset Distance ____ R(Y/N) Offset Distance______ Center Y/N
The user could stake stations or choose not to. If not, then the interval options would be gray. With vertices, PC's, PT's checked and stations off, then the user would stake just those vertices and the start and end of curves in the alignment. If Stations are on, but vertices, PC's and PT's are off, then the user would only stake the stations at the designated interval. Sometimes it is necessary to increase the interval in curves to better depict the curve on the ground, so a separate curve interval option is given (usually it is 2x the interval). If Offset is checked on, then the option to stake offset left, offset right, and center are given. For offset left, a specific offset distance is given. For offset right a specific offset is given. For center, there is no offset. If Offset is off, then it is assumed that the center is being staked and the options are all gray. With offsets on, the stakeout sequence would be L C R at the first station, the R C L at the second station, the L C R, alternating. The user should be able to advance to the next stake point if desired.
For Specify Station and Offset:
On the same Objective Type screen the user can specify a particular station and offset. When this objective is selected, the Station/Interval/Offset option is gray.
The Interface prompts for Station______, Offset Distance_______, Offset Direction R L
For both Objectives, a preview shows the point/points to be staked. Design points are created as the points are staked at the specified station and offset, but not until Accept/Accept As are used.
The option to get the design elevation from a selected surface should also be available.