private void reglerLaden() { if (_fss != null) { if (_fss.AktiverReglerNr != regler.ID) { regler = Parent.ReglerElemente.Element(_fss.AktiverReglerNr); } } }
/// <summary> /// zeichnet die Regler-Farbe des Gleises /// </summary> /// <param name="graphics"></param> public override void ElementZeichnen1(Graphics graphics) { if (this.AnzeigenTyp == AnzeigeTyp.Bedienen) { //int transpanz = 255; if (reglerNr < 0) { if ((_fss == null) || (_fss.ID != -reglerNr)) { _fss = Parent.FssElemente.Element(-reglerNr); } if (_fss != null) { regler = Parent.FssElemente.Element(-reglerNr).AktiverRegler(); } else { byte tb = 0; } } if (reglerNr > 0) { if (regler == null || reglerNr != regler.ID) { regler = Parent.ReglerElemente.Element(reglerNr); } } if ((reglerNr != 0) && (regler != null)) { Color farbeStift = regler.Farbe; //farbeStift = Color.FromArgb(transpanz, Color.Azure); Pen stiftGleis = new Pen(farbeStift, Convert.ToSingle(this.Zoom * 0.75)); stiftGleis.EndCap = LineCap.Round; stiftGleis.StartCap = LineCap.Round; graphics.DrawPath(stiftGleis, this._graphicsPath); } } }
/// <summary> /// /// </summary> /// <param name="parent"></param> /// <param name="zoom"></param> /// <param name="anzeigeTyp"></param> /// <param name="elem">gesplittete Speicherstring aus der Anlagendatei (anl)</param> public Gleis(AnlagenElemente parent, Int32 zoom, AnzeigeTyp anzeigeTyp, string[] elem) : base(parent, Convert.ToInt32(elem[1]), zoom, anzeigeTyp) { Ausgang = new Adresse(Parent); Eingang = new Adresse(Parent); _graphicsPath = new GraphicsPath(); KurzBezeichnung = "Gl"; string[] start = elem[2].Split(' '); string[] end = elem[3].Split(' '); Ausgang.SpeicherString = elem[5]; Eingang.SpeicherString = elem[6]; Bezeichnung = elem[7]; if (elem.Length > 8) { Stecker = elem[8]; } if (elem.Length > 9) { KoppelungsString = elem[9]; } reglerNr = 0; reglerNr = Convert.ToInt32(elem[4]); if (reglerNr > 0) { regler = parent.ReglerElemente.Element(Convert.ToInt32(elem[4])); } StartKn = Parent.KnotenElemente.Element(Convert.ToInt32(start[0])); EndKn = Parent.KnotenElemente.Element(Convert.ToInt32(end[0])); Berechnung(); if (StartKn.AttachTrack(this, Convert.ToInt32(start[1])) && EndKn.AttachTrack(this, Convert.ToInt32(end[1]))) { Parent.GleisElemente.Hinzufügen(this); } }