Example #1
0
        public Switcher(ref MMI.ET42X.ET42XState s, bool topMost)
        {
            //
            // Erforderlich für die Windows Form-Designerunterstützung
            //
            InitializeComponent();
            m_state = s;

            if (s.ET42Xtype1 == ET42XTYPE.ET423)
            {
                rb_423_1.Checked = true;
                rb_423_1_CheckedChanged(this, new EventArgs());
            }
            else if (s.ET42Xtype1 == ET42XTYPE.ET424)
            {
                rb_424_1.Checked = true;
                rb_424_1_CheckedChanged(this, new EventArgs());
            }
            else if (s.ET42Xtype1 == ET42XTYPE.ET425)
            {
                if (s.FISType == FIS_TYPE.GPS_FIS)
                {
                    rb_425_2BS_1.Checked = true;
                    rb_425_1_CheckedChanged(this, new EventArgs());
                }
                else if (s.FISType == FIS_TYPE.FIS)
                {
                    rb_425_1.Checked = true;
                    rb_425_1_CheckedChanged(this, new EventArgs());
                }
            }
            else if (s.ET42Xtype1 == ET42XTYPE.ET426)
            {
                rb_426_1.Checked = true;
                rb_425_1_CheckedChanged(this, new EventArgs());
            }

            if (s.ET42Xtype2 == ET42XTYPE.ET423)
                rb_423_2.Checked = true;
            else if (s.ET42Xtype2 == ET42XTYPE.ET424)
                rb_424_2.Checked = true;
            else if (s.ET42Xtype2 == ET42XTYPE.ET425)
                rb_425_2.Checked = true;
            else if (s.ET42Xtype2 == ET42XTYPE.ET426)
                rb_426_2.Checked = true;
            else
                rb_kein_2.Checked = true;

            if (s.ET42Xtype3 == ET42XTYPE.ET423)
                rb_423_3.Checked = true;
            else if (s.ET42Xtype3 == ET42XTYPE.ET424)
                rb_424_3.Checked = true;
            else if (s.ET42Xtype3 == ET42XTYPE.ET425)
                rb_425_3.Checked = true;
            else if (s.ET42Xtype3 == ET42XTYPE.ET426)
                rb_426_3.Checked = true;
            else
                rb_kein_3.Checked = true;

            if (m_state.addtionalhours)
                cb_12std.Checked = true;

            l_Energie.Text = Math.Round(m_state.Energie / 1000d,0).ToString() + " kWh";

            this.TopMost = topMost;
        }
        public ET42XControl(MMI.EBuLa.Tools.XMLLoader conf, ref Network net)
        {
            if (!conf.DoubleBuffer)
            {
                //This turns off internal double buffering of all custom GDI+ drawing
                this.SetStyle(ControlStyles.DoubleBuffer, true);
                this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
                this.SetStyle(ControlStyles.UserPaint, true);
                USE_DOUBLE_BUFFER = false;
            }
            else
                USE_DOUBLE_BUFFER = true;

            InitializeComponent();

            m_net = net;

            uhrAußen = new ISphere(508+60, 41+60, 57);
            uhrInnengr = new ISphere(508+60, 41+60, 45);
            uhrInnenkl = new ISphere(508+60, 41+60, 52);
            uhrsec = new ISphere(508+60, 41+60, 43);
            uhrmin = new ISphere(508+60, 41+60, 43);
            uhrstd = new ISphere(508+60, 41+60, 28);
            uhrrest = new ISphere(508+60, 41+60, 7);
            center = new Point(508+60, 41+60);

            m_conf = conf;

            // NOTBREMSE und E-BREMSE fehlen

            switch (m_conf.Sound)
            {
                case 1:
                    Sound = new APISound();
                    break;
                case 2:
                    Sound = new DxSound();
                    break;
                default:
                    Sound = new NullSound();
                    break;
            }

            localstate = new MMI.ET42X.ET42XState(ref conf, ref Sound);

            SetButtons();

            localstate.Energie = conf.Energie;

            vtime = DateTime.Now;

            zugkraft_thread = new Thread(new ThreadStart(MoveZugkraft));

            int interval = Convert.ToInt32(Math.Round((1d/(double)conf.FramesPerSecondLow)*1000d));
            timer1.Interval = interval;
            timer1.Enabled = true;

            Button_SW_Pressed(this, new EventArgs());

            /*if (localstate.ET42Xtype1 == ET42XTYPE.ET423)
                localstate.FISType = FIS_TYPE.FIS;*/

            timer2.Enabled = true;

            if (vtime.DayOfYear > 100 && vtime.DayOfYear < 300)
                localstate.Kuehlung = true;
            else
                localstate.Kuehlung = false;
        }