This commit is contained in:
parent
92adada4fb
commit
09b1cce695
@ -161,7 +161,7 @@ namespace Volian.Controls.Library
|
||||
cbTranProcsFillIn(_CurrentProcedure);
|
||||
if (_CurrentProcedure.Sections != null)
|
||||
{
|
||||
cbTranSectsFillIn(secitm, secitm == null ? -1 : secitm.ItemID);
|
||||
cbTranSectsFillIn(secitm, secitm == null ? -1 : secitm.ItemID, true);
|
||||
// Fill step items, passing in the active step to the selected item, or the first
|
||||
// step if the selection was not at the step level.
|
||||
ItemInfo stpitm = null;
|
||||
@ -415,6 +415,14 @@ namespace Volian.Controls.Library
|
||||
tvTran.Nodes.Clear();
|
||||
groupPanelTranstionSteps.Style.BackColor = _OrigGroupPanelSteps;
|
||||
if (startitm == null) return;
|
||||
|
||||
// if metasections, and the selected section's config item has noneditable data, then don't
|
||||
// display any steps.
|
||||
ItemInfo secitm = (ItemInfo)cbTranSects.SelectedItem;
|
||||
bool hasMetaSubs = secitm.IsSection && secitm.Sections != null && secitm.Sections.Count > 0;
|
||||
bool editSteps = !hasMetaSubs || (secitm.MyConfig is SectionConfig && (secitm.MyConfig as SectionConfig).SubSection_Edit == "Y");
|
||||
if (!editSteps) return;
|
||||
|
||||
// if the transition to point is a section or procedure, just return
|
||||
if (startitm.MyContent.Type < 20000) return;
|
||||
groupPanelTranstionSteps.Style.BackColor = Color.Cornsilk;
|
||||
@ -445,15 +453,16 @@ namespace Volian.Controls.Library
|
||||
tvTran.ItemHeight++;
|
||||
tvTran.ItemHeight--;
|
||||
}
|
||||
private void cbTranSectsFillIn(ItemInfo secitm, int secstart)
|
||||
private int savSecStart;
|
||||
private void cbTranSectsFillIn(ItemInfo secitm, int secstart, bool clear)
|
||||
{
|
||||
cbTranSects.Items.Clear();
|
||||
if (clear) cbTranSects.Items.Clear();
|
||||
// if the transition points 'to' procedure, don't list the sections yet.
|
||||
if (secitm == null || secitm.MyContent.Type < 10000) return;
|
||||
// if sectstart is not -1, then use this as the section to select, otherwise
|
||||
// use the id for the item passed in.
|
||||
int startitm = secstart;
|
||||
if (secstart < 0) secstart = secitm.ItemID;
|
||||
if (clear && secstart < 0) secstart = secitm.ItemID;
|
||||
ItemInfo selitm = secitm; // this is the selected 'section'
|
||||
secitm = secitm.FirstSibling;
|
||||
while (secitm != null)
|
||||
@ -466,6 +475,7 @@ namespace Volian.Controls.Library
|
||||
int active = cbTranSects.Items.Add(secitm);
|
||||
if (secitm.ItemID == secstart) cbTranSects.SelectedIndex = active;
|
||||
}
|
||||
if (secitm.Sections != null && secitm.Sections.Count > 0) cbTranSectsFillIn(secitm.Sections[0], -1, false);
|
||||
secitm = (secitm.NextItem != null && secitm.NextItems.Count > 0 ? secitm.NextItems[0] : null);
|
||||
}
|
||||
|
||||
@ -697,7 +707,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
int sectstartid = FindSectionStart(_CurrentProcedure);
|
||||
IList chldrn = _CurrentProcedure.GetChildren();
|
||||
if (chldrn != null && chldrn.Count > 0) cbTranSectsFillIn((ItemInfo)chldrn[0], secitm==null?sectstartid:secitm.ItemID); //sectstartid);
|
||||
if (chldrn != null && chldrn.Count > 0) cbTranSectsFillIn((ItemInfo)chldrn[0], secitm==null?sectstartid:secitm.ItemID, true); //sectstartid);
|
||||
}
|
||||
_TranFmtIndx = listBoxTranFmt.SelectedIndex;
|
||||
groupPanelTranFmt.Style.BackColor = (_CurTrans == null && _TranFmtIndx == 0) ? Color.Yellow : Color.Orange;
|
||||
@ -792,7 +802,7 @@ namespace Volian.Controls.Library
|
||||
}
|
||||
int sectstartid = FindSectionStart(prcitm);
|
||||
IList chldrn = prcitm.GetChildren();
|
||||
cbTranSectsFillIn((ItemInfo)chldrn[0], sectstartid);
|
||||
cbTranSectsFillIn((ItemInfo)chldrn[0], sectstartid, true);
|
||||
}
|
||||
private void tvTran_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user