C2015-022 Separate Windows Upgrade – supporting code for child windows
This commit is contained in:
parent
4b3fd3a702
commit
400ef655c7
10
PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
generated
10
PROMS/VEPROMS User Interface/frmVEPROMS.Designer.cs
generated
@ -1,6 +1,6 @@
|
||||
namespace VEPROMS
|
||||
{
|
||||
partial class frmVEPROMS
|
||||
partial class frmVEPROMS
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@ -1607,8 +1607,8 @@ namespace VEPROMS
|
||||
private DevComponents.DotNetBar.TabItem infotabTags;
|
||||
private DevComponents.DotNetBar.PanelEx panelEx1;
|
||||
|
||||
private DevComponents.DotNetBar.Controls.CheckBoxX checkBoxX1;
|
||||
private System.Windows.Forms.CheckedListBox checkedListBox1;
|
||||
//private DevComponents.DotNetBar.Controls.CheckBoxX checkBoxX1;
|
||||
//private System.Windows.Forms.CheckedListBox checkedListBox1;
|
||||
|
||||
//private System.Windows.Forms.PropertyGrid pg;
|
||||
private DevComponents.DotNetBar.LabelItem labelItem9;
|
||||
@ -1617,7 +1617,7 @@ namespace VEPROMS
|
||||
private DevComponents.DotNetBar.SuperTooltip superTooltip1;
|
||||
private System.Windows.Forms.BindingSource itemAnnotationsBindingSource;
|
||||
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
//private System.Windows.Forms.CheckBox checkBox1;
|
||||
//private DevComponents.DotNetBar.Controls.GroupPanel groupPanel2;
|
||||
//private DevComponents.DotNetBar.Controls.GroupPanel groupPanel1;
|
||||
//private DevComponents.DotNetBar.Controls.GroupPanel groupPanel3;
|
||||
@ -1631,7 +1631,7 @@ namespace VEPROMS
|
||||
private DevComponents.DotNetBar.GalleryGroup galleryGroup3;
|
||||
|
||||
//private DevComponents.DotNetBar.Controls.GroupPanel groupPanel4;
|
||||
private DevComponents.DotNetBar.Controls.ComboBoxEx comboBoxEx1;
|
||||
//private DevComponents.DotNetBar.Controls.ComboBoxEx comboBoxEx1;
|
||||
private DevComponents.DotNetBar.NavigationPanePanel navigationPanePanel2;
|
||||
private DevComponents.DotNetBar.TabControlPanel infotabControlPanelRO;
|
||||
private DevComponents.DotNetBar.TabItem infotabRO;
|
||||
|
@ -172,6 +172,7 @@ namespace VEPROMS
|
||||
get { return _MyDocVersion; }
|
||||
set { _MyDocVersion = value; }
|
||||
}
|
||||
// C2015-022 setup the child PROMS window
|
||||
public frmVEPROMS(frmVEPROMS myParent, DocVersionInfo myDocVersion)
|
||||
{
|
||||
MyParent = myParent;
|
||||
@ -182,6 +183,11 @@ namespace VEPROMS
|
||||
displaySearch1.TopFolderID = myDocVersion.FolderID;
|
||||
SelectedDVI = myDocVersion;
|
||||
tc.VersionID = myDocVersion.VersionID;
|
||||
tc.SeparateWindows = true; // need to set this in child window for goto Outside Transitions
|
||||
displayBookMarks.MyBookMarks = MyParent.displayBookMarks.MyBookMarks;
|
||||
displayBookMarks.SetupBookMarks(); // setup bookmarks in the child window
|
||||
tc.MyCopyStep = myParent.tc.MyCopyStep; // copy the copystep info to the child window
|
||||
(tv.Nodes[0] as VETreeNode).InChildWindow = true; // tells us this folder's tree nodes are in the child window
|
||||
}
|
||||
public void OpenItem(ItemInfo myItemInfo)
|
||||
{
|
||||
@ -288,7 +294,7 @@ namespace VEPROMS
|
||||
string db = Volian.Base.Library.VlnSettings.GetDB();
|
||||
if(db != null)
|
||||
Database.SelectedDatabase = db;
|
||||
if (Properties.Settings.Default["DefaultDB"] != string.Empty)
|
||||
if ((string)Properties.Settings.Default["DefaultDB"] != string.Empty)
|
||||
Database.LastDatabase = Properties.Settings.Default.DefaultDB;
|
||||
// Setup the Context menu for DisplaySearch including the symbols
|
||||
displaySearch1.SetupContextMenu();
|
||||
@ -326,6 +332,7 @@ namespace VEPROMS
|
||||
}
|
||||
SetupFolder(1);
|
||||
tc.VersionID = 0;
|
||||
tc.SeparateWindows = Properties.Settings.Default.SeparateWindows;
|
||||
tv.PauseRefresh += tv_PauseRefresh;
|
||||
tv.UnPauseRefresh += tv_UnPauseRefresh;
|
||||
}
|
||||
@ -410,8 +417,23 @@ namespace VEPROMS
|
||||
tv.Processing += tv_Processing;
|
||||
tv.CreateContinuousActionSummary += new vlnTreeViewEvent(tv_CreateContinuousActionSummary);
|
||||
tv.SelectDateToStartChangeBars += tv_SelectDateToStartChangeBars;
|
||||
displayBookMarks.ResetBookMarksInPROMSWindows += displayBookMarks_ResetBookMarksInPROMSWindows;
|
||||
}
|
||||
|
||||
// Part of Separate Windows upgrade C2015-022
|
||||
// Extend changeds to BookMark information to all of the child windows
|
||||
void displayBookMarks_ResetBookMarksInPROMSWindows(object sender, EventArgs args)
|
||||
{
|
||||
foreach (int k in PROMSWindowForms.Keys)
|
||||
{
|
||||
frmVEPROMS tmp = PROMSWindowForms[k];
|
||||
if (tmp.MyDocVersion.VersionID != this.SelectedDVI.VersionID)
|
||||
tmp.displayBookMarks.ResetBookMarkList();
|
||||
else if (tmp.MyParent != null)
|
||||
tmp.MyParent.displayBookMarks.ResetBookMarkList();
|
||||
}
|
||||
}
|
||||
|
||||
void tv_SelectDateToStartChangeBars(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
@ -474,6 +496,7 @@ namespace VEPROMS
|
||||
VETreeNode tn = args.Node as VETreeNode;
|
||||
ItemInfo ii = tn.VEObject as ItemInfo;
|
||||
tc.MyCopyStep = ii;
|
||||
tc_CopyStepSelected(sender, null); // C2015-022 set copy step info in the child windows
|
||||
}
|
||||
void tv_PrintTransitionReport(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
@ -1017,6 +1040,12 @@ namespace VEPROMS
|
||||
}
|
||||
if (SelectedStepTabPanel != null && SelectedStepTabPanel.MyStepTabRibbon != null)
|
||||
SelectedStepTabPanel.MyStepTabRibbon.SetUpdRoValBtn(SelectedStepTabPanel.MyStepTabRibbon.NewerRoFst());
|
||||
// C2015-022 needed when creating a separate window from a tree selection
|
||||
if (selectedChildWindow != null)
|
||||
{
|
||||
selectedChildWindow.Focus();
|
||||
selectedChildWindow = null;
|
||||
}
|
||||
}
|
||||
// Add a tree node for a procedure if this is the first procedure in the docversion, added from
|
||||
// step editor (used for creating enhanced procedure in empty docversion)
|
||||
@ -1105,7 +1134,10 @@ namespace VEPROMS
|
||||
// bug fix B2016-005 - set MyCopyStep to null. This will take the paste options off of the tree node context menus. jsj 4-19-2016
|
||||
// B2016-105 - added null reference check -jsj
|
||||
if (tc.MyCopyStep != null && args.MyItemInfo.ItemID == tc.MyCopyStep.ItemID)
|
||||
{
|
||||
tc.MyCopyStep = null;
|
||||
tc_CopyStepSelected(sender, null); // C2015-022 update copystep info in the child windows
|
||||
}
|
||||
bool rtval = tc.DeleteRTBItem(args.MyItemInfo);
|
||||
// Also disable the paste options on the ribbon if it is open. jsj 4-19-2016
|
||||
if (tc.SelectedDisplayTabItem != null && tc.SelectedDisplayTabItem.MyStepTabPanel != null) // MyStepTabPanel will be null if the active tab is a Word Attachment
|
||||
@ -1120,6 +1152,7 @@ namespace VEPROMS
|
||||
{
|
||||
return tc.PasteRTBItem(args.MyItemInfo, args.CopyStartID, args.PasteType, (int)args.Type);
|
||||
}
|
||||
private bool _RemoveFromPROMSWindowForms = true;
|
||||
private void frmVEPROMS_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
// B2017-212 If the user uses the X button in Word to close the word attachment, PROMS thinks that the user wants to close out of PROMS as well
|
||||
@ -1135,16 +1168,45 @@ namespace VEPROMS
|
||||
return;
|
||||
}
|
||||
}
|
||||
//C2015-022 Separate Windows - if child windows are open and we are closing the main PROMS window, give user a chance to not close PROMS and that child windows
|
||||
if (MyParent == null && PROMSWindowForms.Count > 0)
|
||||
{
|
||||
DialogResult dr = MessageBox.Show("Close all of the child windows and exit PROMS?", "Exit PROMS", MessageBoxButtons.YesNo);
|
||||
if (dr == System.Windows.Forms.DialogResult.No)
|
||||
{
|
||||
e.Cancel = true;
|
||||
return;
|
||||
}
|
||||
}
|
||||
tc.ShuttingDown = true; // This keeps PROMS from Hanging under certain circumstances
|
||||
foreach (DisplayTabItem dti in tc.MyBar.Items)
|
||||
{
|
||||
if (dti.MyDSOTabPanel != null)
|
||||
dti.MyDSOTabPanel.CloseDSO();
|
||||
if (dti.MyDSOTabPanel != null)
|
||||
dti.MyDSOTabPanel.CloseDSO();
|
||||
else
|
||||
MySessionInfo.CheckInItem(dti.OwnerID); //C2015-022 Separate Windows closing child form only left procedure ownership active
|
||||
}
|
||||
//_MyLog.WarnFormat("frmVEPROMS_FormClosing");
|
||||
if (MyParent == null)
|
||||
{
|
||||
if (MyActivityTimer != null) MyActivityTimer.Dispose();
|
||||
if (MyActivityTimer != null)
|
||||
{
|
||||
MyActivityTimer.Dispose();
|
||||
_MyLog.Debug("VEPROMS FormClosing - dispose timer");
|
||||
}
|
||||
// part of separate windows upgrade C2015-022
|
||||
// close all of the child windows before closing the main PROMS window
|
||||
if (PROMSWindowForms != null && PROMSWindowForms.Count > 0)
|
||||
{
|
||||
foreach (int k in PROMSWindowForms.Keys)
|
||||
{
|
||||
frmVEPROMS child = PROMSWindowForms[k];
|
||||
_RemoveFromPROMSWindowForms = false;
|
||||
child._RemoveFromPROMSWindowForms = false;
|
||||
child.Close();
|
||||
child.MySessionInfo.EndSession();
|
||||
}
|
||||
}
|
||||
if (MySessionInfo != null) MySessionInfo.EndSession();
|
||||
// Save the location and size of the VE-PROMS appication for this user
|
||||
if (this.WindowState == FormWindowState.Normal)
|
||||
@ -1268,7 +1330,7 @@ namespace VEPROMS
|
||||
set { _MySessionInfo = value; }
|
||||
}
|
||||
private System.Threading.Timer MyActivityTimer;
|
||||
private System.Threading.Timer MyRefreshTimer;
|
||||
//private System.Threading.Timer MyRefreshTimer;
|
||||
private DevComponents.DotNetBar.ButtonItem btnManageSecurity;
|
||||
private DevComponents.DotNetBar.ButtonItem btnResetSecurity;
|
||||
private DevComponents.DotNetBar.ButtonItem btnAdministrativeTools;
|
||||
@ -1327,6 +1389,7 @@ namespace VEPROMS
|
||||
}
|
||||
if (tnNew != null) tv.SelectedNode = tnNew;
|
||||
}
|
||||
MySemaphore.Release(); // ping session control
|
||||
}
|
||||
private void StartRefreshChanged(Object obj)
|
||||
{
|
||||
@ -1412,6 +1475,7 @@ namespace VEPROMS
|
||||
public ContentInfo ci3;
|
||||
public Timer tmrCloseTabItems;
|
||||
public System.Threading.Semaphore MySemaphore = new System.Threading.Semaphore(1, 1);
|
||||
private bool _frmVEPROMSloading = false;
|
||||
private void frmVEPROMS_Load(object sender, EventArgs e)
|
||||
{
|
||||
InitializeSecurity();
|
||||
@ -1493,7 +1557,7 @@ namespace VEPROMS
|
||||
if (!System.Diagnostics.Debugger.IsAttached)// running in Production Mode (Not in the debugger)
|
||||
{
|
||||
System.Threading.TimerCallback timerDelegate = new System.Threading.TimerCallback(this.PingSession);
|
||||
MyActivityTimer = new System.Threading.Timer(timerDelegate, autoEvent, 10000, 10000);
|
||||
if (this._MyParent == null) MyActivityTimer = new System.Threading.Timer(timerDelegate, autoEvent, 10000, 10000);
|
||||
// System.Threading.Thread.Sleep(5000);
|
||||
// System.Threading.TimerCallback timerRefresh = new System.Threading.TimerCallback(this.StartRefreshChanged);
|
||||
// RefreshTimer.Enabled = true;
|
||||
@ -1532,9 +1596,11 @@ namespace VEPROMS
|
||||
{
|
||||
if (Settings.Default.SaveTreeviewExpanded && _MyMRIList.Count > 0)
|
||||
{
|
||||
_frmVEPROMSloading = true; // C2015-022 so we don't try to create child windows when proms is first starting and position in the procedure tree
|
||||
tv.AdjustTree(_MyMRIList[0].MyItemInfo.MyProcedure);
|
||||
tv.SelectedNode.Expand();
|
||||
SetCaption(tv.SelectedNode as VETreeNode);
|
||||
_frmVEPROMSloading = false;
|
||||
}
|
||||
}
|
||||
//get version windows settings
|
||||
@ -1558,8 +1624,9 @@ namespace VEPROMS
|
||||
tc.Leave += new EventHandler(tc_Leave);
|
||||
tc.StatusChanged += new DisplayTabControlStatusEvent(tc_StatusChanged);
|
||||
tc.ToggleRibbonExpanded += new DisplayTabControlEvent(tc_ToggleRibbonExpanded);
|
||||
tc.OpenEnhancedDocument += tc_OpenEnhancedDocument;
|
||||
tc.OpenInSeparateWindow += tc_OpenInSeparateWindow;
|
||||
tc.RefreshEnhancedDocument += tc_RefreshEnhancedDocument;
|
||||
tc.CopyStepSelected += tc_CopyStepSelected; // will extend CopyStep info to all child windows (separate windows upgrade)
|
||||
this.Deactivate += new EventHandler(frmVEPROMS_Deactivate);
|
||||
if (VlnSettings.DemoMode) StepRTB.MyFontFamily = GetFamily("Bookman Old Style");
|
||||
displaySearch1.Enter += new EventHandler(displaySearch1_Enter);
|
||||
@ -1609,14 +1676,28 @@ namespace VEPROMS
|
||||
{
|
||||
int versionID = args.MyItemInfo.MyDocVersion.VersionID;
|
||||
frmVEPROMS child = null;
|
||||
if (EnhancedForms.ContainsKey(versionID))
|
||||
if (PROMSWindowForms.ContainsKey(versionID))
|
||||
{
|
||||
child = EnhancedForms[versionID];
|
||||
child = PROMSWindowForms[versionID];
|
||||
child.RefreshItem(args.MyItemInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Part of Separate Windows upgrade C2015-022
|
||||
// Extend the CopyStep selection information to all of the child windows
|
||||
void tc_CopyStepSelected(object sender, ItemChangedEventArgs e)
|
||||
{
|
||||
foreach (int k in PROMSWindowForms.Keys)
|
||||
{
|
||||
frmVEPROMS tmp = PROMSWindowForms[k];
|
||||
if (tmp.MyDocVersion.VersionID != this.SelectedDVI.VersionID)
|
||||
tmp.tc.MyCopyStep = tc.MyCopyStep;
|
||||
else if (tmp.MyParent != null)
|
||||
tmp.MyParent.tc.MyCopyStep = tc.MyCopyStep;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// This looks for sessions associated with the current PC and user which are no longer active and removes them.
|
||||
/// This will in-turn close any related procedure owner records and allow the user to re-open a previously open procedure.
|
||||
@ -1650,90 +1731,85 @@ namespace VEPROMS
|
||||
// return true;
|
||||
// return false;
|
||||
//}
|
||||
Dictionary<int, frmVEPROMS> _EnhancedForms=null;
|
||||
public Dictionary<int, frmVEPROMS> EnhancedForms
|
||||
|
||||
// C2015-022 Separate Windows. This is a dictionary of child PROMS windows forms (frmVEPROMS)
|
||||
//
|
||||
Dictionary<int, frmVEPROMS> _PROMSWindowForms=null;
|
||||
public Dictionary<int, frmVEPROMS> PROMSWindowForms
|
||||
{
|
||||
get
|
||||
{
|
||||
if(_EnhancedForms == null)
|
||||
if(_PROMSWindowForms == null)
|
||||
{
|
||||
if (_MyParent == null)
|
||||
_EnhancedForms = new Dictionary<int, frmVEPROMS>();
|
||||
_PROMSWindowForms = new Dictionary<int, frmVEPROMS>();
|
||||
else
|
||||
_EnhancedForms = MyParent.EnhancedForms;
|
||||
_PROMSWindowForms = MyParent.PROMSWindowForms;
|
||||
}
|
||||
return _EnhancedForms;
|
||||
return _PROMSWindowForms;
|
||||
}
|
||||
set { _EnhancedForms = value; }
|
||||
set { _PROMSWindowForms = value; }
|
||||
}
|
||||
void tc_OpenEnhancedDocument(object sender, ItemSelectedChangedEventArgs args)
|
||||
{
|
||||
if (!Properties.Settings.Default.SeparateWindows)
|
||||
{
|
||||
tc.OpenItem(args.MyItemInfo);
|
||||
}
|
||||
else
|
||||
{
|
||||
int versionID = args.MyItemInfo.MyDocVersion.VersionID;
|
||||
if(MyParent != null && args.MyItemInfo.MyDocVersion.DocVersionConfig.MyEnhancedDocuments.Count > 0
|
||||
&& !args.MyItemInfo.MyDocVersion.DocVersionConfig.MyEnhancedDocuments.HasSourcePointer)
|
||||
{
|
||||
MyParent.OpenItem(args.MyItemInfo);
|
||||
return;
|
||||
}
|
||||
frmVEPROMS child = null;
|
||||
if (EnhancedForms.ContainsKey(versionID))
|
||||
child = EnhancedForms[versionID];
|
||||
else
|
||||
{
|
||||
child = CreateEnhancedWindow(args.MyItemInfo.MyDocVersion);
|
||||
}
|
||||
child.OpenItem(args.MyItemInfo);
|
||||
//if (!tc.dicEnhancedDocuments.ContainsKey(args.MyItemInfo.MyProcedure.MyDocVersion))
|
||||
//{
|
||||
// frmEnhanced frm = new frmEnhanced(args.MyItemInfo);
|
||||
// frm.MySessionInfo = MySessionInfo;
|
||||
// tc.dicEnhancedDocuments.Add(args.MyItemInfo.MyProcedure.MyDocVersion, frm);
|
||||
// frm.FormClosed += frm_FormClosed;
|
||||
// //frm.Show(this); When this was specified the child form displayed on top of the parent form.
|
||||
// frm.Show(); // With this removed either form can be on top (user selectable - currently active form on top)
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// frmEnhanced frm = tc.dicEnhancedDocuments[args.MyItemInfo.MyProcedure.MyDocVersion];
|
||||
// frm.MyItemInfo = args.MyItemInfo;
|
||||
// frm.OpenItem();
|
||||
//}
|
||||
}
|
||||
}
|
||||
private frmVEPROMS CreateEnhancedWindow(DocVersionInfo dvi)
|
||||
// This gets called when user opens an enhanced document (ex Background) from the source (ex EOP)
|
||||
// C2015-022 - This also get called if opening a procedure in a child (separate) window
|
||||
void tc_OpenInSeparateWindow(object sender, ItemSelectedChangedEventArgs args)
|
||||
{
|
||||
int versionID = args.MyItemInfo.MyDocVersion.VersionID;
|
||||
if (MyParent != null && args.MyItemInfo.MyDocVersion.DocVersionConfig.MyEnhancedDocuments.Count > 0
|
||||
&& !args.MyItemInfo.MyDocVersion.DocVersionConfig.MyEnhancedDocuments.HasSourcePointer)
|
||||
{
|
||||
MyParent.OpenItem(args.MyItemInfo);
|
||||
return;
|
||||
}
|
||||
frmVEPROMS child = null;
|
||||
if (PROMSWindowForms.ContainsKey(versionID))
|
||||
child = PROMSWindowForms[versionID]; // use existing child window
|
||||
else
|
||||
{
|
||||
child = CreateChildPromsWindow(args.MyItemInfo.MyDocVersion); // create a new child window for the enhanced document procedure set
|
||||
tv.AdjustTree(args.MyItemInfo); // find the position in the tree
|
||||
VETreeNode _tn = tv.SelectedNode as VETreeNode; // get the tree node for args.MyItemInfo
|
||||
while (!(_tn.VEObject is FolderInfo)) _tn = (VETreeNode)_tn.Parent; // back up to the first folder tree node
|
||||
_tn.Nodes.Clear(); // remove the child nodes from main window - child window now has this part of the procedure tree
|
||||
_tn.ChildrenLoaded = false;
|
||||
_tn.MovedToSeparateWindow = true; // flag used to reload children nodes if the child window is closed and user clicks on the tree node in the main window
|
||||
}
|
||||
|
||||
child.OpenItem(args.MyItemInfo); // this opens to the enhanced document step and expands the tree to the related node (in the child window)
|
||||
}
|
||||
private frmVEPROMS CreateChildPromsWindow(DocVersionInfo dvi) // C2015-022 logic to create separate (child) windows for a procedure set
|
||||
{
|
||||
frmVEPROMS child;
|
||||
if (EnhancedForms.ContainsKey(dvi.VersionID))
|
||||
{
|
||||
child = EnhancedForms[dvi.VersionID];
|
||||
}
|
||||
else{
|
||||
// create a new window for this doc version (procedure set)
|
||||
child = new frmVEPROMS(this, dvi);
|
||||
EnhancedForms.Add(dvi.VersionID, child);
|
||||
PROMSWindowForms.Add(dvi.VersionID, child); // keep track of child windows
|
||||
child.Visible = false;
|
||||
child.Show();
|
||||
foreach (VersionWindow vw in MyVersionWindowList)
|
||||
if (vw.VersionID == dvi.VersionID)
|
||||
{
|
||||
child.SetDesktopBounds(vw.MyRectangle.Left, vw.MyRectangle.Top, vw.MyRectangle.Width, vw.MyRectangle.Height);
|
||||
break;
|
||||
}
|
||||
if (MyVersionWindowList != null && MyVersionWindowList.Count > 0)
|
||||
foreach (VersionWindow vw in MyVersionWindowList)
|
||||
if (vw.VersionID == dvi.VersionID)
|
||||
{
|
||||
child.SetDesktopBounds(vw.MyRectangle.Left, vw.MyRectangle.Top, vw.MyRectangle.Width, vw.MyRectangle.Height);
|
||||
break;
|
||||
}
|
||||
child.office2007StartButton1.Visible = false; // hide V button
|
||||
child.qatCustomizeItem1.Visible = false; // hide quick access list
|
||||
child.btnExit.Visible = false; // hide the exit button (closes all of PROMS not just the child window)
|
||||
child.Visible = true;
|
||||
child.Move += child_MoveOrSize;
|
||||
child.Resize += child_MoveOrSize;
|
||||
child.FormClosed += child_FormClosed;
|
||||
}
|
||||
// these next three lines of code will force the child window to display on top of all other windows on the screen
|
||||
child.TopMost = true; // force child window to the display on top of all others
|
||||
Application.DoEvents();
|
||||
child.TopMost = false; // child window will remain on top but now other windows can be displayed on top of it
|
||||
return child;
|
||||
}
|
||||
void child_FormClosed(object sender, FormClosedEventArgs e)
|
||||
|
||||
void child_FormClosed(object sender, FormClosedEventArgs e) // C2015-022 used for Separate Windows logic
|
||||
{
|
||||
EnhancedForms.Remove((sender as frmVEPROMS).MyDocVersion.VersionID) ;
|
||||
if (_RemoveFromPROMSWindowForms)
|
||||
PROMSWindowForms.Remove((sender as frmVEPROMS).MyDocVersion.VersionID);
|
||||
}
|
||||
void child_MoveOrSize(object sender, EventArgs e)
|
||||
{
|
||||
@ -1886,7 +1962,7 @@ namespace VEPROMS
|
||||
if (sub.Contains("\r\n")) return sub.Substring(0, sub.IndexOf("\r\n"));
|
||||
return sub;
|
||||
}
|
||||
void txtSearch_KeyPress(object sender, KeyPressEventArgs e)
|
||||
void txtSearch_KeyPress(object sender, KeyPressEventArgs e) // used when running in debug mode, for text box where you enter an ItemID or ContextID number
|
||||
{
|
||||
if (e.KeyChar == '\r')
|
||||
{
|
||||
@ -1899,7 +1975,7 @@ namespace VEPROMS
|
||||
OpenMyItem(txtSearch.Text);
|
||||
}
|
||||
}
|
||||
if (e.KeyChar == 1 || e.KeyChar==22)
|
||||
if (e.KeyChar == 1 || e.KeyChar == 22)
|
||||
{
|
||||
e.Handled = true;
|
||||
}
|
||||
@ -2262,7 +2338,7 @@ namespace VEPROMS
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
private bool _RunNext = false;
|
||||
//private bool _RunNext = false;
|
||||
//void prnDlg_FormClosed(object sender, FormClosedEventArgs e)
|
||||
//{
|
||||
// _RunNext = true;
|
||||
@ -2488,13 +2564,23 @@ namespace VEPROMS
|
||||
return;
|
||||
if (tc.SelectedDisplayTabItem != null && tc.SelectedDisplayTabItem.SelectedItemInfo != null)
|
||||
{
|
||||
// this logic syncs up the place in the procedure tree with the place (step) in the procedure editor (when you click on white space in the tree panel)
|
||||
tv.AdjustTree(tc.SelectedDisplayTabItem.SelectedItemInfo);
|
||||
tc.SelectedDisplayTabItem.Focus();
|
||||
SetCaption(tv.SelectedNode as VETreeNode);
|
||||
}
|
||||
}
|
||||
if (MyParent == null && tn != null && tn.MovedToSeparateWindow)
|
||||
{
|
||||
if ((tn.VEObject is FolderInfo) && ((tn.VEObject as FolderInfo).FolderDocVersions != null && !PROMSWindowForms.ContainsKey((int)(tn.VEObject as FolderInfo).FolderDocVersions[0].VersionID)) && tn.Nodes.Count == 0 && !tn.ChildrenLoaded)
|
||||
{
|
||||
tn.MovedToSeparateWindow = false;
|
||||
tn.RefreshNode();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
private frmVEPROMS selectedChildWindow = null; // C2015-022 used for separate windows
|
||||
/// <summary>
|
||||
/// This event is fired from the timer after the treeview click event completes
|
||||
/// </summary>
|
||||
@ -2515,28 +2601,19 @@ namespace VEPROMS
|
||||
RunAutomatic();
|
||||
}
|
||||
private bool _ExpandingTree=false;
|
||||
private void tv_BeforeExpand(object sender, TreeViewCancelEventArgs e)
|
||||
{
|
||||
//_MyLog.DebugFormat("tv_BeforeExpand \n{0}",Volian.Base.Library.vlnStackTrace.StackToStringLocal(2,10));
|
||||
_ExpandingTree = true;
|
||||
VETreeNode tn = ((VETreeNode)e.Node);
|
||||
if (MyParent == null &&
|
||||
Properties.Settings.Default.SeparateWindows && tn.VEObject is FolderInfo
|
||||
&& (tn.VEObject as FolderInfo).FolderDocVersionCount == 1
|
||||
&& (tn.VEObject as FolderInfo).FolderDocVersions[0].DocVersionConfig.MyEnhancedDocuments.HasSourcePointer)
|
||||
{
|
||||
CreateEnhancedWindow((tn.VEObject as FolderInfo).FolderDocVersions[0]);
|
||||
tn.Nodes.Clear();
|
||||
}
|
||||
else
|
||||
{
|
||||
tn.LoadingChildrenDone += new VETreeNodeEvent(tn_LoadingChildrenDone);
|
||||
tn.LoadingChildrenMax += new VETreeNodeEvent(tn_LoadingChildrenMax);
|
||||
tn.LoadingChildrenValue += new VETreeNodeEvent(tn_LoadingChildrenValue);
|
||||
tn.LoadingChildrenSQL += new VETreeNodeEvent(tn_LoadingChildrenSQL);
|
||||
tn.LoadChildren(true);
|
||||
}
|
||||
}
|
||||
private void tv_BeforeExpand(object sender, TreeViewCancelEventArgs e)
|
||||
{
|
||||
//_MyLog.DebugFormat("tv_BeforeExpand \n{0}",Volian.Base.Library.vlnStackTrace.StackToStringLocal(2,10));
|
||||
VETreeNode tn = ((VETreeNode)e.Node);
|
||||
if (tn == null)
|
||||
return;
|
||||
_ExpandingTree = true;
|
||||
tn.LoadingChildrenDone += new VETreeNodeEvent(tn_LoadingChildrenDone);
|
||||
tn.LoadingChildrenMax += new VETreeNodeEvent(tn_LoadingChildrenMax);
|
||||
tn.LoadingChildrenValue += new VETreeNodeEvent(tn_LoadingChildrenValue);
|
||||
tn.LoadingChildrenSQL += new VETreeNodeEvent(tn_LoadingChildrenSQL);
|
||||
tn.LoadChildren(true);
|
||||
}
|
||||
#region Property Page and Grid
|
||||
DialogResult tv_NodeOpenProperty(object sender, vlnTreePropertyEventArgs args)
|
||||
{
|
||||
@ -2924,11 +3001,13 @@ namespace VEPROMS
|
||||
private void btnOptions_Click(object sender, EventArgs e)
|
||||
{
|
||||
frmSysOptions VeSysOpts = new frmSysOptions();
|
||||
VeSysOpts.CanChangeSeparateWindowsSetting = !tc.MoreThanOneProcedureSetIsOpen;
|
||||
VeSysOpts.ShowDialog();
|
||||
StepTabRibbon.PasteNoReturnsSetting = Properties.Settings.Default.PasteNoReturns;
|
||||
StepTabRibbon.PastePlainTextSetting = Properties.Settings.Default.PastePlainText;
|
||||
StepTabRibbon.SpecifiedVisioPath = Properties.Settings.Default.VisioPath;
|
||||
tc.SyncEnhancedDocuments = Properties.Settings.Default.SyncEnhancedDocuments;
|
||||
tc.SeparateWindows = Properties.Settings.Default.SeparateWindows;
|
||||
}
|
||||
/// <summary>
|
||||
/// Exit button on the dialog that appears when the V icon is clicked (top left of application window)
|
||||
|
Loading…
x
Reference in New Issue
Block a user