Right and left arrow key fixes to hand RNOs
This commit is contained in:
parent
bb9d4f9042
commit
ebe7ae7ffa
@ -754,7 +754,7 @@ namespace Volian.Controls.Library
|
||||
break;
|
||||
case E_ArrowKeys.Right:
|
||||
case E_ArrowKeys.CtrlRight:
|
||||
if (ei.MyItemInfo.RNOs != null)
|
||||
if (!ei.MyItemInfo.IsInRNO && ei.MyItemInfo.RNOs != null)
|
||||
SelectedEditItem = _LookupEditItems[ei.MyItemInfo.RNOs[0].ItemID];
|
||||
else
|
||||
ii = MoveDown(ei, ii);
|
||||
@ -762,13 +762,41 @@ namespace Volian.Controls.Library
|
||||
case E_ArrowKeys.Left:
|
||||
case E_ArrowKeys.CtrlLeft:
|
||||
if (!ei.MyItemInfo.IsProcedure)
|
||||
SelectedEditItem = _LookupEditItems[ei.MyItemInfo.MyParent.ItemID];
|
||||
{
|
||||
EditItem tmpEI = null;
|
||||
//SelectedEditItem = _LookupEditItems[ei.MyItemInfo.MyParent.ItemID];
|
||||
ii = ArrowUp(ei.MyItemInfo);
|
||||
if (ii != null)
|
||||
{
|
||||
ItemInfo tmpII = ii;
|
||||
while (!ei.MyItemInfo.IsInRNO && tmpII.RNOs != null)
|
||||
tmpII = GetLowestRNOEditItem(tmpII, ei.MyItemInfo);
|
||||
if (tmpII != ei.MyItemInfo)
|
||||
ii = tmpII;
|
||||
SelectedEditItem = _LookupEditItems[ii.ItemID];
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// This is used for the Left Arrow key when we move off the current edit window
|
||||
private ItemInfo GetLowestRNOEditItem(ItemInfo newII, ItemInfo startII)
|
||||
{
|
||||
EditItem tmpEI = _LookupEditItems[newII.RNOs[newII.RNOs.Count - 1].ItemID];
|
||||
ItemInfo tmpII = tmpEI.MyItemInfo;
|
||||
while (tmpII != startII && tmpII.RNOs != null)
|
||||
{
|
||||
tmpEI = _LookupEditItems[tmpII.RNOs[tmpII.RNOs.Count - 1].ItemID];
|
||||
tmpII = tmpEI.MyItemInfo;
|
||||
}
|
||||
if (tmpII != startII && tmpEI.MyAfterEditItems != null)
|
||||
tmpEI = tmpEI.MyAfterEditItems[tmpEI.MyAfterEditItems.Count - 1];
|
||||
return tmpEI.MyItemInfo;
|
||||
}
|
||||
|
||||
private ItemInfo MoveDown(EditItem ei, ItemInfo ii)
|
||||
{
|
||||
ii = ArrowDown(ei.MyItemInfo);
|
||||
@ -781,7 +809,7 @@ namespace Volian.Controls.Library
|
||||
private ItemInfo ArrowUp(ItemInfo ii)
|
||||
{
|
||||
// Arrow-Up from a Substep should look for a Table.
|
||||
if (ii.IsStepPart && (ii.ActiveParent as ItemInfo).Tables != null)
|
||||
if (ii.IsStepPart && (ii.MyPrevious == null) && (ii.ActiveParent as ItemInfo).Tables != null)
|
||||
return BottomPart((ii.ActiveParent as ItemInfo).Tables[0]);
|
||||
// if on RNO, check display mode (1 column/2 column, etc) and how deep RNO is before going to
|
||||
// parents substeps.
|
||||
|
Loading…
x
Reference in New Issue
Block a user