private void Rueckgaengig_Verschieben() { object[] parameter = (object[])_neuerWert; Point pDiff = (Point)((object[])_neuerWert)[0]; Point pAltW = (Point)this._alterWert; switch (_elementTyp) { case ElementTyp.Gleis: break; case ElementTyp.Signal: case ElementTyp.Entkuppler: case ElementTyp.FSS: case ElementTyp.Schalter: case ElementTyp.InfoElement: case ElementTyp.EingangsSchalter: GleisRasterAnlagenElement element = (GleisRasterAnlagenElement)_element; element.PositionRaster = new Point(pAltW.X, pAltW.Y); element.BearbeitenAktualisierenNeuZeichnen(); break; case ElementTyp.Knoten: Knoten k = ((Knoten)_element); k.PositionRaster = new Point(pAltW.X, pAltW.Y); k.Berechnung(); foreach (Gleis item in k.Gleise) { if (item != null) { item.Berechnung(); if (item.Schalter != null) { item.Schalter.Berechnung(); } if (item.Fss != null) { item.Fss.Berechnung(); } foreach (Entkuppler el in item.Entkuppler) { if (el != null) { el.Berechnung(); } } foreach (Signal el in item.Signale) { if (el != null) { el.Berechnung(); } } } } foreach (Weiche item in k.Weichen) { if (item != null) { item.Berechnung(); } } break; } }
private bool Ausfuehren_Verschieben() { try { object[] parameter = (object[])_neuerWert; Point pDiff = (Point)((object[])_neuerWert)[0]; Point pAltW = (Point)this._alterWert; switch (_elementTyp) { case ElementTyp.Gleis: break; case ElementTyp.Signal: case ElementTyp.Entkuppler: case ElementTyp.FSS: case ElementTyp.Schalter: case ElementTyp.InfoElement: case ElementTyp.EingangsSchalter: GleisRasterAnlagenElement element = (GleisRasterAnlagenElement)_element; element.PositionRaster = new Point(pDiff.X + pAltW.X, pDiff.Y + pAltW.Y); element.BearbeitenAktualisierenNeuZeichnen(); if (element.AnschlussGleis == null) { return(false); } break; case ElementTyp.Knoten: Knoten k = ((Knoten)_element); k.PositionRaster = new Point(pDiff.X + pAltW.X, pDiff.Y + pAltW.Y); k.Berechnung(); foreach (Gleis item in k.Gleise) { if (item != null) { item.Berechnung(); if (item.Schalter != null) { item.Schalter.Berechnung(); } if (item.Fss != null) { item.Fss.Berechnung(); } foreach (Entkuppler el in item.Entkuppler) { if (el != null) { el.Berechnung(); } } foreach (Signal el in item.Signale) { if (el != null) { el.Berechnung(); } } foreach (EingangsSchalter el in item.EingSchalter) { if (el != null) { el.Berechnung(); } } } } foreach (Weiche item in k.Weichen) { if (item != null) { item.Berechnung(); } } break; } } catch (Exception exception) { } return(true); }