示例#1
0
 private void reglerLaden()
 {
     if (_fss != null)
     {
         if (_fss.AktiverReglerNr != regler.ID)
         {
             regler = Parent.ReglerElemente.Element(_fss.AktiverReglerNr);
         }
     }
 }
示例#2
0
 /// <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);
         }
     }
 }
示例#3
0
        /// <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);
            }
        }