From 7cb179f085b3af7f77d826d449ce9a74feea65c1 Mon Sep 17 00:00:00 2001 From: John Date: Wed, 13 May 2015 17:25:15 +0000 Subject: [PATCH] Added logic to support doing an Add Next or Add Previous on a Table --- PROMS/Volian.Controls.Library/EditItem.cs | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/PROMS/Volian.Controls.Library/EditItem.cs b/PROMS/Volian.Controls.Library/EditItem.cs index ba800415..0ce55b84 100644 --- a/PROMS/Volian.Controls.Library/EditItem.cs +++ b/PROMS/Volian.Controls.Library/EditItem.cs @@ -974,12 +974,30 @@ namespace Volian.Controls.Library { SaveContents(); ItemInfo newItemInfo = MyItemInfo.InsertSiblingAfter(text); + AddGridIfNeeded(newItemInfo); DoAddSiblingAfter(newItemInfo, updateStatus); } + + // This logic allows us to do an Insert Before and Insert After while on a Table + // if allowed by the format + private void AddGridIfNeeded(ItemInfo newItemInfo) + { + if (this is GridItem) + { + GridItem gi = this as GridItem; + VlnFlexGrid fg = new VlnFlexGrid(gi.MyFlexGrid.Rows.Count, gi.MyFlexGrid.Cols.Count); + using (Item itm = newItemInfo.Get()) + { + itm.MyContent.MyGrid.Data = fg.GetXMLData(); + itm.Save(); + } + } + } public void AddSiblingAfter(int? type, bool updateStatus) { SaveContents(); ItemInfo newItemInfo = MyItemInfo.InsertSiblingAfter("", "", type); + AddGridIfNeeded(newItemInfo); DoAddSiblingAfter(newItemInfo, updateStatus); } private void DoAddSiblingAfter(ItemInfo newItemInfo, bool updateStatus) @@ -1012,7 +1030,7 @@ namespace Volian.Controls.Library { SaveContents(); ItemInfo newItemInfo = MyItemInfo.InsertSiblingBefore("", "",type); - + AddGridIfNeeded(newItemInfo); DoAddSiblingBefore(newItemInfo, updateStatus); } public void AddSiblingBefore(string text, bool updateSelection) @@ -1025,6 +1043,7 @@ namespace Volian.Controls.Library // any updates from the richtextbox text. SaveContents(); ItemInfo newItemInfo = MyItemInfo.InsertSiblingBefore(text); + AddGridIfNeeded(newItemInfo); DoAddSiblingBefore(newItemInfo, updateSelection); } public void DoAddSiblingBefore(ItemInfo newItemInfo, bool updateSelection)