private void NoOfRebarsChanged(object sender, EventArgs e) { PhaseItem phaseItem = (PhaseItem)sender; if (phaseItem.RebarList.Count == 0) { RemovePhaseItem(phaseItem); } }
public void RemovePhaseItem(PhaseItem phaseItemToRemove) { if (phaseItemToRemove.RebarList.Count > 0) { RebarVisualizator.SetTempColor(phaseItemToRemove.RebarList, Data.NotAnalyzedColor); } colors.Enqueue(phaseItemToRemove.Color); PhaseItemsList.Remove(phaseItemToRemove); }
public void ModifyPhase() { PhaseItem phaseItemToSet = PhaseItemsList.First(ph => ph.Selected); foreach (Reinforcement rebar in rebarsSelector) { Phase phase = rebar.WhatIsMyPhase(); if (rebar.SetPhase(phaseItemToSet.Phase)) { RemoveRebar(rebar, phase); AddRebar(rebar); } } }
private void PhaseItemsList_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { switch (e.Action) { case NotifyCollectionChangedAction.Add: PhaseItem addedPhaseItem = (PhaseItem)e.NewItems[0]; if (addedPhaseItem != null) { addedPhaseItem.NoOfRebarsChanged += NoOfRebarsChanged; } break; case NotifyCollectionChangedAction.Remove: PhaseItem removedPhaseItem = (PhaseItem)e.OldItems[0]; if (removedPhaseItem != null) { removedPhaseItem.NoOfRebarsChanged -= NoOfRebarsChanged; } break; } }