public void SetElementsSelection(MaterialComponentNameAndFractionControl 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()) { MaterialComponentNameAndFractionControl element = this.GetElement((int)e.Current); this.dryingMaterialCache.RemoveMaterialComponent(element.MaterialComponent); } }
private void SetElementsSelection(int minIdx, int maxIdx) { MaterialComponentNameAndFractionControl element = null; for (int i = 0; i < this.panel.Controls.Count; i++) { if (i >= minIdx && i <= maxIdx) { element = this.panel.Controls[i] as MaterialComponentNameAndFractionControl; element.IsSelected = true; } } }
private int GetIndexOfElement(MaterialComponentNameAndFractionControl elementCtrl) { int index = -1; for (int i = 0; i < this.panel.Controls.Count - 1; i++) { if ((this.panel.Controls[i] as MaterialComponentNameAndFractionControl).Equals(elementCtrl)) { index = i; break; } } return(index); }
public void UpdateTheUI(ArrayList materialComponentList, INumericFormat iNumericFormat) { this.panel.Controls.Clear(); IEnumerator e = materialComponentList.GetEnumerator(); int i = 0; while (e.MoveNext()) { MaterialComponent mc = (MaterialComponent)e.Current; MaterialComponentNameAndFractionControl ctrl = new MaterialComponentNameAndFractionControl(this, mc, iNumericFormat); ctrl.Location = new Point(0, ctrl.Height * i++); this.panel.Controls.Add(ctrl); } }