public override Panel CreatePanel(SequenceProcEnv environment) { Panel ret = new Panel(); ret.Height = 160; GroupBox group = new GroupBox(); group.Text = ParamName; group.Dock = DockStyle.Fill; SequenceSelectionControl list = new SequenceSelectionControl(); list.AttachController(environment.Controller, _conditionToShowOnList); list.SelectionMode = SelectionMode.One; list.SelectedIndexChanged += new EventHandler((s, e) => { IList <SequenceData> items = list.SelectedItems; if (items.Count == 1) { this.Value = items[0]; } else { this.Value = null; } this.DoValueChanged(); }); int index = 0; list.SelectedIndices.Clear(); foreach (var viewer in environment.Controller.GetViewList()) { if (Value == viewer.Sequence) { list.SelectedIndices.Add(index); } if (_conditionToShowOnList(viewer)) { index++; } } list.Dock = DockStyle.Fill; group.Controls.Add(list); ret.Controls.Add(group); return(ret); }
public override Panel CreatePanel(SequenceProcEnv environment) { Panel ret = new Panel(); ret.Height = 160; GroupBox group = new GroupBox(); group.Text = ParamName; group.Dock = DockStyle.Fill; SequenceSelectionControl list = new SequenceSelectionControl(); list.AttachController(environment.Controller, _conditionToShowOnList); list.SelectionMode = SelectionMode.MultiExtended; list.SelectedIndexChanged += new EventHandler((s, e) => { Value = list.SelectedItems; DoValueChanged(); }); int index = 0; list.SelectedIndices.Clear(); foreach (var viewer in environment.Controller.GetViewList()) { if (Value.Contains(viewer.Sequence)) { list.SelectedIndices.Add(index); } if (_conditionToShowOnList(viewer)) { index++; } } list.Dock = DockStyle.Fill; group.Controls.Add(list); ret.Controls.Add(group); return(ret); }