Updated to include passing teh selected tree node parent for cases where the only procedure in a folder is being replaced. otherwise i pass null for that as its not really used.
This commit is contained in:
@@ -1836,7 +1836,8 @@ namespace Volian.Controls.Library
|
||||
bool gotoFirstTrans = false;
|
||||
try
|
||||
{
|
||||
newItemInfo = Item.PasteReplace(MyItemInfo, copyStartID, GetChangeId(MyItemInfo), ref gotoFirstTrans);
|
||||
TreeNode treeNodeReplace = null;
|
||||
newItemInfo = Item.PasteReplace(MyItemInfo, copyStartID, GetChangeId(MyItemInfo), treeNodeReplace, ref gotoFirstTrans);
|
||||
if (gotoFirstTrans) //B2017-179 could not replace step, we are positioning onto the first transition that needs resolved
|
||||
{
|
||||
MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OpenItem(newItemInfo);
|
||||
|
@@ -2035,7 +2035,8 @@ namespace Volian.Controls.Library
|
||||
|
||||
if (ovewriteEx == DialogResult.Cancel) break;
|
||||
else
|
||||
{
|
||||
{
|
||||
TreeNode treenodeDirectory = SelectedNode.Parent;
|
||||
tv_NodePaste(mi.Text);
|
||||
break;
|
||||
}
|
||||
@@ -2407,6 +2408,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
}
|
||||
VETreeNode tn = SelectedNode as VETreeNode;
|
||||
TreeNode treeNodeReplace = SelectedNode.Parent; //Get Tree Node of Parent we are proc we are placing into.
|
||||
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)
|
||||
if (dvi != null)
|
||||
@@ -2442,8 +2444,8 @@ namespace Volian.Controls.Library
|
||||
else if (p.IndexOf("After") > -1)
|
||||
PasteBeforeOrAfter(MenuSelections.StepAfter, tn, iiClipboard.ItemID);
|
||||
else if (p.IndexOf("Replace") > -1)
|
||||
{
|
||||
PasteReplace(tn, iiClipboard.ItemID);
|
||||
{
|
||||
PasteReplace(tn, iiClipboard.ItemID, treeNodeReplace);
|
||||
}
|
||||
else // paste as child
|
||||
PasteAsChild(tn, iiClipboard.ItemID);
|
||||
@@ -2452,7 +2454,7 @@ namespace Volian.Controls.Library
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
|
||||
private void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
||||
public void PasteAsDocVersionChild(VETreeNode tn, int copyStartID)
|
||||
{
|
||||
// Only need to handle paste in tree since this will create a new procedure.
|
||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||
@@ -2539,7 +2541,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
SelectedNode = (VETreeNode)((newtype == MenuSelections.StepAfter) ? tn.NextNode : tn.PrevNode);
|
||||
}
|
||||
private void PasteReplace(VETreeNode tn, int copyStartID)
|
||||
private void PasteReplace(VETreeNode tn, int copyStartID, TreeNode treeNodeReplace)
|
||||
{
|
||||
VETreeNode prevtn = (VETreeNode) tn.PrevNode;
|
||||
VETreeNode partn = (VETreeNode) tn.Parent;
|
||||
@@ -2550,7 +2552,7 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
// first, check if a changeid is required.
|
||||
string chgId = OnGetChangeId(this, new vlnTreeItemInfoEventArgs(ii));
|
||||
ItemInfo replItemInfo = Item.PasteReplace(ii, copyStartID, chgId);
|
||||
ItemInfo replItemInfo = Item.PasteReplace(ii, copyStartID, chgId, treeNodeReplace);
|
||||
|
||||
StepConfig replItemConfig = ii.MyConfig as StepConfig;
|
||||
if (replItemInfo != null)
|
||||
@@ -2563,12 +2565,30 @@ namespace Volian.Controls.Library
|
||||
|
||||
|
||||
}
|
||||
private void tv_NodeCopy()
|
||||
public void PasteRepalceEmpty(VETreeNode tn, int copyStartID)
|
||||
{
|
||||
if (SelectedNode==null)return;
|
||||
VETreeNode tn = SelectedNode as VETreeNode;
|
||||
OnNodeCopy(this, new vlnTreeEventArgs(tn));
|
||||
// Only need to handle paste in tree since this will create a new procedure.
|
||||
DocVersionInfo dvi = tn.VEObject as DocVersionInfo;
|
||||
if (dvi.DocVersionAssociationCount == 0)
|
||||
{
|
||||
// Set docversionassociation to the copied docversion association
|
||||
// so that the rofst for ro's can be found. (if there is no association set)
|
||||
ROFstInfo rfi = GetAssociationRofstId(copyStartID);
|
||||
Association myAs = Association.MakeAssociation(dvi.Get(), rfi.GetJustROFst(), "");
|
||||
dvi.RefreshDocVersionAssociations();
|
||||
}
|
||||
ItemInfo newProc = dvi.PasteChild(copyStartID);
|
||||
VETreeNode tn1 = new VETreeNode(newProc);
|
||||
SelectedNode.Nodes.Add(tn1); // add tree node to end of list.
|
||||
SelectedNode = tn1;
|
||||
}
|
||||
private void tv_NodeCopy()
|
||||
{
|
||||
if (SelectedNode == null) return;
|
||||
VETreeNode tn = SelectedNode as VETreeNode;
|
||||
OnNodeCopy(this, new vlnTreeEventArgs(tn));
|
||||
}
|
||||
|
||||
#endregion
|
||||
#region PropertyPagesInterface
|
||||
private void SetupNodeProperties()
|
||||
|
Reference in New Issue
Block a user