This commit is contained in:
@@ -36,6 +36,7 @@ namespace Volian.Controls.Library
|
||||
if (_CurTrans == value) return;
|
||||
_TranFmtIndx = value.TranType;
|
||||
_CurItemFrom = MyRTB.MyItemInfo;
|
||||
btnTranSave.Enabled = btnTranCancel.Enabled = false;
|
||||
}
|
||||
_CurTrans = value;
|
||||
_SavCurItemFrom = _CurItemFrom;
|
||||
@@ -111,6 +112,7 @@ namespace Volian.Controls.Library
|
||||
_InitializingTrans = true;
|
||||
if (_RangeNode1 != null || _RangeNode2 != null) ClearRangeTransition();
|
||||
InitControls();
|
||||
btnTranCancel.Enabled = false;
|
||||
_InitializingTrans = false;
|
||||
}
|
||||
private void InitControls()
|
||||
@@ -395,30 +397,45 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
private void tvTranFillIn(ItemInfo startitm)
|
||||
{
|
||||
bool nostep = false;
|
||||
tvTran.Nodes.Clear();
|
||||
groupPanelTranstionSteps.Style.BackColor = _OrigGroupPanelSteps;
|
||||
if (startitm == null) return;
|
||||
// if the transition to point is a section or procedure, just return
|
||||
if (startitm.MyContent.Type < 20000) return;
|
||||
if (startitm.MyContent.Type < 20000) nostep = true;
|
||||
|
||||
groupPanelTranstionSteps.Style.BackColor = Color.Cornsilk;
|
||||
// For the tree view, use parent, unless already at HLS. If at HLS, use this level.
|
||||
ItemInfo selitm = startitm;
|
||||
if (_CurTrans == null)
|
||||
if (!nostep)
|
||||
{
|
||||
if (!startitm.IsHigh)
|
||||
if (_CurTrans == null)
|
||||
{
|
||||
startitm = startitm.MyParent;
|
||||
selitm = startitm;
|
||||
if (!startitm.IsHigh)
|
||||
{
|
||||
startitm = startitm.MyParent;
|
||||
selitm = startitm;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
selitm = null;
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
||||
// no step
|
||||
VETreeNode nost = null;
|
||||
if ((etm & E_TransUI.StepAllowNone) == E_TransUI.StepAllowNone)
|
||||
{
|
||||
VETreeNode tvn = new VETreeNode("No step");
|
||||
tvTran.Nodes.Add(tvn);
|
||||
nost = tvn;
|
||||
}
|
||||
startitm = startitm.FirstSibling;
|
||||
while (startitm != null)
|
||||
{
|
||||
VETreeNode tvn = new VETreeNode(startitm);
|
||||
tvn.Tag = startitm;
|
||||
int active = this.tvTran.Nodes.Add(tvn);
|
||||
if (startitm.ItemID == selitm.ItemID) tvTran.SelectedNode = tvTran.Nodes[active];
|
||||
if (nost == null && startitm.ItemID == selitm.ItemID) tvTran.SelectedNode = tvTran.Nodes[active];
|
||||
startitm = (startitm.NextItemCount > 0 ? startitm.NextItems[0] : null);
|
||||
}
|
||||
tvTran.BeforeExpand += new TreeViewCancelEventHandler(tvTran_BeforeExpand);
|
||||
@@ -494,7 +511,7 @@ namespace Volian.Controls.Library
|
||||
|
||||
// Do section combo, in 16-bit system it was types 0, 3, 4, 5
|
||||
if (cbTranSects.Items.Count > 0 &&
|
||||
(((etm & E_TransUI.SectDefault) == E_TransUI.SectDefault) ||
|
||||
( //((etm & E_TransUI.SectDefault) == E_TransUI.SectDefault) ||
|
||||
((etm & E_TransUI.SectMenuAny) == E_TransUI.SectMenuAny) ||
|
||||
((etm & E_TransUI.SectMenuStep) == E_TransUI.SectMenuStep)))
|
||||
{
|
||||
@@ -502,8 +519,10 @@ namespace Volian.Controls.Library
|
||||
groupPanelTransitionSect.Style.BackColor = Color.Cornsilk;
|
||||
}
|
||||
else
|
||||
{
|
||||
cbTranSects.Enabled = false;
|
||||
|
||||
}
|
||||
|
||||
// check for range - if no range, then range button/label & step tree selections should be
|
||||
// 'cleared/invisble'.
|
||||
btnTranRangeClear.Visible = _DoingRange;
|
||||
@@ -647,12 +666,32 @@ namespace Volian.Controls.Library
|
||||
groupPanelTranFmt.Style.BackColor = (_CurTrans == null && _TranFmtIndx == 0) ? Color.Yellow : Color.Orange;
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[_TranFmtIndx].TransUI;
|
||||
_DoingRange = (etm & E_TransUI.StepLast) == E_TransUI.StepLast;
|
||||
// get section selected and if it's a step section, fill in the treeview of steps
|
||||
if (cbTranSects.Items.Count > 0)
|
||||
{
|
||||
ItemInfo secitm = (ItemInfo) cbTranSects.SelectedItem;
|
||||
if (secitm == null || !secitm.IsStepSection)
|
||||
{
|
||||
tvTran.Nodes.Clear();
|
||||
tvTran.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
_InitializingTrans = true; // just initializing now, don't set any ranges, etc.
|
||||
tvTranFillIn(secitm.Steps[0]);
|
||||
tvTran.Enabled = true;
|
||||
_InitializingTrans = false;
|
||||
}
|
||||
}
|
||||
SetControlsEnabling();
|
||||
}
|
||||
private void btnUp1_Click(object sender, EventArgs e)
|
||||
{
|
||||
// if StepAllowNone, then use the second node in the tree view.
|
||||
int indx = 0;
|
||||
if (tvTran.Nodes[0].Tag == null) indx = 1;
|
||||
// if at HLS, don't do anything.
|
||||
ItemInfo curitm = (ItemInfo)((VETreeNode)tvTran.Nodes[0]).VEObject;
|
||||
ItemInfo curitm = (ItemInfo)((VETreeNode)tvTran.Nodes[indx]).VEObject;
|
||||
if (curitm.IsHigh) return;
|
||||
tvTranFillIn(curitm);
|
||||
}
|
||||
@@ -661,6 +700,7 @@ namespace Volian.Controls.Library
|
||||
VETreeNode tn = ((VETreeNode)e.Node);
|
||||
// true fixes empty expand, but allows for transitions 'way down' in RNO tree. HVJ & PAL wanted to
|
||||
// allow this (12/2/09)
|
||||
tn.ChildrenLoaded = false;
|
||||
tn.LoadChildren(true);
|
||||
}
|
||||
private void cbTranSects_SelectedIndexChanged(object sender, EventArgs e)
|
||||
@@ -673,6 +713,10 @@ namespace Volian.Controls.Library
|
||||
{
|
||||
tvTran.Nodes.Clear();
|
||||
tvTran.Enabled = false;
|
||||
// Set Save & Cancel enabling, depending on whether section can be an endpoint.
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[_TranFmtIndx].TransUI;
|
||||
bool noStepNeeded = (etm & E_TransUI.StepAllowNone) == E_TransUI.StepAllowNone;
|
||||
SaveCancelEnabling(noStepNeeded, secitm);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -707,18 +751,24 @@ namespace Volian.Controls.Library
|
||||
private void tvTran_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
if (_InitializingTrans) return;
|
||||
E_TransUI etm = (E_TransUI)_CurItemFrom.ActiveFormat.PlantFormat.FormatData.TransData.TransTypeList[listBoxTranFmt.SelectedIndex].TransUI;
|
||||
if ((etm & E_TransUI.StepAllowNone) == E_TransUI.StepAllowNone && tvTran.SelectedNode.Tag==null)
|
||||
{
|
||||
btnTranSave.Enabled = true;
|
||||
return;
|
||||
}
|
||||
// check if node is a true end-point, i.e. not a 'part' node. If part node, don't
|
||||
// allow selection.
|
||||
bool allowSave = false;
|
||||
VETreeNode vt = tvTran.SelectedNode as VETreeNode;
|
||||
ItemInfo selii = vt.VEObject as ItemInfo;
|
||||
if (vt != null)
|
||||
{
|
||||
ItemInfo ii = vt.VEObject as ItemInfo;
|
||||
if (ii != null) allowSave = true;
|
||||
if (selii != null) allowSave = true;
|
||||
}
|
||||
if (!_DoingRange)
|
||||
{
|
||||
btnTranSave.Enabled = allowSave;
|
||||
{
|
||||
SaveCancelEnabling(allowSave, selii);
|
||||
return;
|
||||
}
|
||||
if (!allowSave)
|
||||
@@ -736,6 +786,7 @@ namespace Volian.Controls.Library
|
||||
_RangeNode2 = null;
|
||||
lblxTranRangeTip.Text = "Select Last Step \r\nfor Range";
|
||||
lblxTranRangeTip.BackColor = Color.LightPink;
|
||||
btnTranSave.Enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -745,11 +796,29 @@ namespace Volian.Controls.Library
|
||||
tvTranRangeHilites(true, _RangeNode1, _RangeNode2);
|
||||
lblxTranRangeTip.Text = "Select First Transition\r\nfor Range";
|
||||
lblxTranRangeTip.BackColor = Color.Yellow;
|
||||
btnTranSave.Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void SaveCancelEnabling(bool allowSave, ItemInfo selii)
|
||||
{
|
||||
btnTranSave.Enabled = allowSave;
|
||||
if (CurTrans != null)
|
||||
{
|
||||
if (CurTrans.ToID == selii.ItemID) btnTranCancel.Enabled = btnTranSave.Enabled = false;
|
||||
else
|
||||
{
|
||||
btnTranCancel.Enabled = true;
|
||||
btnTranSave.Enabled = allowSave;
|
||||
}
|
||||
}
|
||||
else btnTranSave.Enabled = allowSave;
|
||||
}
|
||||
private void btnTranCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
btnTranSave.Enabled = false;
|
||||
btnTranCancel.Enabled = false;
|
||||
_CurItemFrom = _SavCurItemFrom;
|
||||
_TranFmtIndx = _SavTranFmtIndx;
|
||||
TransitionFillIn();
|
||||
@@ -829,20 +898,22 @@ namespace Volian.Controls.Library
|
||||
else if ((etm & E_TransUI.StepFirst) == E_TransUI.StepFirst)
|
||||
{
|
||||
VETreeNode vtn = (VETreeNode)tvTran.SelectedNode;
|
||||
if (vtn != null)
|
||||
if (vtn != null && vtn.Tag != null)
|
||||
{
|
||||
toItem = (ItemInfo)vtn.VEObject; // is this cast valid?
|
||||
linktxt = string.Format("#Link:Transition:{0} <NewID> {1}", listBoxTranFmt.SelectedIndex, toItem.ItemID);
|
||||
}
|
||||
}
|
||||
// toItem may have been set in the 'Range' selection code above.
|
||||
if (toItem == null && (etm & E_TransUI.SectMenuAny) == E_TransUI.SectMenuAny)
|
||||
{
|
||||
if (tvTran.Enabled == false || toItem.IsAccPages)
|
||||
if (tvTran.Enabled == false || (toItem!=null && toItem.IsAccPages))
|
||||
toItem = (ItemInfo)cbTranSects.SelectedItem;
|
||||
else
|
||||
{
|
||||
VETreeNode vtn = (VETreeNode)tvTran.SelectedNode;
|
||||
toItem = (ItemInfo)vtn.VEObject;
|
||||
if (vtn.Tag == null) toItem = (ItemInfo)cbTranSects.SelectedItem;
|
||||
else toItem = (ItemInfo)vtn.VEObject;
|
||||
}
|
||||
if (toItem==null)
|
||||
{
|
||||
|
Reference in New Issue
Block a user