From 4c6ac2fda01d57060bcfee6d20f6722798c7b7e7 Mon Sep 17 00:00:00 2001 From: Kathy Date: Thu, 11 Feb 2016 14:02:50 +0000 Subject: [PATCH] B2015-226: RO Information was not refreshing after an update --- PROMS/VEPROMS User Interface/frmVEPROMS.cs | 8 ++++++++ PROMS/Volian.Controls.Library/vlnTreeView.cs | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/PROMS/VEPROMS User Interface/frmVEPROMS.cs b/PROMS/VEPROMS User Interface/frmVEPROMS.cs index d1c15652..b9c0e2d4 100644 --- a/PROMS/VEPROMS User Interface/frmVEPROMS.cs +++ b/PROMS/VEPROMS User Interface/frmVEPROMS.cs @@ -352,6 +352,7 @@ namespace VEPROMS tv.NodeSelect += new Volian.Controls.Library.vlnTreeViewEvent(tv_NodeSelect); tv.NodeNew += new vlnTreeViewEvent(tv_NodeNew); tv.OpenItem += new vlnTreeViewItemInfoEvent(tv_OpenItem); + tv.TabDisplay += new StepPanelTabDisplayEvent(tc_PanelTabDisplay); tv.DeleteItemInfo += new vlnTreeViewItemInfoDeleteEvent(tv_DeleteItemInfo); tv.InsertItemInfo += new vlnTreeViewItemInfoInsertEvent(tv_InsertItemInfo); tv.NodeInsert += new vlnTreeViewEvent(tv_NodeInsert); @@ -2882,8 +2883,15 @@ namespace VEPROMS else if (args.PanelTabName == "DisplayROUpdateROFST") { _SelectedROFst = null; + displayRO.MyROFST = SelectedROFst; // need this to update RO Tree after UpdateRofst (B2015-226) displayRO.MyROFSTLookup = SelectedROFst.GetROFSTLookup(SelectedDVI); displayRO.RefreshRoTree(); + // resetting the MyROFSTLookup for the search & reports panels will refresh the RO trees after UpdateRofst in each of those panels (B2015-226) + if (SelectedDVI != null) + { + displaySearch1.MyROFSTLookup = SelectedDVI.DocVersionAssociations[0].MyROFst.GetROFSTLookup(SelectedDVI); + displayReports.MyROFSTLookup = SelectedDVI.DocVersionAssociations[0].MyROFst.GetROFSTLookup(SelectedDVI); + } } } private void tc_SelectedDisplayTabItemChanged(object sender, EventArgs args) diff --git a/PROMS/Volian.Controls.Library/vlnTreeView.cs b/PROMS/Volian.Controls.Library/vlnTreeView.cs index 17548819..633e5170 100644 --- a/PROMS/Volian.Controls.Library/vlnTreeView.cs +++ b/PROMS/Volian.Controls.Library/vlnTreeView.cs @@ -568,6 +568,14 @@ namespace Volian.Controls.Library { if (OpenItem != null) OpenItem(sender, args); } + // This event was added to update the Step Properties/RO & Tools/Search RO & Reports + // when an update of ro.fst is done & the ro trees on those panels needs refreshed. + // (bug fix B2015-226) + public event StepPanelTabDisplayEvent TabDisplay; + private void OnTabDisplay(object sender, StepPanelTabDisplayEventArgs args) + { + if (TabDisplay != null) TabDisplay(sender, args); + } #endregion #region Constructors public vlnTreeView() @@ -1703,7 +1711,7 @@ namespace Volian.Controls.Library roFstInfo.ROTableUpdate += new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate); ROFst newrofst = ROFstInfo.UpdateRoFst(roFstInfo.MyRODb, dv.DocVersionAssociations[0], dv, roFstInfo, DoProgressBarRefresh); roFstInfo.ROTableUpdate -= new ROFstInfoROTableUpdateEvent(roFstInfo_ROTableUpdate); - StepPanelTabDisplayEventArgs args = new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST"); + OnTabDisplay(this, new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST")); } MySessionInfo.CheckInItem(ownerid); Cursor = Cursors.Default; @@ -2016,7 +2024,15 @@ namespace Volian.Controls.Library if ((tn.VEObject as FolderInfo) != null) OpenProperties(tn.VEObject as FolderInfo); else if ((tn.VEObject as DocVersionInfo) != null) + { + // see if rofst is changed, if so, need to refresh any step panel values. + int rofstid = 0; + DocVersionInfo dvi = tn.VEObject as DocVersionInfo; + if (dvi != null && dvi.DocVersionAssociations != null && dvi.DocVersionAssociations.Count > 0) rofstid = dvi.DocVersionAssociations[0].MyROFst.ROFstID; OpenProperties(tn.VEObject as DocVersionInfo); + if (dvi != null && dvi.DocVersionAssociations != null && dvi.DocVersionAssociations.Count > 0 && rofstid != dvi.DocVersionAssociations[0].MyROFst.ROFstID) + OnTabDisplay(this,new StepPanelTabDisplayEventArgs("DisplayROUpdateROFST")); + } else if ((tn.VEObject as ProcedureInfo) != null) OpenProperties(tn.VEObject as ProcedureInfo); else if ((tn.VEObject as SectionInfo) != null)