Compare commits
10 Commits
F2025-038_
...
C2025-060
| Author | SHA1 | Date | |
|---|---|---|---|
| caeead0bc0 | |||
| f93204e37e | |||
| e6af91c6ab | |||
| c89428eed8 | |||
| b4f2b89139 | |||
| aab7cdcf77 | |||
| 47cdedefd4 | |||
| 710145a32d | |||
| 2783d2cc77 | |||
| a7a5df1991 |
Binary file not shown.
@@ -13,6 +13,8 @@ using System.Text.RegularExpressions;
|
||||
using System.Globalization;
|
||||
using DevComponents.DotNetBar;
|
||||
using JR.Utils.GUI.Forms;
|
||||
using Volian.Controls.Library;
|
||||
using System.Linq;
|
||||
|
||||
namespace VEPROMS
|
||||
{
|
||||
@@ -1321,6 +1323,26 @@ namespace VEPROMS
|
||||
|
||||
// Clear the change bar override for this procedure:
|
||||
pi.ClearChangeBarOverrides();
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
ProcedureInfo newproc = ItemInfo.ResetProcedure(pi.ItemID);
|
||||
|
||||
//// Refresh the StepPanel for the current Procedure
|
||||
//// so change bars update
|
||||
//// on any open StepPanel
|
||||
DisplayTabItem dti = MyFrmVEPROMS.GetTabContainingProcedure(pi.ItemID);
|
||||
if (dti != null)
|
||||
{
|
||||
if (!dti.MyStepTabPanel.MyStepPanel.ContainsFocus)
|
||||
dti.MyStepTabPanel.MyStepPanel.Focus();
|
||||
|
||||
foreach (EditItem eitm in dti.MyStepTabPanel.MyStepPanel.Controls.OfType<EditItem>())
|
||||
eitm.ChangeBar = eitm.MyItemInfo.HasChangeBar;
|
||||
}
|
||||
|
||||
//since in a separate form, need to update the tree view
|
||||
//so "Showing Change Bars" Content Menu Item is correct
|
||||
MyFrmVEPROMS.RefreshProcedureNode(newproc);
|
||||
}
|
||||
else
|
||||
UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS, selectedSlave);
|
||||
|
||||
@@ -589,6 +589,25 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
// Get the displaytab containing the procedure
|
||||
// if none exists, return null
|
||||
public DisplayTabItem GetTabContainingProcedure(int procid) => tc?.MyBar?.Items?.OfType<DisplayTabItem>().FirstOrDefault(x => x.MyItemInfo?.ItemID == procid);
|
||||
// Refresh Node in Tree
|
||||
// Used for when Change Bar Updates as part of approval.
|
||||
public void RefreshProcedureNode(ProcedureInfo itm)
|
||||
{
|
||||
VETreeNode tn = tv.FindNode(itm, tv.Nodes);
|
||||
var tmp = (ProcedureInfo)tn?.VEObject;
|
||||
if (tmp != null)
|
||||
{
|
||||
tmp.ChangeBarDate = itm.ChangeBarDate;
|
||||
tmp.MyConfig = itm.MyConfig;
|
||||
}
|
||||
|
||||
tn?.RefreshNode();
|
||||
}
|
||||
|
||||
void tv_SelectDateToStartChangeBars(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
@@ -606,6 +625,23 @@ namespace VEPROMS
|
||||
itm.MyContent.Config = pc.ToString();
|
||||
itm.UserID = Volian.Base.Library.VlnSettings.UserID;
|
||||
itm.Save();
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
// Reset a Procedure and sub items in the cache
|
||||
ProcedureInfo newproc = ItemInfo.ResetProcedure(pi.ItemID);
|
||||
|
||||
//// Refresh the StepPanel for the current Procedure
|
||||
//// so change bars update
|
||||
//// on any open StepPanel
|
||||
DisplayTabItem dti = GetTabContainingProcedure(pi.ItemID);
|
||||
if (dti != null)
|
||||
{
|
||||
if (!dti.MyStepTabPanel.MyStepPanel.ContainsFocus)
|
||||
dti.MyStepTabPanel.MyStepPanel.Focus();
|
||||
|
||||
foreach (EditItem eitm in dti.MyStepTabPanel.MyStepPanel.Controls.OfType<EditItem>())
|
||||
eitm.ChangeBar = eitm.MyItemInfo.HasChangeBar;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5344,6 +5380,8 @@ namespace VEPROMS
|
||||
private void btnUpdateFormat_Click(object sender, EventArgs e)
|
||||
{
|
||||
UpdateFormats(null);
|
||||
//C2025-060 When format is updated in PROMS, auto-update the format cache so it doesn't require exiting PROMS and going back in.
|
||||
RefreshFormats(sender, null);
|
||||
}
|
||||
|
||||
private void UpdateFormats(string mypath)
|
||||
|
||||
@@ -3819,6 +3819,51 @@ namespace VEPROMS.CSLA.Library
|
||||
_Tables = null;
|
||||
_SupInfos = null;
|
||||
}
|
||||
|
||||
//B2019-140 Change bars do not get refreshed when approval is run.
|
||||
// Reset a Procedure and sub items in the cache
|
||||
public static ProcedureInfo ResetProcedure(int procID)
|
||||
{
|
||||
// The following lines reload the procedure info cache
|
||||
ProcedureInfo newproc = ProcedureInfo.Get(procID, true);
|
||||
newproc.RefreshConfig();
|
||||
|
||||
//the following is needed to force the ProcedureConfig to reload
|
||||
#pragma warning disable S1656 // Variables should not be self-assigned
|
||||
newproc.MyConfig = newproc.MyConfig;
|
||||
#pragma warning restore S1656 // Variables should not be self-assigned
|
||||
|
||||
//reload the Content Cache for the procedure
|
||||
ContentInfo.Refresh(Content.Get(newproc.MyContent.ContentID, true));
|
||||
|
||||
// The following line actually reloads the item info cache
|
||||
ItemInfo newprocitem = Get(procID, true);
|
||||
newprocitem.RefreshConfig();
|
||||
|
||||
//Reload all the child/sub items
|
||||
#pragma warning disable S2971 // LINQ expressions should be simplified - need initial ToList to force enumeration
|
||||
//otherwise will get a "Collection was modified; enumeration operation may not execute" error
|
||||
List<int> itemIDs = _CacheByPrimaryKey.Values.ToList().SelectMany(y => y).Where(t => t?.ActiveParent != null && (t.ActiveParent is ItemInfo) && t.MyProcedure.ItemID == procID).Select(x => (x.ActiveParent as ItemInfo).ItemID).Distinct().ToList();
|
||||
#pragma warning restore S2971 // LINQ expressions should be simplified
|
||||
for (int index = 0; index < itemIDs.Count; index++)
|
||||
{
|
||||
ResetParts(itemIDs[index]);
|
||||
}
|
||||
|
||||
//reset the procedure config for all items attached to current procedure
|
||||
#pragma warning disable S2971 // LINQ expressions should be simplified - need initial ToList to force enumeration
|
||||
//otherwise will get a "Collection was modified; enumeration operation may not execute" error
|
||||
List<ItemInfo> pconfigrefresh_items = _CacheByPrimaryKey.Values.ToList().SelectMany(y => y).Where(t => t?.MyProcedure?.ItemID == procID).Distinct().ToList();
|
||||
#pragma warning restore S2971 // LINQ expressions should be simplified
|
||||
for (int index = 0; index < pconfigrefresh_items.Count; index++)
|
||||
{
|
||||
pconfigrefresh_items[index].MyProcedure = newproc;
|
||||
}
|
||||
|
||||
//return the changed procedure info
|
||||
return newproc;
|
||||
}
|
||||
|
||||
private ItemInfoList _Procedures;
|
||||
public ItemInfoList Procedures
|
||||
{ get { return Lookup(E_FromType.Procedure, ref _Procedures); } }
|
||||
|
||||
@@ -1667,7 +1667,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
Clipboard.Clear();
|
||||
Clipboard.SetDataObject(myDO); // this saves the cleaned up information to the Windows clipboard
|
||||
Clipboard.SetDataObject(myDO, true); // this saves the cleaned up information to the Windows clipboard
|
||||
}
|
||||
iData = Clipboard.GetDataObject();
|
||||
bool noEquationData = true;
|
||||
|
||||
@@ -6456,8 +6456,11 @@ namespace Volian.Print.Library
|
||||
{
|
||||
if (itemInfo.MyDocStyle.AlignHLSTabWithSect || itemInfo.FormatStepData.AlignHLSTabWithSectOvride)
|
||||
{
|
||||
float orgXOffset = MyTab.XOffset;
|
||||
myTab.XOffset = (float)itemInfo.MyDocStyle.Layout.LeftMargin + (float)formatInfo.PlantFormat.FormatData.SectData.SectionHeader.Pos;
|
||||
XOffset = myTab.XOffset + myTab.Width;
|
||||
// F2025-040 Adjust the Cont Act box position around HLS number
|
||||
if (myTab.MyMacro != null) myTab.MyMacro.XOffset += (MyTab.XOffset - orgXOffset);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user