Table handling in the ProcessEnterKey logic

This commit is contained in:
John Jenko 2011-06-16 19:29:30 +00:00
parent 273113fbca
commit dd0fef1712

View File

@ -1548,7 +1548,7 @@ namespace Volian.Controls.Library
bool deletedRNO = false;
bool deletedNote = false;
bool deletedCaution = false;
if (MyStepRTB.Text.Length < 1) //empty step text
if (!MyItemInfo.IsTable && MyStepRTB.Text.Length < 1) //empty step text
{
deletedEmpty = true;
deletedHLS = MyItemInfo.IsHigh;
@ -1612,11 +1612,20 @@ namespace Volian.Controls.Library
{
if (deletedSubStep)
{
MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlUp); // jump to HLS
//MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlUp); // jump to HLS
SetShortCutContextMenu("InsHLS"); // prompt for new HLS
}
else if (deletedRNO || MyItemInfo.IsEquipmentList)
//else if (deletedRNO || MyItemInfo.IsEquipmentList)
// InsertSiblingBeforeOrAfter("after");
else if (MyItemInfo.IsEquipmentList)
InsertSiblingBeforeOrAfter("after");
else if (deletedRNO)
{
if (MyItemInfo.SearchNext.IsTable)
MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown);
else
InsertSiblingBeforeOrAfter("after");
}
else if (MyEditItem.MyRNOEditItems != null && MyEditItem.MyRNOEditItems.Count > 0)
MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlRight); // jump to RNO
else
@ -1645,9 +1654,21 @@ namespace Volian.Controls.Library
}
else if (MyItemInfo.IsTable || MyItemInfo.IsFigure)
{
ItemInfo next = MyItemInfo.SearchNext;
MyFlexGrid.Select(0, 0); // make sure we are at the first row before doing an up arrow
MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlUp);
if (MyItemInfo.IsHigh)
SetShortCutContextMenu("InsHLS");
{
if (deletedSubStep)
SetShortCutContextMenu("InsHLS");
else if (next.IsFirstSubStep)
{
MyEditItem.MyStepPanel.MyStepTabPanel.MyDisplayTabControl.OpenItem(next);
InsertSiblingBeforeOrAfter("before");
}
else
SetShortCutContextMenu("InsSubStps");
}
else
InsertSiblingBeforeOrAfter("after");
}
@ -1656,18 +1677,18 @@ namespace Volian.Controls.Library
private void AddSubStep()
{
EditItem nextDownEditItem = MyEditItem.NextDownEditItem;
bool skipTable = false;
// If the step has a table, move past it before adding a substep
if (nextDownEditItem != null && nextDownEditItem.MyItemInfo.MyParent.ItemID == MyEditItem.MyID &&
nextDownEditItem.MyItemInfo.IsTablePart)
{
nextDownEditItem = nextDownEditItem.NextDownEditItem;
skipTable = true;
}
//bool skipTable = false;
// //If the step has a table, move past it before adding a substep
//if (nextDownEditItem != null && nextDownEditItem.MyItemInfo.MyParent.ItemID == MyEditItem.MyID &&
// nextDownEditItem.MyItemInfo.IsTablePart)
//{
// nextDownEditItem = nextDownEditItem.NextDownEditItem;
// skipTable = true;
//}
if (nextDownEditItem != null && nextDownEditItem.MyItemInfo.MyParent.ItemID == MyEditItem.MyID)
{
MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown);
if (skipTable) MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown);
//if (skipTable) MyStepRTB.StepRTB_ArrowPressed(E_ArrowKeys.CtrlDown);
InsertSiblingBeforeOrAfter("before");
}
else