This commit is contained in:
Kathy Ruffing 2010-11-30 16:04:31 +00:00
parent bd10fa7bc2
commit b3b3f5e518

View File

@ -408,8 +408,10 @@ namespace Volian.Controls.Library
} }
else if (tn.VEObject as StepInfo != null) else if (tn.VEObject as StepInfo != null)
{ {
cm.MenuItems.Add("Insert Step Before", new EventHandler(mi_Click)); // check the format for allowable inserts, and also,
cm.MenuItems.Add("Insert Step After", new EventHandler(mi_Click)); ItemInfo i = tn.VEObject as ItemInfo;
if (AddToInsertMenu(i,0)) cm.MenuItems.Add("Insert Step Before", new EventHandler(mi_Click));
if (AddToInsertMenu(i,1)) cm.MenuItems.Add("Insert Step After", new EventHandler(mi_Click));
} }
#endregion #endregion
#region Menu_Open #region Menu_Open
@ -452,6 +454,18 @@ namespace Volian.Controls.Library
} }
} }
private bool AddToInsertMenu(ItemInfo ii, int ba) // 0 = before, 1 = after
{
// set up insert buttons based on format
bool retB = true;
E_AccStep? actable = 0;
StepData sd = ii.FormatStepData;
actable = sd.StepEditData.AcTable;
if (actable == null) actable = 0;
return (ba == 0) ? !ii.IsRNOPart && (actable & E_AccStep.AddingPrev) > 0 :
!ii.IsRNOPart && (actable & E_AccStep.AddingNext) > 0;
}
private void Menu_Paste(VETreeNode tn, ContextMenu cm) private void Menu_Paste(VETreeNode tn, ContextMenu cm)
{ {
#region MenuPaste #region MenuPaste
@ -496,9 +510,9 @@ namespace Volian.Controls.Library
cm.MenuItems.Add("Paste Step", new EventHandler(mi_Click)); cm.MenuItems.Add("Paste Step", new EventHandler(mi_Click));
else if (iiPasteHere.IsStep && iiClipboard.IsStep) else if (iiPasteHere.IsStep && iiClipboard.IsStep)
{ {
cm.MenuItems.Add("Paste Step Before", new EventHandler(mi_Click)); if (AddToInsertMenu(iiPasteHere, 0)) cm.MenuItems.Add("Paste Step Before", new EventHandler(mi_Click));
cm.MenuItems.Add("Replace Existing Step", new EventHandler(mi_Click)); cm.MenuItems.Add("Replace Existing Step", new EventHandler(mi_Click));
cm.MenuItems.Add("Paste Step After", new EventHandler(mi_Click)); if (AddToInsertMenu(iiPasteHere, 1)) cm.MenuItems.Add("Paste Step After", new EventHandler(mi_Click));
} }
} }
} }
@ -1174,11 +1188,13 @@ 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) || (iidrag != null && iidrag.IsStep)) if ((iidrag == null && fdrag == null && ddrag == null))
{ {
MessageBox.Show(iidrag==null?"Cannot drag/drop a grouping node.":"Cannot drag/drop a Step"); MessageBox.Show("Cannot drag/drop a grouping node.");
return; return;
} }
// don't put up message, message kept coming up on any selection of node (to copy, properties, etc)
//if (iidrag != null && iidrag.IsStep) return;
if (SetupDragCursor(_dragImageList, dragNode)) if (SetupDragCursor(_dragImageList, dragNode))
{ {
this.DoDragDrop(dragNode, DragDropEffects.Move | DragDropEffects.Copy);// Begin dragging this.DoDragDrop(dragNode, DragDropEffects.Move | DragDropEffects.Copy);// Begin dragging