Compare commits

..
4 changed files with 37 additions and 50 deletions
+29 -38
View File
@@ -1,23 +1,15 @@
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data; using System.Data;
using System.Drawing; using System.Drawing;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using System.IO; using System.IO;
using System.Configuration;
using System.Reflection;
using VEPROMS.CSLA.Library; using VEPROMS.CSLA.Library;
//using Csla;
using DevComponents;
using DevComponents.DotNetBar; using DevComponents.DotNetBar;
using DevComponents.DotNetBar.Rendering; using DevComponents.DotNetBar.Rendering;
using VEPROMS.Properties; using VEPROMS.Properties;
using Volian.Controls.Library; using Volian.Controls.Library;
using DescriptiveEnum;
using Volian.Base.Library; using Volian.Base.Library;
using Volian.Print.Library; using Volian.Print.Library;
using JR.Utils.GUI.Forms; using JR.Utils.GUI.Forms;
@@ -1610,7 +1602,7 @@ namespace VEPROMS
displayRO.MyROFST = SelectedROFst; displayRO.MyROFST = SelectedROFst;
// B2023-021: force Load of Step Prop/RO panel RO tree by passing in // B2023-021: force Load of Step Prop/RO panel RO tree by passing in
// true to LoadTree // true to LoadTree
if (!_WeAreExitingPROMS) displayRO.LoadTree(true); if (!_WeAreExitingPROMS) displayRO.LoadTree(this,true);
} }
} }
@@ -1846,7 +1838,7 @@ namespace VEPROMS
// should be closed or if we should exit PROMS or just Cancel to continue working // should be closed or if we should exit PROMS or just Cancel to continue working
if (tc._MyDisplayTabItems.Count < 1) // If all thabs are closed in the editor will indicate that in the database. if (tc._MyDisplayTabItems.Count < 1) // If all thabs are closed in the editor will indicate that in the database.
{ {
VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID); Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
} }
if (!_WeAreExitingPROMS && !ClosingWithError && tc.SelectedDisplayTabItem != null && tc._MyDisplayTabItems.Count > 0) if (!_WeAreExitingPROMS && !ClosingWithError && tc.SelectedDisplayTabItem != null && tc._MyDisplayTabItems.Count > 0)
{ {
@@ -1864,7 +1856,7 @@ namespace VEPROMS
return; return;
} }
string stk = Volian.Base.Library.vlnStackTrace.StackToString(); string stk = vlnStackTrace.StackToString();
if (!stk.Contains("Exception")) if (!stk.Contains("Exception"))
{ {
@@ -1872,33 +1864,28 @@ namespace VEPROMS
// B2019-071 we will now close one or all of the tabs (even step editor ones) // B2019-071 we will now close one or all of the tabs (even step editor ones)
if (_WeAreExitingPROMS) if (_WeAreExitingPROMS)
{ {
string DisplayTabID = "";
int pos;
int TabItemID;
string DisplayTabName = "";
int cnt = 0;
// Deactivate previous procedure tab state by user // Deactivate previous procedure tab state by user
VEPROMS.CSLA.Library.Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID); Item.DeactivateStateDisplayTabTmp(MySessionInfo.UserID);
// Save current procedure tab state // Save current procedure tab state
//B2024-082 Remember Tabs Not opening in correct order //B2024-082 Remember Tabs Not opening in correct order
int cnt = 0;
foreach (DisplayTabItem dti in tc.MyBar.Items) foreach (DisplayTabItem dti in tc.MyBar.Items)
{ {
cnt++; cnt++;
DisplayTabID = dti.MyKey; ItemInfo itminfo = dti.MyItemInfo;
TabItemID = dti.MyItemInfo.ItemID; string DisplayTabID = dti.MyKey;
DisplayTabName = dti.ToString(); string DisplayTabName = dti.ToString();
Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt); // B2026-074 if a Word section, save the ItemID of the entire Word section
// else if a Step Editor section, save the ItemID of the step part the user was on
int TabItemID = itminfo.HasWordContent ? itminfo.ItemID : dti.MyStepTabPanel.MyStepTabRibbon.MyEditItem.MyItemInfo.ItemID;
Item.AddDisplayTabsState(TabItemID, DisplayTabID, DisplayTabName, MySessionInfo.UserID, cnt);
} }
} }
int n = tc._MyDisplayTabItems.Count; int n = tc._MyDisplayTabItems.Count;
while (n-- > 0 && tc._MyDisplayTabItems.Count > 0) while (n-- > 0 && tc._MyDisplayTabItems.Count > 0)
{ {
tc.CloseTabItem(tc.SelectedDisplayTabItem); tc.CloseTabItem(tc.SelectedDisplayTabItem);
// B2019-071 close just the current tab and continue working // B2019-071 close just the current tab and continue working
if (!dctoe.ExitPROMS) if (!dctoe.ExitPROMS)
{ {
@@ -2543,13 +2530,13 @@ namespace VEPROMS
} }
// Add retrieve displaytabs state here. // Add retrieve displaytabs state here.
openDisplaytabstate(); OpenDisplaytabstate();
} }
public void openDisplaytabstate() private void OpenDisplaytabstate()
{ {
// Retrieve edit tab state from database. // Retrieve edit tab state from database.
DataTable DisPlayTabState = VEPROMS.CSLA.Library.Item.GetDisplayTabs(VlnSettings.UserID); DataTable DisPlayTabState = Item.GetDisplayTabs(VlnSettings.UserID);
//CSM - C2024-031 - Getting User Settings //CSM - C2024-031 - Getting User Settings
//and set checkboxes based on what they are set to //and set checkboxes based on what they are set to
@@ -2569,9 +2556,12 @@ namespace VEPROMS
usersettings.SetUserSettings(true, result == DialogResult.Yes); usersettings.SetUserSettings(true, result == DialogResult.Yes);
} }
if (result == DialogResult.Yes) if (result == DialogResult.Yes)
{ {
// B2026-074 added flag (LoadingSavedProcTabs) to supress unnecessary event calls
// this will help prevent PROMS from getting stuck continuously looping through the same events
// when Word procedure tabs are restored.
tc.LoadingSavedProcTabs = true;
foreach (DataRow TabState in DisPlayTabState.Rows) foreach (DataRow TabState in DisPlayTabState.Rows)
{ {
int _ItemID = (int)TabState["ItemID"]; int _ItemID = (int)TabState["ItemID"];
@@ -2579,7 +2569,7 @@ namespace VEPROMS
// Open procedure in the editor. // Open procedure in the editor.
if (_Procedure == null) continue; //skip and continue with foreach if (_Procedure == null) continue; //skip and continue with foreach
OpenItem(_Procedure); OpenItem(_Procedure);
if (tc.MyEditItem == null) continue; // skip and continue with foreach if (tc.MyEditItem == null) continue; // skip and continue with foreach
// SelectedStepTabPanel needs to be set so the print buttons on the ribbon will work. // SelectedStepTabPanel needs to be set so the print buttons on the ribbon will work.
SelectedStepTabPanel = tc.MyEditItem.MyStepPanel.MyStepTabPanel; SelectedStepTabPanel = tc.MyEditItem.MyStepPanel.MyStepTabPanel;
@@ -2594,6 +2584,7 @@ namespace VEPROMS
SpellChecker.MyEditItem = tc.MyEditItem; //B2025-043 Remember Tabs is not setting the EditItem for the active window causing a PROMS crash when Spell Check SpellChecker.MyEditItem = tc.MyEditItem; //B2025-043 Remember Tabs is not setting the EditItem for the active window causing a PROMS crash when Spell Check
} }
} }
tc.LoadingSavedProcTabs = false;
} }
} }
} }
@@ -4374,7 +4365,7 @@ namespace VEPROMS
displayRO.MyRTB = (SelectedStepTabPanel == null) ? null : displayRO.MyRTB = (SelectedStepTabPanel == null) ? null :
SelectedStepTabPanel.MyStepPanel.SelectedEditItem == null ? null : SelectedStepTabPanel.MyStepPanel.SelectedEditItem.MyStepRTB; SelectedStepTabPanel.MyStepPanel.SelectedEditItem == null ? null : SelectedStepTabPanel.MyStepPanel.SelectedEditItem.MyStepRTB;
displayRO.LoadTree(); //B2022-026 RO Memory reduction coding (Jakes Merge) displayRO.LoadTree(this); //B2022-026 RO Memory reduction coding (Jakes Merge)
} }
#endregion #endregion
@@ -4528,7 +4519,7 @@ namespace VEPROMS
// need this to update RO Tree after UpdateRofst (B2015-226) // need this to update RO Tree after UpdateRofst (B2015-226)
// B2022-026 RO Memory reduction coding (Jakes Merge) // B2022-026 RO Memory reduction coding (Jakes Merge)
displayRO.MyROFST = SelectedROFst; displayRO.MyROFST = SelectedROFst;
displayRO.LoadTree(); displayRO.LoadTree(this);
// resetting the MyROFSTLookup for the search & reports panels will refresh the RO trees after UpdateRofst in each of those panels (B2015-226) // 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) if (SelectedDVI != null)
@@ -4603,7 +4594,7 @@ namespace VEPROMS
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// if ROFST got updated, // if ROFST got updated,
// set the Selected FST so it is in sync // set the Selected FST so it is in sync
if (!_WeAreExitingPROMS && displayRO.LoadTree(true)) if (!_WeAreExitingPROMS && displayRO.LoadTree(this,true))
{ {
SelectedROFst = displayRO.MyROFST; SelectedROFst = displayRO.MyROFST;
} }
@@ -4723,7 +4714,7 @@ namespace VEPROMS
// B2022-026 RO Memory reduction coding (Jakes Merge) // B2022-026 RO Memory reduction coding (Jakes Merge)
displayRO.MyRTB = null; displayRO.MyRTB = null;
displayRO.LoadTree(); displayRO.LoadTree(this);
} }
infotabTags.Visible = false; infotabTags.Visible = false;
@@ -4810,7 +4801,7 @@ namespace VEPROMS
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// if ROFST got updated, // if ROFST got updated,
// set the Selected FST so it is in sync // set the Selected FST so it is in sync
if (!_WeAreExitingPROMS && displayRO.LoadTree()) if (!_WeAreExitingPROMS && displayRO.LoadTree(this))
{ {
SelectedROFst = displayRO.MyROFST; SelectedROFst = displayRO.MyROFST;
} }
@@ -4843,7 +4834,7 @@ namespace VEPROMS
// B2022-026 RO Memory reduction coding (Jakes Merge) // B2022-026 RO Memory reduction coding (Jakes Merge)
displayRO.SetFindDocROButton(false); displayRO.SetFindDocROButton(false);
if (!_WeAreExitingPROMS) displayRO.LoadTree(); if (!_WeAreExitingPROMS) displayRO.LoadTree(this);
//C2019-036 View Only mode work with Checked Out Procedures //C2019-036 View Only mode work with Checked Out Procedures
//In View Only Mode - Step Properties should be disabled //In View Only Mode - Step Properties should be disabled
@@ -4864,7 +4855,7 @@ namespace VEPROMS
displayRO.ROTypeFilter = E_ROValueType.All; // allow all RO types for Word attachments (but fix) displayRO.ROTypeFilter = E_ROValueType.All; // allow all RO types for Word attachments (but fix)
displayRO.SetFindDocROButton(true); displayRO.SetFindDocROButton(true);
displayRO.LoadTree(); displayRO.LoadTree(this);
} }
} }
@@ -4996,7 +4987,7 @@ namespace VEPROMS
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// if ROFST got updated, // if ROFST got updated,
// set the Selected FST so it is in sync // set the Selected FST so it is in sync
if (displayRO.LoadTree()) if (displayRO.LoadTree(this))
{ {
SelectedROFst = displayRO.MyROFST; SelectedROFst = displayRO.MyROFST;
} }
+2 -6
View File
@@ -1,12 +1,7 @@
using System; using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text; using System.Text;
using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using VEPROMS.CSLA.Library; using VEPROMS.CSLA.Library;
using Volian.Controls.Library;
using System.Reflection; using System.Reflection;
using LBWordLibrary; using LBWordLibrary;
using JR.Utils.GUI.Forms; using JR.Utils.GUI.Forms;
@@ -607,7 +602,8 @@ namespace Volian.Controls.Library
if (_In_DSOTabPanel_Enter) return; if (_In_DSOTabPanel_Enter) return;
//vlnStackTrace.ShowStack("DSOTabPanel_Enter {0} DocID {1} Index {2} {3}",_In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName); //vlnStackTrace.ShowStack("DSOTabPanel_Enter {0} DocID {1} Index {2} {3}",_In_DSOTabPanel_Enter, this._MyDocumentInfo.DocID, _MyDisplayTabControl.MyBar.SelectedDockTab, sender.GetType().FullName);
_In_DSOTabPanel_Enter = true; _In_DSOTabPanel_Enter = true;
if (MyDisplayTabItem.MyItemInfo != null) // B2026-074 only do this if we are not restoring save procedure tabs
if (MyDisplayTabItem.MyItemInfo != null && !_MyDisplayTabControl.LoadingSavedProcTabs)
_MyDisplayTabControl.OnItemSelectedChanged(this,new ItemSelectedChangedEventArgs(MyDisplayTabItem.MyItemInfo)); _MyDisplayTabControl.OnItemSelectedChanged(this,new ItemSelectedChangedEventArgs(MyDisplayTabItem.MyItemInfo));
_MyEdWord.Focus(); _MyEdWord.Focus();
_In_DSOTabPanel_Enter = false; _In_DSOTabPanel_Enter = false;
+2 -3
View File
@@ -7,7 +7,6 @@ using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using VEPROMS.CSLA.Library; using VEPROMS.CSLA.Library;
using Volian.Base.Library; using Volian.Base.Library;
@@ -622,7 +621,7 @@ namespace Volian.Controls.Library
//C2026-008 Re-Architect RO.FST to include RO Modification date/time //C2026-008 Re-Architect RO.FST to include RO Modification date/time
// changed to return true if the RO FST got updated // changed to return true if the RO FST got updated
public bool LoadTree(bool forceReload = false) public bool LoadTree(IWin32Window mainForm, bool forceReload = false)
{ {
bool updatedROs = false; bool updatedROs = false;
@@ -653,7 +652,7 @@ namespace Volian.Controls.Library
} }
else if (changedDocVersion && !askedAboutchangedDocVersion && !ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID)) else if (changedDocVersion && !askedAboutchangedDocVersion && !ROWorkingDraftAsk.ContainsWorkingDraft(_docVersionInfo.VersionID))
{ {
if (MessageBox.Show($"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes) if (MessageBox.Show(mainForm,$"There exists a newer ROFST for this RO database that was loaded for other sets.\r\n\r\nDo you want to update this set's ROs to be consistent/use the latest loaded ROFST?", "Load ROs", MessageBoxButtons.YesNo) == DialogResult.Yes)
{ {
InitialProgressBarMessage = "Updating ROs"; InitialProgressBarMessage = "Updating ROs";
@@ -1,12 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Data; using System.Data;
using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using VEPROMS.CSLA.Library; using VEPROMS.CSLA.Library;
using Volian.Controls.Library;
using DevComponents.DotNetBar; using DevComponents.DotNetBar;
using JR.Utils.GUI.Forms; using JR.Utils.GUI.Forms;
using Volian.Base.Library; using Volian.Base.Library;
@@ -59,6 +56,9 @@ namespace Volian.Controls.Library
private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); private static readonly log4net.ILog _MyLog = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
#endregion #endregion
// B2026-074 added flag to use when restoring saved procedure tabs
public bool LoadingSavedProcTabs { get; set; } = false;
private static bool _SyncronizeEnahnced = false; private static bool _SyncronizeEnahnced = false;
public static bool SyncronizeEnhanced public static bool SyncronizeEnhanced
{ {
@@ -1282,6 +1282,7 @@ namespace Volian.Controls.Library
get { return _SyncEnhancedDocuments; } get { return _SyncEnhancedDocuments; }
set { _SyncEnhancedDocuments = value; } set { _SyncEnhancedDocuments = value; }
} }
public void HandleChangeId(ItemInfo myItemInfo, DisplayTabItem pg) public void HandleChangeId(ItemInfo myItemInfo, DisplayTabItem pg)
{ {
if (myItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds) if (myItemInfo.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData.ChangeIds)