C2025-024

Fix merge conflict
This commit is contained in:
2025-08-08 09:44:51 -04:00
parent b5a9462e95
commit 58cc75ef71

View File

@@ -22,11 +22,11 @@ namespace Volian.Controls.Library
public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args); public delegate void vlnTreeViewEvent(object sender, vlnTreeEventArgs args);
public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args); public delegate void vlnTreeViewTimeEvent(object sender, vlnTreeTimeEventArgs args);
public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args); public delegate void vlnTreeViewStatusEvent(object sender, vlnTreeStatusEventArgs args);
public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args); public delegate ItemInfo vlnTreeViewClipboardStatusEvent(object sender, vlnTreeEventArgs args);
public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate void vlnTreeViewItemInfoEvent(object sender, vlnTreeItemInfoEventArgs args);
public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args); public delegate bool vlnTreeViewBoolEvent(object sender, vlnTreeEventArgs args);
public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteEvent(object sender, vlnTreeItemInfoEventArgs args);
public delegate bool vlnTreeViewItemInfoInsertEvent(object sender, vlnTreeItemInfoInsertEventArgs args); public delegate bool vlnTreeViewItemInfoInsertEvent(object sender, vlnTreeItemInfoInsertEventArgs args);
public delegate bool vlnTreeViewItemInfoDeleteFolderEvent(object sender, vlnTreeFolderDeleteEventArgs args); public delegate bool vlnTreeViewItemInfoDeleteFolderEvent(object sender, vlnTreeFolderDeleteEventArgs args);
public delegate bool vlnTreeViewItemInfoPasteEvent(object sender, vlnTreeItemInfoPasteEventArgs args); public delegate bool vlnTreeViewItemInfoPasteEvent(object sender, vlnTreeItemInfoPasteEventArgs args);
@@ -217,7 +217,7 @@ namespace Volian.Controls.Library
#endregion #endregion
public override string ToString() public override string ToString()
{ {
return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex); return string.Format("Node={0},Destination={1},Index={2},Unit={3},UnitIndex={4}", NodePath(this.Node), this.Destination, this.Index, this.Unit, this.UnitIndex);
} }
private string NodePath(TreeNode node) private string NodePath(TreeNode node)
@@ -347,7 +347,7 @@ namespace Volian.Controls.Library
_PasteType = pasteType; _PasteType = pasteType;
_Type = type; _Type = type;
} }
#endregion #endregion
} }
#endregion #endregion
@@ -598,16 +598,16 @@ namespace Volian.Controls.Library
{ {
if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args); if (ProcedureCheckedOutTo != null) ProcedureCheckedOutTo(sender, args);
} }
public event vlnTreeViewEvent ExportImportProcedureSets; public event vlnTreeViewEvent ExportImportProcedureSets;
private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args) private void OnExportImportProcedureSets(object sender, vlnTreeEventArgs args)
{ {
if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args); if (ExportImportProcedureSets != null) ExportImportProcedureSets(sender, args);
} }
public event vlnTreeViewEvent PrintTransitionReport; public event vlnTreeViewEvent PrintTransitionReport;
private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args) private void OnPrintTransitionReport(object sender, vlnTreeEventArgs args)
{ {
@@ -659,7 +659,7 @@ namespace Volian.Controls.Library
// This event was added to update the Step Properties/RO & Tools/Search RO & Reports // 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. // when an update of ro.fst is done & the ro trees on those panels needs refreshed.
// (bug fix B2015-226) // (bug fix B2015-226)
public event StepPanelTabDisplayEvent TabDisplay; public event StepPanelTabDisplayEvent TabDisplay;
private void OnTabDisplay(object sender, StepPanelTabDisplayEventArgs args) private void OnTabDisplay(object sender, StepPanelTabDisplayEventArgs args)
{ {
if (TabDisplay != null) TabDisplay(sender, args); if (TabDisplay != null) TabDisplay(sender, args);
@@ -736,7 +736,7 @@ namespace Volian.Controls.Library
if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level if (ui.IsAdministrator() || ui.IsSetAdministrator(fi))// && fi.MyParent == null) //VEPROMS level
{ {
if (fi.HasWorkingDraft) if (fi.HasWorkingDraft)
{ {
cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click)); cm.MenuItems.Add("Export Procedure Set", new EventHandler(mi_Click));
//AddEPExport(cm.MenuItems, 0, null); //AddEPExport(cm.MenuItems, 0, null);
} }
@@ -759,12 +759,12 @@ namespace Volian.Controls.Library
} }
} }
// B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate // B2020-111 only allow Set Administrator to add new folders inside folders they admininstrate
if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0) if ((ui.IsAdministrator() || ui.IsSetAdministrator(fi.MyParent)) && fi.FolderDocVersionCount == 0)
cm.MenuItems.Add("New Folder", new EventHandler(mi_Click)); cm.MenuItems.Add("New Folder", new EventHandler(mi_Click));
if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft) if (fi.ChildFolderCount == 0 && !fi.HasWorkingDraft)
cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click)); cm.MenuItems.Add("Create Working Draft", new EventHandler(mi_Click));
} }
if (fi.HasWorkingDraft) if (fi.HasWorkingDraft)
cm.MenuItems.Add("Print Transition Report", new EventHandler(mi_Click)); cm.MenuItems.Add("Print Transition Report", new EventHandler(mi_Click));
} }
else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs else if (tn.VEObject as DocVersionInfo != null) // DocVersions can only contain procs
@@ -773,14 +773,14 @@ namespace Volian.Controls.Library
//_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 1c - {0}", GC.GetTotalMemory(true));
DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi)) if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi))
{ {
cm.MenuItems.Add("Import Procedure", mi_Click); cm.MenuItems.Add("Import Procedure", mi_Click);
} }
if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi)) if (ui.IsAdministrator() || ui.IsSetAdministrator(dvi) || ui.IsWriter(dvi))
{ {
OwnerInfoList.Reset(); OwnerInfoList.Reset();
oil = OwnerInfoList.GetByVersionID(dvi.VersionID); oil = OwnerInfoList.GetByVersionID(dvi.VersionID);
if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo) if (dvi.ActiveFormat.PlantFormat.FormatData.SpecificInfo)
cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click)); cm.MenuItems.Add("Procedure Set Specific Information", new EventHandler(mi_Click));
cm.MenuItems.Add("Refresh Checked Out Procedures", new EventHandler(mi_Click)); cm.MenuItems.Add("Refresh Checked Out Procedures", new EventHandler(mi_Click));
cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click)); cm.MenuItems.Add("New Procedure", new EventHandler(mi_Click));
@@ -874,9 +874,9 @@ namespace Volian.Controls.Library
oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure); oi = OwnerInfo.GetByItemID(pri.ItemID, CheckOutType.Procedure);
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion)) if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion))
{ {
cm.MenuItems.Add("Export Procedure", mi_Click); cm.MenuItems.Add("Export Procedure", mi_Click);
//C2025-024 Proms XML Output - if have any EP Format files, add dropdown menu for exporting EP formats //C2025-024 Proms XML Output - if have any EP Format files, add dropdown menu for exporting EP formats
if (pri.ActiveFormat.PlantFormat.EPFormatFiles.Count > 0) if (pri.ActiveFormat.PlantFormat.EPFormatFiles.Count > 0)
AddEPExport(cm.MenuItems, pri.MyDocVersion.MultiUnitCount, pri.MyDocVersion.UnitNames, pri.ActiveFormat.PlantFormat.EPFormatFiles); AddEPExport(cm.MenuItems, pri.MyDocVersion.MultiUnitCount, pri.MyDocVersion.UnitNames, pri.ActiveFormat.PlantFormat.EPFormatFiles);
} }
if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion)) if (ui.IsAdministrator() || ui.IsSetAdministrator(pri.MyDocVersion) || ui.IsWriter(pri.MyDocVersion))
@@ -929,7 +929,7 @@ namespace Volian.Controls.Library
} }
cm.MenuItems.Add(micas); cm.MenuItems.Add(micas);
cm.MenuItems.Add(mitcas); cm.MenuItems.Add(mitcas);
cm.MenuItems.Add(mip); cm.MenuItems.Add(mip);
cm.MenuItems.Add(miqp); cm.MenuItems.Add(miqp);
//cm.MenuItems.Add(mips); //cm.MenuItems.Add(mips);
AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri); AddShowChangeBarsAfterMenuItem(cm.MenuItems, pri);
@@ -1163,35 +1163,35 @@ namespace Volian.Controls.Library
#region Menu_Delete #region Menu_Delete
if (ok) if (ok)
{
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo)
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items.
PartInfo pi = tn.VEObject as PartInfo;
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
{ {
// Add delete to the menu unless at the very 'top' node, on a grouping (partinfo) fi = tn.VEObject as FolderInfo;
// node (RNOs, Steps, Cautions, Notes) or Folder/DocVersion that contains any items. if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children
PartInfo pi = tn.VEObject as PartInfo;
if (pi == null && tn.Parent != null) // it's not a part and it's not the top....
{ {
fi = tn.VEObject as FolderInfo; DocVersionInfo di = tn.VEObject as DocVersionInfo;
if (fi == null || tn.Nodes.Count == 0) // it's not a folder or it has no children if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children
{ {
DocVersionInfo di = tn.VEObject as DocVersionInfo; // if it's an enhanced step that was linked from a source, don't allow delete
if (di == null || tn.Nodes.Count == 0) // it's not a docversion or it has no children bool canDoDel = true;
{ ItemInfo iienh = tn.VEObject as ItemInfo;
// if it's an enhanced step that was linked from a source, don't allow delete if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false;
bool canDoDel = true; if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
ItemInfo iienh = tn.VEObject as ItemInfo; if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
if (iienh != null && iienh.IsProcedure && iienh.IsEnhancedProcedure) canDoDel = false; if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
if (iienh != null && iienh.IsSection && iienh.IsEnhancedSection && !iienh.IsEnhancedSectionTitleOnly) canDoDel = false;
if (iienh != null && iienh.IsEnhancedStep) canDoDel = false;
if (canDoDel) cm.MenuItems.Add("Delete", new EventHandler(mi_Click));
}
} }
} }
} }
}
#endregion #endregion
//_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 6 - {0}", GC.GetTotalMemory(true));
#region Menu_ExternalTransitions #region Menu_ExternalTransitions
@@ -1255,8 +1255,8 @@ namespace Volian.Controls.Library
// node (RNOs, Steps, Cautions, Notes) or at the step level. // node (RNOs, Steps, Cautions, Notes) or at the step level.
// B2020-105 Allow Set Administrators to rename folder's (sets of procedures) to which they have been given access. // B2020-105 Allow Set Administrators to rename folder's (sets of procedures) to which they have been given access.
if (tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo)); if (tn.VEObject is FolderInfo) ok = (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as FolderInfo));
else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo)) else ok = (tn.VEObject is DocVersionInfo) ? (ui.IsAdministrator() || ui.IsSetAdministrator(tn.VEObject as DocVersionInfo))
: (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion) : (ui.IsAdministrator() || (tn.VEObject is ItemInfo) && (ui.IsSetAdministrator((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion)
|| ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion))); || ui.IsWriter((tn.VEObject as ItemInfo).MyProcedure.MyDocVersion)));
PartInfo pia = tn.VEObject as PartInfo; PartInfo pia = tn.VEObject as PartInfo;
ItemInfo ii = tn.VEObject as ItemInfo; ItemInfo ii = tn.VEObject as ItemInfo;
@@ -1337,7 +1337,7 @@ namespace Volian.Controls.Library
itm.Text == "Procedure Set Specific Information" || itm.Text == "Approve All Procedures for" || itm.Text == "Procedure Set Specific Information" || itm.Text == "Approve All Procedures for" ||
itm.Text == "Approve Some Procedures" || itm.Text == "Approve Some Procedures for") itm.Text == "Approve Some Procedures" || itm.Text == "Approve Some Procedures for")
itm.Enabled = false; itm.Enabled = false;
} }
} }
} }
@@ -1366,9 +1366,9 @@ namespace Volian.Controls.Library
// F2022-024 added Time Critical Action Summary option // F2022-024 added Time Critical Action Summary option
foreach (MenuItem itm in cm.MenuItems) foreach (MenuItem itm in cm.MenuItems)
{ {
if (itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" || if (itm.Text == "Procedure Specific Information" || itm.Text == "New Section" || itm.Text == "Approve" || itm.Text == "Open" ||
itm.Text == "Copy" || itm.Text == "Delete" || itm.Text == "Properties..." || itm.Text == "Replace Existing Procedure" || itm.Text == "Copy" || itm.Text == "Delete" || itm.Text == "Properties..." || itm.Text == "Replace Existing Procedure" ||
itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" || itm.Text.StartsWith("Showing Change Bars Starting") || itm.Text == "Create Continuous Action Summary" ||
itm.Text == "Create Time Critical Action Summary" || itm.Text == "Export Procedure") itm.Text == "Create Time Critical Action Summary" || itm.Text == "Export Procedure")
itm.Enabled = false; itm.Enabled = false;
} }
@@ -1395,7 +1395,7 @@ namespace Volian.Controls.Library
// if has an Electronic procedure // if has an Electronic procedure
// then loop through and add an Export for each EP Viewer // then loop through and add an Export for each EP Viewer
private void AddEPExport(Menu.MenuItemCollection menuItems, int MultiUnitCount, string[] UnitNames, EPFormatFiles EPFiles) private void AddEPExport(Menu.MenuItemCollection menuItems, int MultiUnitCount, string[] UnitNames, EPFormatFiles EPFiles)
{ {
//add outer menu //add outer menu
MenuItem mi = menuItems.Add("Electronic Procedure Viewer Export"); MenuItem mi = menuItems.Add("Electronic Procedure Viewer Export");
foreach (EPFormatFile epAnnType in EPFiles) foreach (EPFormatFile epAnnType in EPFiles)
@@ -1419,7 +1419,7 @@ namespace Volian.Controls.Library
multiunit_mv.Click += new EventHandler(miEP_Click); multiunit_mv.Click += new EventHandler(miEP_Click);
} }
} }
else else
{ {
mv.Tag = $"{epAnnType.AnnotationTypeID},0"; mv.Tag = $"{epAnnType.AnnotationTypeID},0";
mv.Click += new EventHandler(miEP_Click); mv.Click += new EventHandler(miEP_Click);
@@ -1427,7 +1427,7 @@ namespace Volian.Controls.Library
} }
} }
private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri) private void AddApprovedRevisionsMultiUnit(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
{ {
_currentPri = pri; _currentPri = pri;
RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID); RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID);
@@ -1478,11 +1478,11 @@ namespace Volian.Controls.Library
ril = null; ril = null;
} }
} }
public void AddNewNode(IVEDrillDownReadOnly o) public void AddNewNode(IVEDrillDownReadOnly o)
{ {
VETreeNode tn = new VETreeNode(o); VETreeNode tn = new VETreeNode(o);
SelectedNode.Nodes.Add(tn); SelectedNode.Nodes.Add(tn);
} }
private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri) private void AddApprovedRevisions(Menu.MenuItemCollection menuItemCollection, ProcedureInfo pri)
{ {
try try
@@ -1491,7 +1491,7 @@ namespace Volian.Controls.Library
_currentPri = pri; _currentPri = pri;
using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID)) using (RevisionInfoList ril = RevisionInfoList.GetByItemID(pri.ItemID))
{ {
//_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true)); //_MyLog.WarnFormat("Context Menu 1 After GET - {0}", GC.GetTotalMemory(true));
if (ril.Count == 0) return; // no versions to list if (ril.Count == 0) return; // no versions to list
MenuItem mi = menuItemCollection.Add("Versions"); MenuItem mi = menuItemCollection.Add("Versions");
int lastApprovedRevisionID = 0; int lastApprovedRevisionID = 0;
@@ -1625,7 +1625,7 @@ namespace Volian.Controls.Library
} }
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : ""); vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
OnViewPDF(sender, args); OnViewPDF(sender, args);
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded)); // System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
} }
void MultiUnitApprovedRevision_Click(object sender, EventArgs e) void MultiUnitApprovedRevision_Click(object sender, EventArgs e)
{ {
@@ -1748,7 +1748,7 @@ namespace Volian.Controls.Library
// 3) 'to' docversion is 'source' and 'from' procedure is within this docversion // 3) 'to' docversion is 'source' and 'from' procedure is within this docversion
// 4) 'to' docVersion is 'enhanced' and 'from' procedure is not // 4) 'to' docVersion is 'enhanced' and 'from' procedure is not
bool canPaste = false; bool canPaste = false;
DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
DocVersionConfig dvc = dvi.DocVersionConfig; DocVersionConfig dvc = dvi.DocVersionConfig;
bool docVersionIsEnhanced = dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type == 0; bool docVersionIsEnhanced = dvc.MyEnhancedDocuments != null && dvc.MyEnhancedDocuments.Count > 0 && dvc.MyEnhancedDocuments[0].Type == 0;
@@ -1769,7 +1769,7 @@ namespace Volian.Controls.Library
if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation. if (iiClipboard.IsRtfRaw) canPaste = false; // never paste an equation.
if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click)); if (canPaste) cm.MenuItems.Add("Paste Procedure", new EventHandler(mi_Click));
} }
#endregion #endregion
} }
else else
{ {
@@ -1987,7 +1987,7 @@ namespace Volian.Controls.Library
OnQPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); OnQPrintSection(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break; break;
case "Print All Procedures for": case "Print All Procedures for":
OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); OnPrintAllProcedures(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
break; break;
case "Approve": case "Approve":
OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag)); OnApproveProcedure(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, mi.Text, (int)mi.Tag));
@@ -2048,7 +2048,7 @@ namespace Volian.Controls.Library
if (hasValidConnectingProc) if (hasValidConnectingProc)
{ {
ItemInfo lprc = ItemInfo.Get(seleds[0].ItemID); ItemInfo lprc = ItemInfo.Get(seleds[0].ItemID);
lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc); lprc.DoUnlinkEnhanced(lprc, 0, !hasValidConnectingProc);
} }
else else
selprc.DoUnlinkEnhanced(selprc, seleds[0].Type, !hasValidConnectingProc); selprc.DoUnlinkEnhanced(selprc, seleds[0].Type, !hasValidConnectingProc);
@@ -2068,7 +2068,7 @@ namespace Volian.Controls.Library
{ {
ItemInfo lprc = ItemInfo.Get(ed.ItemID); ItemInfo lprc = ItemInfo.Get(ed.ItemID);
bool hasValidConnectingProc = CheckForValidEnhLink(lprc); bool hasValidConnectingProc = CheckForValidEnhLink(lprc);
// if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure. // if there is a valid connection, unlink both. Otherwise, just unlink this selected procedure.
if (hasValidConnectingProc) if (hasValidConnectingProc)
lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc); lprc.DoUnlinkEnhanced(lprc, ed.Type, !hasValidConnectingProc);
else else
@@ -2092,37 +2092,37 @@ namespace Volian.Controls.Library
OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0)); OnNodeSI(this, new vlnTreeEventArgs(tn, null, 0));
return; return;
} }
if (mi.Text.StartsWith("Collapse")) if (mi.Text.StartsWith("Collapse"))
{ {
CollapseProcedures(); CollapseProcedures();
return; return;
} }
if (mi.Text == "Print Transition Report") if (mi.Text == "Print Transition Report")
{ {
OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode)); OnPrintTransitionReport(this, new vlnTreeEventArgs(SelectedNode as VETreeNode));
return; return;
} }
if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure") if (mi.Text == "Export Procedure Set" || mi.Text == "Export Procedure")
{ {
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
return; return;
} }
if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure") if (mi.Text == "Import Procedure Set" || mi.Text == "Import Procedure")
{ {
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1)); OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 1));
return; return;
} }
if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to")) if (mi.Text.StartsWith("Procedure Checked Out to") || mi.Text.StartsWith("Document Checked Out to"))
{ {
OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnProcedureCheckedOutTo(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
return; return;
@@ -2148,7 +2148,7 @@ namespace Volian.Controls.Library
break; break;
case "New Folder": case "New Folder":
SelectedNode.Expand(); SelectedNode.Expand();
tv_NodeNew(MenuSelections.Folder); tv_NodeNew(MenuSelections.Folder);
break; break;
case "Create Working Draft": case "Create Working Draft":
SelectedNode.Expand(); SelectedNode.Expand();
@@ -2192,7 +2192,7 @@ namespace Volian.Controls.Library
tv_NodeCopy(); tv_NodeCopy();
break; break;
// lots of paste options: // lots of paste options:
case "Paste Procedure": case "Paste Procedure":
case "Paste Procedure Before": case "Paste Procedure Before":
case "Paste Procedure After": case "Paste Procedure After":
case "Paste Section": case "Paste Section":
@@ -2226,7 +2226,7 @@ namespace Volian.Controls.Library
break; break;
} }
case "Delete": case "Delete":
if (tv_NodeDelete()) if (tv_NodeDelete())
{ {
@@ -2294,12 +2294,12 @@ namespace Volian.Controls.Library
case "Create Continuous Action Summary": case "Create Continuous Action Summary":
OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnCreateContinuousActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;
// F2022-024 Time Critical Action Summary // F2022-024 Time Critical Action Summary
case "Create Time Critical Action Summary": case "Create Time Critical Action Summary":
OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0)); OnCreateTimeCriticalActionSummary(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0));
break; break;
// B2017-243 added the following two Cannot Paste items when dealing with enhanced documents // B2017-243 added the following two Cannot Paste items when dealing with enhanced documents
// when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted // when then user selects these menu items a message box will appear giving more information as to why it cannot be pasted
case "CANNOT PASTE HERE. Click for more information...": case "CANNOT PASTE HERE. Click for more information...":
FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" + FlexibleMessageBox.Show("You have copied a document that is linked to an Enhanced Document.\n\n" +
"It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here"); "It can only be pasted before or after another document, within the set, that is linked to an Enhanced Document.", "Cannot Paste Here");
@@ -2339,7 +2339,7 @@ namespace Volian.Controls.Library
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, annTypeid)); OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, annTypeid));
else else
OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, "", unit, annTypeid)); OnExportImportProcedureSets(this, new vlnTreeEventArgs(SelectedNode as VETreeNode, null, 0, "", unit, annTypeid));
} }
private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed private bool _doingCollapseNode = false; // B2016-058 when collapse is done, it always calls the drag node event which doesn't appear to be needed
private void CollapseProcedures() private void CollapseProcedures()
{ {
@@ -2358,7 +2358,7 @@ namespace Volian.Controls.Library
foreach (VETreeNode tnc in tn.Nodes) foreach (VETreeNode tnc in tn.Nodes)
CollapseProcedures(tnc); CollapseProcedures(tnc);
if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null) if (tn.VEObject as DocVersionInfo == null && tn.VEObject as FolderInfo == null)
tn.Collapse(); tn.Collapse();
_doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node _doingCollapseNode = true; // B2016-058 this will prevent a Drag Node error when collapsing an RNOs, Cautions, or Notes tree node
} }
private void tv_RemoveChgIds() private void tv_RemoveChgIds()
@@ -2418,7 +2418,7 @@ namespace Volian.Controls.Library
using (DocVersion dv = DocVersion.Get(MyDVI.VersionID)) using (DocVersion dv = DocVersion.Get(MyDVI.VersionID))
{ {
swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder swROUpdate = new System.IO.StreamWriter(ROFstInfo.ROUpdateResultsPath(MyDVI)); // RO changes placed in file in the Documents\VEPROMS folder
// B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo // B2022-026 RO Memory Reduction code - first load the new ro.fst so that we can assign the ROTableUpdate event to the correct roFstInfo
if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed if (dv.ROfstLoadingFigures || dv.NewerRoFst) // B2017-125 see if loading figures was completed
{ {
// only load the RO.fst // only load the RO.fst
@@ -2559,7 +2559,7 @@ namespace Volian.Controls.Library
return; return;
} }
// C2017-003: ro data in sql server, check for sql connection string // C2017-003: ro data in sql server, check for sql connection string
if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring") if (MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString != "cstring")
roloc = roloc + " \"" + MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString + "\""; roloc = roloc + " \"" + MyDVI.DocVersionAssociations[0].MyROFst.MyRODb.DBConnectionString + "\"";
// C2021-026 pass in Parent/Child information (list of the children) // C2021-026 pass in Parent/Child information (list of the children)
// B2022-019 look at all DocVersions to find ParentChild information // B2022-019 look at all DocVersions to find ParentChild information
@@ -2610,7 +2610,7 @@ namespace Volian.Controls.Library
} }
} }
VETreeNode tn = SelectedNode as VETreeNode; VETreeNode tn = SelectedNode as VETreeNode;
DocVersionInfo dvi = tn.VEObject as DocVersionInfo; DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
// Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section) // Check for paste into a docversion - queries/code is different than paste related to an item (into a proc or section)
if (dvi != null) if (dvi != null)
@@ -2660,7 +2660,7 @@ namespace Volian.Controls.Library
if (OnlyProc && repitem != null && tmp != null) if (OnlyProc && repitem != null && tmp != null)
{ {
VETreeNode tn1 = new VETreeNode(repitem); VETreeNode tn1 = new VETreeNode(repitem);
tmp.Nodes.Add(tn1); tmp.Nodes.Add(tn1);
SelectedNode = tn1; SelectedNode = tn1;
} }
} }
@@ -2669,7 +2669,7 @@ namespace Volian.Controls.Library
//if (p.IndexOf("Replace") <= -1) //if (p.IndexOf("Replace") <= -1)
this.Cursor = Cursors.Default; this.Cursor = Cursors.Default;
} }
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID) public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
@@ -2738,7 +2738,7 @@ namespace Volian.Controls.Library
// the item to be pasted in the step editor and the tree. // the item to be pasted in the step editor and the tree.
ItemInfo newItemInfo = null; ItemInfo newItemInfo = null;
// F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format // F2021-009 display a message if pasting step will results in more sub-step levels than are defined in the format
if (!ii.IsProcedure) if (!ii.IsProcedure)
ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, false); ItemInfo.PasteStepIsWithinDefinedSubStepLevels(copyStartID, ii, false);
if (ii.IsProcedure || !OnPasteItemInfo(this, new vlnTreeItemInfoPasteEventArgs(ii, copyStartID, pasteOpt, ii.MyContent.Type))) if (ii.IsProcedure || !OnPasteItemInfo(this, new vlnTreeItemInfoPasteEventArgs(ii, copyStartID, pasteOpt, ii.MyContent.Type)))
{ {
@@ -2801,7 +2801,7 @@ namespace Volian.Controls.Library
SelectedNode.Nodes.Add(tn1); // add tree node to end of list. SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
SelectedNode = tn1; SelectedNode = tn1;
} }
private void tv_NodeCopy() private void tv_NodeCopy()
{ {
if (SelectedNode == null) return; if (SelectedNode == null) return;
VETreeNode tn = SelectedNode as VETreeNode; VETreeNode tn = SelectedNode as VETreeNode;
@@ -2839,7 +2839,7 @@ namespace Volian.Controls.Library
{ {
using (Folder folder = folderInfo.Get()) using (Folder folder = folderInfo.Get())
{ {
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig)); OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} Properties", folder.FolderConfig.Name), folder.FolderConfig));
} }
} }
private void OpenProperties(DocVersionInfo dvInfo) private void OpenProperties(DocVersionInfo dvInfo)
@@ -2853,7 +2853,7 @@ namespace Volian.Controls.Library
{ {
using (Procedure proc = procInfo.Get()) using (Procedure proc = procInfo.Get())
{ {
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig)); OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(string.Format("{0} {1} Properties", proc.ProcedureConfig.Number, proc.ProcedureConfig.Title), proc.ProcedureConfig));
} }
} }
private void OpenProperties(SectionInfo sectInfo) private void OpenProperties(SectionInfo sectInfo)
@@ -2866,7 +2866,7 @@ namespace Volian.Controls.Library
title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title); title = string.Format("{0} {1} Properties", sectInfo.SectionConfig.Number, sectInfo.SectionConfig.Title);
else else
title = string.Format("{0} Properties", sectInfo.SectionConfig.Title); title = string.Format("{0} Properties", sectInfo.SectionConfig.Title);
OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig)); OnNodeOpenProperty(this, new vlnTreePropertyEventArgs(title, sect.SectionConfig));
} }
} }
private void OpenProperties(StepInfo stpinfo) private void OpenProperties(StepInfo stpinfo)
@@ -3004,7 +3004,7 @@ namespace Volian.Controls.Library
procedure.Save(); procedure.Save();
tn = new VETreeNode(_LastProcedureInfo); tn = new VETreeNode(_LastProcedureInfo);
SelectedNode.Nodes.Add(tn); // add tree node to end of list. SelectedNode.Nodes.Add(tn); // add tree node to end of list.
// The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034) // The following line will allow for a refresh of the procedure list on the Working Draft's treenodes docversion (B2016-034)
if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures(); if (((SelectedNode as VETreeNode).VEObject as DocVersionInfo) != null) ((SelectedNode as VETreeNode).VEObject as DocVersionInfo).ResetProcedures();
if (procedure.MyProcedureInfo.CreateEnhanced) if (procedure.MyProcedureInfo.CreateEnhanced)
{ {
@@ -3046,7 +3046,7 @@ namespace Volian.Controls.Library
else else
p2 = procedure.ItemID; p2 = procedure.ItemID;
} }
if (p2 != -1) if (p2 != -1)
DeleteItemInfoAndChildren(_LastProcedureInfo); // Delete Item and reset Previous and Next DeleteItemInfoAndChildren(_LastProcedureInfo); // Delete Item and reset Previous and Next
} }
#endregion #endregion
@@ -3056,11 +3056,11 @@ namespace Volian.Controls.Library
string message = string.Empty; string message = string.Empty;
if (_LastProcedureInfo != null) if (_LastProcedureInfo != null)
if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message)) if (!MySessionInfo.CanCheckOutItem(_LastProcedureInfo.ItemID, CheckOutType.Procedure, ref message))
{ {
FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning); FlexibleMessageBox.Show(this, message, "Item Already Checked Out", MessageBoxButtons.OK, MessageBoxIcon.Warning);
OnUnPauseRefresh(this, null); OnUnPauseRefresh(this, null);
return; return;
} }
int s1 = -1; int s1 = -1;
if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null)) if (!(_LastProcedureInfo == null) || !(_LastSectionInfo == null))
{ {
@@ -3113,8 +3113,8 @@ namespace Volian.Controls.Library
{ {
tn = new VETreeNode(_LastSectionInfo); tn = new VETreeNode(_LastSectionInfo);
SelectedNode.Nodes.Add(tn); // add tree node to end of list. SelectedNode.Nodes.Add(tn); // add tree node to end of list.
// if the new section was flagged as either having an enhanced link for Title or Contents, create the // if the new section was flagged as either having an enhanced link for Title or Contents, create the
// Enhanced section: // Enhanced section:
Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem. Section sectiontmp = Section.Get(section.ItemID); // need to do this because of 'caching' problem.
if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y") if (sectiontmp.SectionConfig.LinkEnhanced == "T" || sectiontmp.SectionConfig.LinkEnhanced == "Y")
CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text); CreateEnhancedForSection(newtype, sectiontmp, savLastSectionInfo, sectiontmp.DisplayNumber, sectiontmp.MyContent.Text);
@@ -3142,7 +3142,7 @@ namespace Volian.Controls.Library
if (s1 != -1) if (s1 != -1)
{ {
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
// B2020-087 refresh the tree node after canceling the creation of the subsection // B2020-087 refresh the tree node after canceling the creation of the subsection
_LastTreeNode.ChildrenLoaded = false; _LastTreeNode.ChildrenLoaded = false;
_LastTreeNode.RefreshNode(); _LastTreeNode.RefreshNode();
_LastTreeNode.Collapse(); _LastTreeNode.Collapse();
@@ -3189,7 +3189,7 @@ namespace Volian.Controls.Library
if (s2 != -1) if (s2 != -1)
{ {
DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next DeleteItemInfoAndChildren(_LastSectionInfo);// Delete Item and reset Previous and Next
// B2020-087 refresh the tree node after canceling the creation of the subsection // B2020-087 refresh the tree node after canceling the creation of the subsection
_LastTreeNode.ChildrenLoaded = false; _LastTreeNode.ChildrenLoaded = false;
_LastTreeNode.RefreshNode(); _LastTreeNode.RefreshNode();
_LastTreeNode.Collapse(); _LastTreeNode.Collapse();
@@ -3386,7 +3386,7 @@ namespace Volian.Controls.Library
cs.Save(); cs.Save();
} }
} }
private Section CreateNewSection() private Section CreateNewSection()
{ {
// B2020-087 the config for SubSection_Edit was sometimes set even when there wasn't any subsections, // B2020-087 the config for SubSection_Edit was sometimes set even when there wasn't any subsections,
@@ -3426,7 +3426,7 @@ namespace Volian.Controls.Library
// The parent step was not open in the step editor, just create new step(s) and add treenode. // The parent step was not open in the step editor, just create new step(s) and add treenode.
int newId = -1; int newId = -1;
// B2020-076: if this step has a template, insert template steps. // B2020-076: if this step has a template, insert template steps.
int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002); int topType = ii.GetSmartTemplateTopLevelIndxOfThisType(20002);
if (topType != -1) if (topType != -1)
{ {
ItemInfo tmp = null; ItemInfo tmp = null;
@@ -3646,7 +3646,7 @@ namespace Volian.Controls.Library
{ {
foreach (DVEnhancedDocument dve in dvc.MyEnhancedDocuments) foreach (DVEnhancedDocument dve in dvc.MyEnhancedDocuments)
{ {
if (dve.Type != 0) if (dve.Type != 0)
DocVersion.Delete(dve.VersionID); DocVersion.Delete(dve.VersionID);
else else
{ {
@@ -3692,7 +3692,7 @@ namespace Volian.Controls.Library
if (ed.Type != 0) enhIds.Add(ed.ItemID); if (ed.Type != 0) enhIds.Add(ed.ItemID);
// always return false because an event gets fired to delete tree nodes. // always return false because an event gets fired to delete tree nodes.
if (!DeleteItemInfoAndChildren(_LastProcedureInfo)) return false; if (!DeleteItemInfoAndChildren(_LastProcedureInfo)) return false;
_LastProcedureInfo = null; _LastProcedureInfo = null;
foreach (int enhId in enhIds) foreach (int enhId in enhIds)
{ {
@@ -3791,7 +3791,7 @@ namespace Volian.Controls.Library
} }
return false; return false;
} }
public void RemoveFolder(int folderId) public void RemoveFolder(int folderId)
{ {
TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes); TreeNode nodeToRemove = FindNodeById(folderId, this.Nodes);
@@ -3865,7 +3865,7 @@ namespace Volian.Controls.Library
// C2020-033: Support delete to bring up Search/Incoming Transitions panel // C2020-033: Support delete to bring up Search/Incoming Transitions panel
if (ex.Message.Contains("has External Transitions")) if (ex.Message.Contains("has External Transitions"))
{ {
ItemInfo iis = ItemInfo.Get(ii.ItemID); ItemInfo iis = ItemInfo.Get(ii.ItemID);
OnSearchIncTransIn(this, new vlnTreeItemInfoEventArgs(iis)); OnSearchIncTransIn(this, new vlnTreeItemInfoEventArgs(iis));
iis = ii.HandleSqlExceptionOnDelete(ex); iis = ii.HandleSqlExceptionOnDelete(ex);
} }
@@ -3963,7 +3963,7 @@ namespace Volian.Controls.Library
ItemInfo iidrag = ((VETreeNode)dragNode).VEObject as ItemInfo; ItemInfo iidrag = ((VETreeNode)dragNode).VEObject as ItemInfo;
FolderInfo fdrag = ((VETreeNode)dragNode).VEObject as FolderInfo; FolderInfo fdrag = ((VETreeNode)dragNode).VEObject as FolderInfo;
DocVersionInfo ddrag = ((VETreeNode)dragNode).VEObject as DocVersionInfo; DocVersionInfo ddrag = ((VETreeNode)dragNode).VEObject as DocVersionInfo;
if ((iidrag == null && fdrag == null && ddrag == null)) if ((iidrag == null && fdrag == null && ddrag == null))
{ {
FlexibleMessageBox.Show("Cannot drag/drop a grouping node."); FlexibleMessageBox.Show("Cannot drag/drop a grouping node.");
return; return;
@@ -4014,7 +4014,7 @@ namespace Volian.Controls.Library
{ {
get { return _lastScroll; } get { return _lastScroll; }
} }
private string _location = string.Empty; private string _location = string.Empty;
#endregion #endregion
#region Constructors #region Constructors
public DropLocation(TreeView tv, System.Windows.Forms.DragEventArgs e, DateTime lastScroll) public DropLocation(TreeView tv, System.Windows.Forms.DragEventArgs e, DateTime lastScroll)
@@ -4131,7 +4131,7 @@ namespace Volian.Controls.Library
{ {
return; return;
} }
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString()); //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("Line at {0} Node {1}[{2}] {3}", _location, _dropNode.Text, _index, _position.ToString());
// Changed the color of the drag indicator to always be red // Changed the color of the drag indicator to always be red
Color lc = (_position == DropPosition.After ? Color.Red : Color.Red); Color lc = (_position == DropPosition.After ? Color.Red : Color.Red);
Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red); Brush lb = (_position == DropPosition.After ? Brushes.Red : Brushes.Red);
@@ -4158,12 +4158,12 @@ namespace Volian.Controls.Library
//if (e.Effect == DragDropEffects.None) return; //if (e.Effect == DragDropEffects.None) return;
if (_dropNode != null) if (_dropNode != null)
{ {
// if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); // if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation1 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
DragHelper.ImageList_DragShowNolock(false); DragHelper.ImageList_DragShowNolock(false);
TreeView tv = _dropNode.TreeView; TreeView tv = _dropNode.TreeView;
TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y))); TreeNode tmp = tv.GetNodeAt(tv.PointToClient(new Point(e.X, e.Y)));
// if (!ScrollOnly) // if (!ScrollOnly)
// { // {
if (ScrollTreeView(tmp) || !ScrollOnly) if (ScrollTreeView(tmp) || !ScrollOnly)
{ {
//if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond); //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("ShowLocation2 {0} {1}", e.Effect.ToString(), DateTime.Now.Millisecond);
@@ -4176,8 +4176,8 @@ namespace Volian.Controls.Library
if (_position != DropPosition.Child) InsertPointer(tmp, g); if (_position != DropPosition.Child) InsertPointer(tmp, g);
} }
} }
// } // }
// else ScrollTreeView(tmp); // else ScrollTreeView(tmp);
DragHelper.ImageList_DragShowNolock(true); DragHelper.ImageList_DragShowNolock(true);
} }
} }
@@ -4200,10 +4200,10 @@ namespace Volian.Controls.Library
tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible tn.NextVisibleNode.EnsureVisible();// Make sure that the next node is visible
else else
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false) if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode != null && tn.PrevVisibleNode.PrevVisibleNode.IsVisible == false)
tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible } tn.PrevVisibleNode.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible }
else else
if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false) if (tn.PrevVisibleNode != null && tn.PrevVisibleNode.IsVisible == false)
tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible tn.PrevVisibleNode.EnsureVisible();// Make sure that the previous node is visible
retval = (top != tn.Bounds.Top); retval = (top != tn.Bounds.Top);
// if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll"); // if (retval) if(_MyLog.IsInfoEnabled)_MyLog.Info("Scroll");
} }
@@ -4236,7 +4236,7 @@ namespace Volian.Controls.Library
{ {
DragDropEffects ee = e.Effect; DragDropEffects ee = e.Effect;
if (e.KeyState == 13) // Shift and Control Keys to do a move. if (e.KeyState == 13) // Shift and Control Keys to do a move.
ee = DragDropEffects.Move; ee = DragDropEffects.Move;
else else
ee = DragDropEffects.None; // Default - Do nothing ee = DragDropEffects.None; // Default - Do nothing
if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node if (IsChild(dragNode, dl.DropNode)) // Don't copy or move to a child node
@@ -4432,28 +4432,28 @@ namespace Volian.Controls.Library
if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex); if (_MyLog.IsErrorEnabled) _MyLog.Error("tv_DragDrop", ex);
} }
} }
// private void DumpMembers(object o) // private void DumpMembers(object o)
// { // {
// Type t = o.GetType(); // Type t = o.GetType();
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString()); // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("\r\n\r\nMembers for type {0}", t.ToString());
// MemberInfo[] mis = t.GetMembers(); // MemberInfo[] mis = t.GetMembers();
// int i = 0; // int i = 0;
// foreach (MemberInfo mi in mis) // foreach (MemberInfo mi in mis)
// { // {
// i++; // i++;
// try // try
// { // {
// //if(mi.MemberType != MemberTypes.Method) // //if(mi.MemberType != MemberTypes.Method)
// //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType); // //if(_MyLog.IsInfoEnabled)_MyLog.InfoFormat("{0} {1} {2}", i, mi.Name, mi.MemberType);
//// if (fi.Name == "TreeView") //// if (fi.Name == "TreeView")
//// fi.SetValue(o, null); //// fi.SetValue(o, null);
// } // }
// catch (Exception ex) // catch (Exception ex)
// { // {
// if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex); // if(_MyLog.IsErrorEnabled)_MyLog.Error("DumpMembers", ex);
// } // }
// } // }
// } // }
private TreeNode Clone(TreeNode tn) private TreeNode Clone(TreeNode tn)
{ {