diff --git a/PROMS/Volian.Controls.Library/StepPanel.cs b/PROMS/Volian.Controls.Library/StepPanel.cs index 1c171501..1e7a2f5e 100644 --- a/PROMS/Volian.Controls.Library/StepPanel.cs +++ b/PROMS/Volian.Controls.Library/StepPanel.cs @@ -57,6 +57,7 @@ namespace Volian.Controls.Library private Color _TabColor = Color.White; private Color _PanelColor = Color.White; #endif + internal string _LastAdjust=""; private bool _ShowLines = true; private Graphics _MyGraphics = null; private int _DPI = 0; @@ -293,7 +294,8 @@ namespace Volian.Controls.Library get { return _SelectedStepRTB; } set { - value.BackColor = ActiveColor; // Set the active color + if(value != null) + value.BackColor = ActiveColor; // Set the active color if (_SelectedStepRTB == value) return; // Same - No Change if (_SelectedStepRTB != null) { @@ -302,7 +304,7 @@ namespace Volian.Controls.Library _SelectedStepRTB.SaveConfig(); // This may be redundant } _SelectedStepRTB = value; - if (_SelectedItemInfo.ItemID != value.MyItemInfo.ItemID) + if (value != null && _SelectedItemInfo.ItemID != value.MyItemInfo.ItemID) SelectedItemInfo = value.MyItemInfo; //vlnStackTrace.ShowStack("_DisplayRTB = {0}", _DisplayRTB.MyItem.ItemID);// Show StackTrace } @@ -378,22 +380,6 @@ namespace Volian.Controls.Library } set { _MyStepPanelSettings = value;} } - // TODO: This needs to move to StepItem and use the format for the current section - /// - /// Gets the MaxRNO from the StepSectionLayoutData - /// - public int MaxRNO - { - get - { - if(_MaxRNO == -1) - { - int pmode = Convert.ToInt32(_MyStepSectionLayoutData.PMode) - 1; - _MaxRNO = Convert.ToInt32( _MyStepSectionLayoutData.MaxRNOTable.Split(",".ToCharArray())[pmode]); - } - return _MaxRNO; - } - } /// /// Gets or Sets the font for the Panel /// @@ -608,7 +594,7 @@ namespace Volian.Controls.Library private ItemInfo BottomPart(ItemInfo ii) { ExpandAsNeeded(ii); - if (ii.RNOs != null && ii.RNOLevel >= ii.Columns - 1) return BottomPart(ii.RNOs[0]); + if (ii.RNOs != null && ii.RNOLevel >= ii.ColumnMode) return BottomPart(ii.RNOs[0]); if (ii.Sections != null) return BottomPart(ii.Sections[0].LastSibling); if (ii.Steps != null) return BottomPart(ii.Steps[0].LastSibling); return ii; @@ -653,7 +639,7 @@ namespace Volian.Controls.Library { // if on RNO, check display mode (1 column/2 column, etc) and how deep RNO is before going to // parents substeps. - if (ii.IsRNO && ii.MyParent.Steps != null && ii.RNOLevel >= ii.Columns) return BottomPart(ii.MyParent.Steps[0].LastSibling); + if (ii.IsRNO && ii.MyParent.Steps != null && ii.RNOLevel >= ii.ColumnMode) return BottomPart(ii.MyParent.Steps[0].LastSibling); // If on top note and parent has cautions - go to bottom caution if (ii.IsNoteStructure && ii.MyParent != null && ii.MyParent.Cautions != null) return BottomPart(ii.MyParent.Cautions[0].LastSibling); @@ -691,7 +677,7 @@ namespace Volian.Controls.Library // (the lookAtSub prevented looping within a substep group at same level) if (lookAtSub && ii.Steps != null) return TopPart(ii.Steps[0]); // RNOs: Use PMode (column) - if (lookAtRNO && ii.RNOs != null && ii.RNOLevel >= ii.Columns - 1) return TopPart(ii.RNOs[0]); + if (lookAtRNO && ii.RNOs != null && ii.RNOLevel >= ii.ColumnMode) return TopPart(ii.RNOs[0]); // Nextsibling - go to top part of sibling if (ii.NextItems != null) return TopPart(ii.NextItems[0]); // If on caution, if parent has note - go to note diff --git a/PROMS/Volian.Controls.Library/StepPanel.designer.cs b/PROMS/Volian.Controls.Library/StepPanel.designer.cs index 8981d435..3fc72f10 100644 --- a/PROMS/Volian.Controls.Library/StepPanel.designer.cs +++ b/PROMS/Volian.Controls.Library/StepPanel.designer.cs @@ -15,7 +15,12 @@ namespace Volian.Controls.Library { if (disposing && (components != null)) { - //if (_DisplayRTB != null) _DisplayRTB.SaveText(); + SelectedStepRTB = null; // Save Changes + foreach (StepItem stepItem in _LookupStepItems.Values) + { + stepItem.MyItemInfo.ResetParts(); + stepItem.MyItemInfo.MyContent.RefreshContentParts(); + } components.Dispose(); } base.Dispose(disposing);