/// <summary>
            /// This item has been selected.
            /// Setup the proper control to edit the state in the given form.
            /// </summary>
            public override void InitializeStateControls(JunctionWithStateSetEditorForm form)
            {
                form.udTurnTablePosition.Minimum = 0;
                form.udTurnTablePosition.Maximum = int.MaxValue;
                form.udTurnTablePosition.Value   = Position;

                var tt = (ITurnTable)Junction;

                form.udTurnTablePosition.Minimum = tt.FirstPosition;
                form.udTurnTablePosition.Maximum = tt.LastPosition;
                form.udTurnTablePosition.Visible = true;
                form.udTurnTablePosition.Enabled = true;
            }
 /// <summary>
 /// This item has been selected.
 /// Setup the proper control to edit the state in the given form.
 /// </summary>
 public abstract void InitializeStateControls(JunctionWithStateSetEditorForm form);
 /// <summary>
 /// This item has been selected.
 /// Setup the proper control to edit the state in the given form.
 /// </summary>
 public override void InitializeStateControls(JunctionWithStateSetEditorForm form)
 {
     form.cbSwitchDirection.SelectedItem = Direction;
     form.cbSwitchDirection.Visible      = true;
     form.cbSwitchDirection.Enabled      = true;
 }
 /// <summary>
 /// This item has been selected.
 /// Setup the proper control to edit the state in the given form.
 /// </summary>
 public override void InitializeStateControls(JunctionWithStateSetEditorForm form)
 {
     form.cbSwitchDirection.Visible = false;
     form.cbSwitchDirection.Enabled = false;
 }