diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs index ea4d6fe9..6344d24f 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs @@ -1272,6 +1272,7 @@ namespace VEPROMS this.tc.LinkModifyTran += new Volian.Controls.Library.StepPanelLinkEvent(this.tc_LinkModifyTran); this.tc.WordSectionDeleted += new Volian.Controls.Library.StepPanelWordSectionDeletedEvent(this.tc_WordSectionDeleted); this.tc.LinkModifyRO += new Volian.Controls.Library.StepPanelLinkEvent(this.tc_LinkModifyRO); + this.tc.SelectedDisplayTabItemChanged += new Volian.Controls.Library.DisplayTabControlEvent(this.tc_SelectedDisplayTabItemChanged); // // frmVEPROMS // diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index 898cc2b3..6ab7542a 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -1170,6 +1170,22 @@ namespace VEPROMS displayRO.RefreshRoTree(); } } + private void tc_SelectedDisplayTabItemChanged(object sender, EventArgs args) + { + // If the current procedure or section doesn't match then change it. + ItemInfo tvii = ((tv.SelectedNode as VETreeNode).VEObject) as ItemInfo; + if (tc.SelectedDisplayTabItem == null) return; + if (tc.SelectedDisplayTabItem.MyItemInfo.IsProcedure) + { + if (tvii == null || tvii.IsSection || tc.SelectedDisplayTabItem.MyItemInfo.ItemID != tvii.MyProcedure.ItemID) + tv.AdjustTree(tc.SelectedDisplayTabItem.MyItemInfo); + } + else + { + if (tvii == null || tc.SelectedDisplayTabItem.MyItemInfo.ItemID != tvii.ItemID) + tv.AdjustTree(tc.SelectedDisplayTabItem.MyItemInfo); + } + } private void tc_StepPanelModeChange(object sender, StepRTBModeChangeEventArgs args) { this.lblEditView.Text = args.ViewMode == E_ViewMode.Edit ? "Edit" : "View"; @@ -1179,6 +1195,7 @@ namespace VEPROMS private StepRTB _LastStepRTB = null; private void tc_ItemSelectedChanged(object sender, ItemSelectedChangedEventArgs args) { + ItemInfo tvSelected = (tv.SelectedNode as VETreeNode).VEObject as ItemInfo; if (_LastStepRTB != null && !_LastStepRTB.Disposing && !_LastStepRTB.Closed) _LastStepRTB.EditModeChanged -= new StepRTBEvent(_LastStepRTB_EditModeChanged); _LastStepRTB = args != null && args.MyEditItem != null ? args.MyEditItem.MyStepRTB : null;