public void SetElementsSelection(CycloneParticleSizeAndFractionControl elementCtrl, ModifierKey modKey) { if (modKey == ModifierKey.Ctrl) { elementCtrl.IsSelected = !elementCtrl.IsSelected; this.baseIndex = this.GetIndexOfElement(elementCtrl); } else if (modKey == ModifierKey.Shift) { int currentIdx = this.GetIndexOfElement(elementCtrl); if (currentIdx >= 0 && this.baseIndex >= 0) { this.UnselectElements(); int minIdx = System.Math.Min(currentIdx, this.baseIndex); int maxIdx = System.Math.Max(currentIdx, this.baseIndex); this.SetElementsSelection(minIdx, maxIdx); } } else { this.UnselectElements(); elementCtrl.IsSelected = true; this.baseIndex = this.GetIndexOfElement(elementCtrl); } }
public void DeleteSelectedElements() { IEnumerator e = this.GetSelectedIndexes().GetEnumerator(); while (e.MoveNext()) { CycloneParticleSizeAndFractionControl element = this.GetElement((int)e.Current); this.particleDistributionCache.RemoveParticleSizeFractionAndEfficiency(element.SizeAndFraction); } }
private void SetElementsSelection(int minIdx, int maxIdx) { CycloneParticleSizeAndFractionControl element = null; for (int i = 0; i < this.panel.Controls.Count; i++) { if (i >= minIdx && i <= maxIdx) { element = this.panel.Controls[i] as CycloneParticleSizeAndFractionControl; element.IsSelected = true; } } }
private int GetIndexOfElement(CycloneParticleSizeAndFractionControl elementCtrl) { int index = -1; for (int i = 0; i < this.panel.Controls.Count - 1; i++) { if ((this.panel.Controls[i] as CycloneParticleSizeAndFractionControl).Equals(elementCtrl)) { index = i; break; } } return(index); }
public void UpdateTheUI(Flowsheet flowsheet, ParticleDistributionCache particleDistributionModel) { this.panel.Controls.Clear(); IEnumerator e = particleDistributionCache.SizeFractionAndEfficiencyList.GetEnumerator(); int i = 0; while (e.MoveNext()) { ParticleSizeFractionAndEfficiency psf = (ParticleSizeFractionAndEfficiency)e.Current; CycloneParticleSizeAndFractionControl ctrl = new CycloneParticleSizeAndFractionControl(this, flowsheet, psf); ctrl.Location = new Point(0, ctrl.Height * i++); this.panel.Controls.Add(ctrl); } this.cycloneTotalEfficiencyControl.InitializeTheUI(flowsheet, particleDistributionCache); this.cycloneTotalEfficiencyControl.Location = new Point(0, this.cycloneTotalEfficiencyControl.Height * i); this.panel.Controls.Add(this.cycloneTotalEfficiencyControl); }