C2024-026 Add feature to the transitions panel to allow user to hold currently selected procedure/set in the panel.
This commit is contained in:
@@ -27,7 +27,31 @@ namespace Volian.Controls.Library
|
||||
set
|
||||
{
|
||||
if (DesignMode || !Visible) return; // B2019-043 need to check if we are just saving changes to the user interface
|
||||
if (value == null) // Insert a transition
|
||||
//CSM-C2024-026 Evaluate the transitions panel
|
||||
//Create a way to keep it from reverting the transition display panel to the currently selected item/transition.
|
||||
//HeldLinkText will store if a transition was manually selected
|
||||
//to override defaulting the listboxes to the current step / selected transition
|
||||
if (HeldLinkText != "" && value != null)
|
||||
{
|
||||
//handle case where is held text and click on an already existing transition so cannot save one on top of the other.
|
||||
_CurTrans = value;
|
||||
btnTranSave.Enabled = false;
|
||||
btnTranCancel.Enabled = true;
|
||||
return;
|
||||
}
|
||||
else if (HeldLinkText != "" && MyRTB.MyItemInfo.ActiveFormat.Name == HeldLink_CurItemFrom.ActiveFormat.Name)
|
||||
{
|
||||
//this else if will handle case of defaulting to held transition instead of what has been clicked on
|
||||
//Note that if format is not the same, it will ignore the held item
|
||||
//This is because if different format, then options / selections may be different so will need to refresh the lists
|
||||
if (_CurTrans == value && _CurItemFrom == HeldLink_CurItemFrom) return;
|
||||
_CurItemFrom = HeldLink_CurItemFrom;
|
||||
_TranFmtIndx = HeldLink_TranFmtIndx;
|
||||
bool isenh = MyRTB != null && HeldLink_CurItemFrom != null && HeldLink_CurItemFrom.IsEnhancedStep;
|
||||
btnTranSave.Enabled = !isenh && UserInfo.CanEdit(MyUserInfo, Mydvi) && (value == null); //Can Insert Transitions
|
||||
btnTranCancel.Enabled = true;
|
||||
}
|
||||
else if (value == null) // Insert a transition
|
||||
{
|
||||
if (MyRTB == null) return;
|
||||
if (_CurTrans == value && _CurItemFrom == MyRTB.MyItemInfo) return;
|
||||
@@ -115,19 +139,13 @@ namespace Volian.Controls.Library
|
||||
_MyRTB.LinkChanged += new StepRTBLinkEvent(_MyRTB_LinkChanged);
|
||||
if (_MyRTB.MyLinkText == null)
|
||||
{
|
||||
CurTrans = null;
|
||||
CurTrans = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void _MyRTB_LinkChanged(object sender, StepPanelLinkEventArgs args)
|
||||
{
|
||||
//if (_MyRTB.MyLinkText == null)
|
||||
// CurTrans = null;
|
||||
//else
|
||||
//{
|
||||
// StepPanelLinkEventArgs tmp = new StepPanelLinkEventArgs(null, e);
|
||||
CurTrans = args.MyLinkText.MyTransitionInfo;
|
||||
//}
|
||||
CurTrans = args.MyLinkText.MyTransitionInfo;
|
||||
}
|
||||
private ItemInfo _CurrentItemProcedure; // the selected item's procedure
|
||||
private ItemInfo _CurrentToProcedure; // the 'to' location's procedure (may be same as _CurrentItemProcedure)
|
||||
@@ -138,6 +156,12 @@ namespace Volian.Controls.Library
|
||||
private Color _OrigGroupPanelProcs;
|
||||
private Color _OrigGroupPanelSects;
|
||||
private Color _OrigGroupPanelSteps;
|
||||
//CSM-C2024-026 Evaluate the transitions panel
|
||||
//Create a way to keep it from reverting the transition display panel to the currently selected item/transition.
|
||||
public string HeldLinkText { get; protected set; } = ""; //will hold link text to stay on
|
||||
public int HeldLink_TranFmtIndx { get; protected set; } = 0; //this will hold transition format that was selected on held item
|
||||
public ItemInfo HeldLink_CurItemFrom { get; protected set; } //this will hold item that transitioning from
|
||||
|
||||
#endregion
|
||||
#region Constructors
|
||||
public DisplayTransition()
|
||||
@@ -237,7 +261,7 @@ namespace Volian.Controls.Library
|
||||
if (selitm != null && selitm.MyContent.Type >= 20000)
|
||||
{
|
||||
|
||||
if (_DoingRange)
|
||||
if (_DoingRange && CurTrans != null)
|
||||
{
|
||||
tvInitHiliteRange(); //rangeSameLevel, stpitm, rngitm, (i1 < i2) ? i2 : i1);
|
||||
}
|
||||
@@ -938,6 +962,17 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
_InitializingTrans = false;
|
||||
SaveCancelEnabling();
|
||||
|
||||
//CSM-C2024-026 Evaluate the transitions panel
|
||||
//Create a way to keep it from reverting the transition display panel to the currently selected item/transition.
|
||||
//If checkbox is checked to enable holding an item,
|
||||
//then store the first step in the currently selected item
|
||||
if (cbHoldProcSet.Checked && secitm.Steps != null && secitm.Steps.Count > 0)
|
||||
{
|
||||
HeldLinkText = string.Format("#Link:Transition:{0} <NewID> {1}", listBoxTranFmt.SelectedIndex, secitm.Steps[0].ItemID);
|
||||
HeldLink_TranFmtIndx = listBoxTranFmt.SelectedIndex;
|
||||
HeldLink_CurItemFrom = secitm.Steps[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
// B2024-016 Hide the step tree when the transition definition does not include a step number {First Step}
|
||||
@@ -1089,6 +1124,18 @@ namespace Volian.Controls.Library
|
||||
return;
|
||||
}
|
||||
SaveCancelEnabling();
|
||||
|
||||
//CSM-C2024-026 Evaluate the transitions panel
|
||||
//Create a way to keep it from reverting the transition display panel to the currently selected item/transition.
|
||||
//If checkbox is checked to enable holding an item,
|
||||
//then store the currently selected item
|
||||
if (cbHoldProcSet.Checked)
|
||||
{
|
||||
HeldLinkText = string.Format("#Link:Transition:{0} <NewID> {1}", listBoxTranFmt.SelectedIndex, selii.ItemID);
|
||||
HeldLink_TranFmtIndx = listBoxTranFmt.SelectedIndex;
|
||||
HeldLink_CurItemFrom = selii;
|
||||
}
|
||||
|
||||
if (_DoingRange)
|
||||
{
|
||||
if (_RangeNode1 == null || (_RangeNode1 != null && _RangeNode2 != null))
|
||||
@@ -1370,6 +1417,13 @@ namespace Volian.Controls.Library
|
||||
_MyLog.InfoFormat("ItemID {0}, LinkText '{1}'", MyRTB.MyItemInfo.ItemID, linkText);
|
||||
int sel = MyRTB.SelectionStart + MyRTB.SelectionLength;
|
||||
MyRTB.Select(sel, 0);// Move cursor to end of LINK
|
||||
|
||||
//CSM-C2024-026 Evaluate the transitions panel
|
||||
//Create a way to keep it from reverting the transition display panel to the currently selected item/transition.
|
||||
//After save a transition, set the Linktext / tab to go back to the held transition
|
||||
//if none then this will refresh it to the currently selected item as it did before this csm
|
||||
MyRTB.MyLinkText = HeldLinkText;
|
||||
|
||||
MyRTB.Focus();
|
||||
}
|
||||
#endregion
|
||||
@@ -1489,8 +1543,34 @@ namespace Volian.Controls.Library
|
||||
btnTranSave.Enabled = UserInfo.CanEdit(MyUserInfo, Mydvi); //Can Insert Transitons
|
||||
}
|
||||
}
|
||||
}
|
||||
public class TransItem
|
||||
|
||||
//CSM-C2024-026 Evaluate the transitions panel
|
||||
//Create a way to keep it from reverting the transition display panel to the currently selected item/transition.
|
||||
//If checkbox is checked to enable holding an item,
|
||||
//then store the currently selected item
|
||||
//if checkbox becomes unchecked then clear item.
|
||||
private void cbHoldProcSet_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (cbHoldProcSet.Checked)
|
||||
{
|
||||
VETreeNode vt = tvTran.SelectedNode as VETreeNode;
|
||||
ItemInfo selii = vt.VEObject as ItemInfo;
|
||||
if (selii != null)
|
||||
{
|
||||
HeldLinkText = string.Format("#Link:Transition:{0} <NewID> {1}", listBoxTranFmt.SelectedIndex, selii.ItemID);
|
||||
HeldLink_TranFmtIndx = listBoxTranFmt.SelectedIndex;
|
||||
HeldLink_CurItemFrom = selii;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
HeldLinkText = "";
|
||||
HeldLink_CurItemFrom = null;
|
||||
HeldLink_TranFmtIndx = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
public class TransItem
|
||||
{
|
||||
private string _ItemDescription;
|
||||
|
||||
|
Reference in New Issue
Block a user