Exemple #1
0
        private void Reset(LcButton bt, LcDst dst)
        {
            bt.Id = dst.Id;

            if (_SlowBlinkList.Remove(bt) && (_SlowBlinkList.Count == 0))
            {
                _SlowBlinkTimer.Enabled = false;
                _SlowBlinkOn            = true;
            }

            if (dst.IsConfigurated)
            {
                Color rx = VisualStyle.ButtonColor;
                Color tx = VisualStyle.ButtonColor;

                if (!dst.Unavailable)
                {
                    switch (dst.Rx)
                    {
                    case LcRxState.Idle:
                        break;

                    case LcRxState.Rx:
                    case LcRxState.RxNotif:
                        rx = VisualStyle.Colors.Green;
                        break;

                    case LcRxState.Mem:
                        rx = VisualStyle.Colors.Orange;
                        break;
                    }

                    switch (dst.Tx)
                    {
                    case LcTxState.Idle:
                    case LcTxState.Out:
                        break;

                    case LcTxState.Tx:
                        tx = VisualStyle.Colors.Green;
                        break;

                    case LcTxState.Congestion:
                        tx = _SlowBlinkOn ? VisualStyle.Colors.Red : VisualStyle.ButtonColor;
                        _SlowBlinkList[bt]      = VisualStyle.Colors.Red;
                        _SlowBlinkTimer.Enabled = true;
                        break;

                    case LcTxState.Busy:
                        tx = VisualStyle.Colors.Red;
                        break;
                    }
                }

                bt.Reset(dst.Dst, dst.Unavailable, rx, tx);
                bt.Enabled = LcDstEnabled(dst);
            }

            bt.Visible = dst.IsConfigurated;
        }
Exemple #2
0
        public LcView([ServiceDependency] IModelCmdManagerService cmdManager, [ServiceDependency] StateManagerService stateManager)
        {
            InitializeComponent();
            if (Settings.Default.LcRows == 1)
            {
                this._LcButtonsTLP.RowCount = 2;
                this._LcButtonsTLP.RowStyles.Clear();
                this._LcButtonsTLP.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
                this._LcButtonsTLP.Size = new System.Drawing.Size(800, 85);
                this.Size = new System.Drawing.Size(800, 85);
            }
            if (global::HMI.Presentation.Twr.Properties.Settings.Default.BigFonts)
            {
                this._LcButtonsTLP.Font = new System.Drawing.Font("Trebuchet MS", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            }
            _CmdManager   = cmdManager;
            _StateManager = stateManager;

            _LcButtonsTLP.RowCount = Settings.Default.LcRows;
            _LcButtonsTLP.RowStyles.Clear();

            for (int i = 0; i < _LcButtonsTLP.RowCount; i++)
            {
                RowStyle st = new RowStyle(SizeType.Percent, 100);
                _LcButtonsTLP.RowStyles.Add(st);
            }

            _LcButtonsTLP.ColumnCount = Settings.Default.LcColumns;
            _LcButtonsTLP.ColumnStyles.Clear();

            for (int i = 0; i < _LcButtonsTLP.ColumnCount; i++)
            {
                ColumnStyle st = new ColumnStyle(SizeType.Percent, 100);
                _LcButtonsTLP.ColumnStyles.Add(st);
            }

            _NumPositionsByPage = _LcButtonsTLP.RowCount * _LcButtonsTLP.ColumnCount;
            _SlowBlinkList      = new Dictionary <LcButton, Color>();

            for (int row = _LcButtonsTLP.RowCount - 1, pos = 0; row >= 0; row--)
            {
                for (int column = 0; column < _LcButtonsTLP.ColumnCount; column++, pos++)
                {
                    LcButton bt = new LcButton();
                    _LcButtonsTLP.Controls.Add(bt, column, row);
                    _LcButtons.Add(bt);

                    bt.Dock    = DockStyle.Fill;
                    bt.Name    = "_LcButton" + pos;
                    bt.Visible = false;
                    bt.Id      = pos;

                    bt.MouseDown += LcButton_MouseDown;
                    bt.MouseUp   += LcButton_MouseUp;
                }
            }
        }
Exemple #3
0
        public LcView([ServiceDependency] IModelCmdManagerService cmdManager, [ServiceDependency] StateManagerService stateManager)
        {
            InitializeComponent();

            _CmdManager   = cmdManager;
            _StateManager = stateManager;

            _LcButtonsTLP.RowCount = Settings.Default.LcRows;
            _LcButtonsTLP.RowStyles.Clear();

            for (int i = 0; i < _LcButtonsTLP.RowCount; i++)
            {
                RowStyle st = new RowStyle(SizeType.Percent, 100);
                //_LcButtonsTLP.RowStyles.Add(st);
            }

            _LcButtonsTLP.ColumnCount = Settings.Default.LcColumns;
            _LcButtonsTLP.ColumnStyles.Clear();

            for (int i = 0; i < _LcButtonsTLP.ColumnCount; i++)
            {
                ColumnStyle st = new ColumnStyle(SizeType.Percent, 100);
                //_LcButtonsTLP.ColumnStyles.Add(st);
            }

            _NumPositionsByPage = _LcButtonsTLP.RowCount * _LcButtonsTLP.ColumnCount;
            _SlowBlinkList      = new Dictionary <LcButton, Color>();

            for (int row = _LcButtonsTLP.RowCount - 1, pos = 0; row >= 0; row--)
            {
                for (int column = 0; column < _LcButtonsTLP.ColumnCount; column++, pos++)
                {
                    LcButton bt = new LcButton();
                    //_LcButtonsTLP.Controls.Add(bt, column, row);
                    //_LcButtons.Add(bt);

                    bt.Dock    = DockStyle.Fill;
                    bt.Name    = "_LcButton" + pos;
                    bt.Visible = false;
                    bt.Id      = pos;

                    bt.MouseDown += LcButton_MouseDown;
                    bt.MouseUp   += LcButton_MouseUp;
                }
            }
        }
Exemple #4
0
        public void OnLcChanged(object sender, RangeMsg e)
        {
            Debug.Assert(e.Count > 0);

            for (int i = e.From, to = e.From + e.Count; i < to; i++)
            {
                LcDst dst           = _StateManager.Lc[i];
                int   headerOfGroup = dst.Group != 0 ? _StateManager.Lc.HeaderLc(dst.Group) : i; //17_01_13 (-1)

                if (headerOfGroup < _NumPositionsByPage)
                {
                    LcButton bt        = _LcButtons[headerOfGroup];
                    LcDst    activeDst = dst.Group != 0 ? _StateManager.Lc.ActiveLc(dst.Group, bt.Id) : dst; //17_01_13 (-1)

                    if ((bt.Id != activeDst.Id) || (bt.Id == i))
                    {
                        Reset(bt, activeDst);
                    }
                }
            }
        }