using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Text; using System.Windows.Forms; using VEPROMS.CSLA.Library; namespace Volian.Controls.Library { public partial class DisplayFoldoutMaint : UserControl { private ItemInfo _MyItemInfo; public ItemInfo MyItemInfo { get { return _MyItemInfo; } set { _MyItemInfo = value; _MainStepSection = null; FillInControls(); } } private SectionInfo _MainStepSection; public SectionInfo MainStepSection { get { if (_MainStepSection == null) { foreach (SectionInfo si in MyItemInfo.MyProcedure.Sections) { SectionConfig sc = (SectionConfig)si.MyConfig; if (sc.Section_OriginalSteps == "Y") _MainStepSection = si; } } return _MainStepSection; } } private ItemInfo _firstStep; private ItemInfo _lastStep; public DisplayFoldoutMaint() { InitializeComponent(); FillInControls(); } private void FillInControls() { // for this iteminfo, get the procedure and then the list of sections. For any section, starting with // Foldout, add it to list: if (MyItemInfo != null) { ProcedureInfo pi = MyItemInfo.MyProcedure; listBoxFoldouts.Items.Clear(); lvSteps.Items.Clear(); foreach (SectionInfo si in pi.Sections) if (si.DisplayText.ToUpper().StartsWith("FOLDOUT"))listBoxFoldouts.Items.Add(si); if (listBoxFoldouts.Items.Count > 0) listBoxFoldouts.SelectedIndex = 0; else { listBoxFoldouts.Items.Add("No Foldouts Exist"); return; } // find default step section & use its steps to fill in tree. ItemInfo startitm = MainStepSection.Steps != null && MainStepSection.Steps.Count > 0 ? MainStepSection.Steps[0] : null; while (startitm != null) { lvSteps.Items.Add(startitm.ToString()); lvSteps.Items[lvSteps.Items.Count - 1].Tag = startitm; startitm = (startitm.NextItem != null && startitm.NextItems.Count > 0 ? startitm.NextItems[0] : null); } } ColorFoldoutSelection(); } private void ColorFoldoutSelection() { if (MyItemInfo == null) return; if (listBoxFoldouts.Items[0].ToString() == "No Foldouts Exist") return; SectionInfo foldOutselected = listBoxFoldouts.Items[listBoxFoldouts.SelectedIndex] as SectionInfo; ItemInfo tmpStep = null; // keep track of previous step, so can set _lastStep; for (int i = 0; i