Esempio n. 1
0
        private void Reset(HMIButton bt, TlfDst dst)
        {
            bt.Id = dst.Id;

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

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

                if (!dst.Unavailable)
                {
                    backColor = GetStateColor(bt, dst.State);
                }

                bt.Reset(dst.Dst, dst.Unavailable, backColor);
                bt.Enabled = TlfDstEnabled(dst);
            }

            bt.Visible = dst.IsConfigurated;
        }
Esempio n. 2
0
        public SplitUC()
        {
            InitializeComponent();

            _ModeBt              = _SplitOffBT;
            _ModeBt.ButtonColor  = VisualStyle.Colors.Green;
            _SplitBT.ImageNormal = _ModeBt.ImageNormal;

            _SplitOffBT.Tag  = SplitMode.Off;
            _SplitRdLcBT.Tag = SplitMode.RdLc;
            _SplitLcTfBT.Tag = SplitMode.LcTf;
        }
Esempio n. 3
0
        public TlfDaView([ServiceDependency] IModelCmdManagerService cmdManager, [ServiceDependency] StateManagerService stateManager)
        {
            InitializeComponent();

            _CmdManager   = cmdManager;
            _StateManager = stateManager;

            _TlfButtonsTLP.RowCount = Settings.Default.TlfRows;
            _TlfButtonsTLP.RowStyles.Clear();

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

            _TlfButtonsTLP.ColumnCount = Settings.Default.TlfColumns;
            _TlfButtonsTLP.ColumnStyles.Clear();

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

            _NumPositionsByPage = (_TlfButtonsTLP.RowCount * _TlfButtonsTLP.ColumnCount) - 1;
            _FastBlinkList      = new Dictionary <HMIButton, Color>();
            _SlowBlinkList      = new Dictionary <HMIButton, Color>();

            for (int row = 0, pos = 0; row < _TlfButtonsTLP.RowCount; row++)
            {
                for (int column = 0; column < _TlfButtonsTLP.ColumnCount; column++, pos++)
                {
                    HMIButton bt = new HMIButton();
                    _TlfButtonsTLP.Controls.Add(bt, column, row);
                    _TlfButtons.Add(bt);

                    bt.Dock    = DockStyle.Fill;
                    bt.Name    = "_TlfButton" + pos;
                    bt.Visible = false;
                    bt.Id      = pos == _NumPositionsByPage ? Tlf.IaMappedPosition : pos;

                    bt.Click += TlfButton_Click;
                }
            }

            _LcSpeakerUDB.Level       = _StateManager.LcSpeaker.LevelLC;
            _TlfHeadPhonesUDB.Level   = _StateManager.TlfHeadPhones.Level;
            _LcSpeakerUDB.Enabled     = _StateManager.Tft.Enabled && _StateManager.Engine.Operative;
            _TlfHeadPhonesUDB.Enabled = _StateManager.Tft.Enabled && _StateManager.Engine.Operative;
            _TlfPageFirstBT.Enabled   = _StateManager.Tft.Enabled;
            _TlfPageSecondBT.Enabled  = _StateManager.Tft.Enabled;
        }
Esempio n. 4
0
        private void _BtAnyCode_Click(object sender, EventArgs e)
        {
            HMIButton btCode = (HMIButton)sender;

            if (Reset)
            {
                Reset = false;
                _TBDisplayCode.Text = string.Empty;
            }

            _TBDisplayCode.Text += btCode.Text;
        }
Esempio n. 5
0
        private void ResetBtPage(HMIButton bt, TlfState st)
        {
            if (_FastBlinkList.Remove(bt) && (_FastBlinkList.Count == 0))
            {
                _FastBlinkTimer.Enabled = false;
                _FastBlinkOn            = true;
            }
            if (_SlowBlinkList.Remove(bt) && (_SlowBlinkList.Count == 0))
            {
                _SlowBlinkTimer.Enabled = false;
                _SlowBlinkOn            = true;
            }

            bt.ButtonColor = GetStateColor(bt, st);
        }
Esempio n. 6
0
        public void OnFacilityChanged(object sender, EventArgs e)
        {
            int absPageBegin = _Page * _NumPositionsByPage;

            for (int i = 0; i < _NumPositionsByPage; i++)
            {
                HMIButton bt  = _TlfButtons[i];
                TlfDst    dst = _StateManager.Tlf[i + absPageBegin];

                Reset(bt, dst);
            }

            HMIButton mapBt  = _TlfButtons[_NumPositionsByPage];
            TlfDst    mapDst = _StateManager.Tlf[Tlf.IaMappedPosition];

            Reset(mapBt, mapDst);
        }
Esempio n. 7
0
        private void ResetBtPage(HMIButton bt)
        {
            if (_FastBlinkList.Remove(bt) && (_FastBlinkList.Count == 0))
            {
                _FastBlinkTimer.Enabled = false;
                _FastBlinkOn            = true;
            }
            if (_SlowBlinkList.Remove(bt) && (_SlowBlinkList.Count == 0))
            {
                _SlowBlinkTimer.Enabled = false;
                _SlowBlinkOn            = true;
            }

            int      page = int.Parse(bt.Text) - 1;
            TlfState st   = _StateManager.Tlf.GetTlfState(page * _NumPositionsByPage, _NumPositionsByPage);

            bt.ButtonColor = GetStateColor(bt, st);
        }
Esempio n. 8
0
        private Color GetStateColor(HMIButton bt, UnhangState st)
        {
            Color backColor = HMI.Presentation.AUrr.UI.VisualStyle.ButtonColor;

            switch (st)
            {
            case UnhangState.Out:
                backColor = HMI.Presentation.AUrr.UI.VisualStyle.Colors.Blue;
                break;

            case UnhangState.Set:
            case UnhangState.Conf:
                backColor = HMI.Presentation.AUrr.UI.VisualStyle.Colors.Green;
                break;

            case UnhangState.Hold:
            case UnhangState.RemoteHold:
                backColor               = _SlowBlinkOn ? HMI.Presentation.AUrr.UI.VisualStyle.Colors.Green : HMI.Presentation.AUrr.UI.VisualStyle.ButtonColor;
                _SlowBlinkList[bt]      = HMI.Presentation.AUrr.UI.VisualStyle.Colors.Green;
                _SlowBlinkTimer.Enabled = true;
                break;

            case UnhangState.Busy:
                backColor = HMI.Presentation.AUrr.UI.VisualStyle.Colors.Red;
                break;

            case UnhangState.Congestion:
            case UnhangState.OutOfService:
                backColor               = _SlowBlinkOn ? HMI.Presentation.AUrr.UI.VisualStyle.Colors.Red : HMI.Presentation.AUrr.UI.VisualStyle.ButtonColor;
                _SlowBlinkList[bt]      = HMI.Presentation.AUrr.UI.VisualStyle.Colors.Red;
                _SlowBlinkTimer.Enabled = true;
                break;

            case UnhangState.NotAllowed:
                backColor               = _SlowBlinkOn ? HMI.Presentation.AUrr.UI.VisualStyle.Colors.Yellow : HMI.Presentation.AUrr.UI.VisualStyle.ButtonColor;
                _SlowBlinkList[bt]      = HMI.Presentation.AUrr.UI.VisualStyle.Colors.Yellow;
                _SlowBlinkTimer.Enabled = true;
                break;
            }

            return(backColor);
        }
Esempio n. 9
0
        private void Reset(HMIButton bt, TlfDst dst)
        {
            bt.Id = dst.Id;

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

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

                if (!dst.Unavailable)
                {
                    backColor = GetStateColor(bt, dst.State);
                }

                if (dst.Type == TlfType.Md)
                {
                    bt.Reset(dst.Dst, dst.Unavailable, backColor, Resources.group);
                }
                else
                {
                    bt.Reset(dst.Dst, dst.Unavailable, backColor);
                }
                bt.Enabled = TlfDstEnabled(dst);
                //Hay destinos que no permiten ser llamados con prioridad (lineas PP)
                //por eso se deshabilita su AD cuando se pulsa la tecla prioridad.
            }

            bt.Visible = dst.IsConfigurated;
        }
Esempio n. 10
0
        public void OnTlfChanged(object sender, RangeMsg e)
        {
            Debug.Assert(e.Count > 0);

            if ((e.From + e.Count) > Tlf.IaMappedPosition)
            {
                HMIButton bt  = _TlfButtons[_NumPositionsByPage];
                TlfDst    dst = _StateManager.Tlf[Tlf.IaMappedPosition];

                Reset(bt, dst);
            }

            if (e.From < Tlf.NumDestinations)
            {
                int absPageBegin         = _Page * _NumPositionsByPage;
                int absFirstBtPageBegin  = (int.Parse(_TlfPageFirstBT.Text) - 1) * _NumPositionsByPage;
                int absSecondBtPageBegin = (int.Parse(_TlfPageSecondBT.Text) - 1) * _NumPositionsByPage;

                for (int i = Math.Max(e.From, absPageBegin), to = Math.Min(e.From + e.Count, absPageBegin + _NumPositionsByPage); i < to; i++)
                {
                    HMIButton bt  = _TlfButtons[i - absPageBegin];
                    TlfDst    dst = _StateManager.Tlf[i];

                    Reset(bt, dst);
                }

                if ((e.From < absFirstBtPageBegin + _NumPositionsByPage) && (e.From + e.Count > absFirstBtPageBegin))
                {
                    ResetBtPage(_TlfPageFirstBT);
                }

                if ((e.From < absSecondBtPageBegin + _NumPositionsByPage) && (e.From + e.Count > absSecondBtPageBegin))
                {
                    ResetBtPage(_TlfPageSecondBT);
                }
            }
        }
Esempio n. 11
0
        public void OnLoadTlfDaPage(object sender, PageMsg e)
        {
            if (_Page != e.Page)
            {
                Debug.Assert(e.Page < 3);

                _Page = e.Page;
                int absPageBegin = _Page * _NumPositionsByPage;

                if (_Page == 0)
                {
                    _TlfPageFirstBT.Text  = "2";
                    _TlfPageSecondBT.Text = "3";
                }
                else if (_Page == 1)
                {
                    _TlfPageFirstBT.Text  = "1";
                    _TlfPageSecondBT.Text = "3";
                }
                else if (_Page == 2)
                {
                    _TlfPageFirstBT.Text  = "1";
                    _TlfPageSecondBT.Text = "2";
                }

                for (int i = 0; i < _NumPositionsByPage; i++)
                {
                    HMIButton bt  = _TlfButtons[i];
                    TlfDst    dst = _StateManager.Tlf[i + absPageBegin];

                    Reset(bt, dst);
                }

                ResetBtPage(_TlfPageFirstBT);
                ResetBtPage(_TlfPageSecondBT);
            }
        }
Esempio n. 12
0
        public SplitUC()
        {
            InitializeComponent();
            if (global::HMI.Presentation.Twr.Properties.Settings.Default.JackUse != HMI.Presentation.Twr.Constants.JackUse.Both)
            {
                this._SplitTLP.Controls.Clear();
                this._SplitTLP.ColumnStyles.Clear();
                this._SplitTLP.ColumnCount = 2;
                this._SplitTLP.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
                this._SplitTLP.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));

                if (global::HMI.Presentation.Twr.Properties.Settings.Default.JackUse == HMI.Presentation.Twr.Constants.JackUse.ExecutiveOnly)
                {
                    this._SplitTLP.Controls.Add(this._Jack1PB, 0, 0);
                    this._SplitTLP.Controls.Add(this._Jack2PB, 1, 0);
                }
                else
                {
                    this._SplitTLP.Controls.Add(this._Jack3PB, 0, 0);
                    this._SplitTLP.Controls.Add(this._Jack4PB, 1, 0);
                }
            }
            _Jack1PB.Visible = global::HMI.Presentation.Twr.Properties.Settings.Default.JackUse != HMI.Presentation.Twr.Constants.JackUse.AssistantOnly;
            _Jack2PB.Visible = global::HMI.Presentation.Twr.Properties.Settings.Default.JackUse != HMI.Presentation.Twr.Constants.JackUse.AssistantOnly;
            _Jack3PB.Visible = global::HMI.Presentation.Twr.Properties.Settings.Default.JackUse != HMI.Presentation.Twr.Constants.JackUse.ExecutiveOnly;
            _Jack4PB.Visible = global::HMI.Presentation.Twr.Properties.Settings.Default.JackUse != HMI.Presentation.Twr.Constants.JackUse.ExecutiveOnly;
            _SplitBT.Visible = global::HMI.Presentation.Twr.Properties.Settings.Default.JackUse == HMI.Presentation.Twr.Constants.JackUse.Both;

            _ModeBt              = _SplitOffBT;
            _ModeBt.ButtonColor  = VisualStyle.Colors.Green;
            _SplitBT.ImageNormal = _ModeBt.ImageNormal;

            _SplitOffBT.Tag  = SplitMode.Off;
            _SplitRdLcBT.Tag = SplitMode.RdLc;
            _SplitLcTfBT.Tag = SplitMode.LcTf;
        }
Esempio n. 13
0
        private Color GetStateColor(HMIButton bt, TlfState st)
        {
            Color backColor = VisualStyle.ButtonColor;

            switch (st)
            {
            case TlfState.Idle:
            case TlfState.PaPBusy:
                break;

            case TlfState.In:
                backColor               = _SlowBlinkOn ? VisualStyle.Colors.Orange : VisualStyle.ButtonColor;
                _SlowBlinkList[bt]      = VisualStyle.Colors.Orange;
                _SlowBlinkTimer.Enabled = true;
                break;

            case TlfState.Out:
                backColor = VisualStyle.Colors.Blue;
                break;

            case TlfState.Set:
            case TlfState.Conf:
                backColor = VisualStyle.Colors.Green;
                break;

            case TlfState.Busy:
                backColor = VisualStyle.Colors.Red;
                break;

            case TlfState.Mem:
                backColor = VisualStyle.Colors.Orange;
                break;

            case TlfState.RemoteMem:
                backColor = VisualStyle.Colors.DarkGray;
                break;

            case TlfState.Hold:
            case TlfState.RemoteHold:
                backColor               = _SlowBlinkOn ? VisualStyle.Colors.Green : VisualStyle.ButtonColor;
                _SlowBlinkList[bt]      = VisualStyle.Colors.Green;
                _SlowBlinkTimer.Enabled = true;
                break;

            case TlfState.RemoteIn:
                backColor               = _SlowBlinkOn ? VisualStyle.Colors.DarkGray : VisualStyle.ButtonColor;
                _SlowBlinkList[bt]      = VisualStyle.Colors.DarkGray;
                _SlowBlinkTimer.Enabled = true;
                break;

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

            case TlfState.InPrio:
                backColor               = _FastBlinkOn ? VisualStyle.Colors.Orange : VisualStyle.ButtonColor;
                _FastBlinkList[bt]      = VisualStyle.Colors.Orange;
                _FastBlinkTimer.Enabled = true;
                break;

            case TlfState.NotAllowed:
                backColor               = _FastBlinkOn ? VisualStyle.Colors.Yellow : VisualStyle.ButtonColor;
                _FastBlinkList[bt]      = VisualStyle.Colors.Yellow;
                _FastBlinkTimer.Enabled = true;
                break;
            }

            return(backColor);
        }
Esempio n. 14
0
        public TlfDaView([ServiceDependency] IModelCmdManagerService cmdManager, [ServiceDependency] StateManagerService stateManager)
        {
            InitializeComponent();
            if (global::HMI.Presentation.Twr.Properties.Settings.Default.BigFonts)
            {
                this._TlfButtonsTLP.Font = new System.Drawing.Font("Trebuchet MS", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            }
            _CmdManager   = cmdManager;
            _StateManager = stateManager;

            _TlfButtonsTLP.RowCount = Settings.Default.TlfRows;
            _TlfButtonsTLP.RowStyles.Clear();

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

            _TlfButtonsTLP.ColumnCount = Settings.Default.TlfColumns;
            _TlfButtonsTLP.ColumnStyles.Clear();

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

            _NumPositionsByPage = (_TlfButtonsTLP.RowCount * _TlfButtonsTLP.ColumnCount) - 1;
            _FastBlinkList      = new Dictionary <HMIButton, Color>();
            _SlowBlinkList      = new Dictionary <HMIButton, Color>();

            for (int row = 0, pos = 0; row < _TlfButtonsTLP.RowCount; row++)
            {
                for (int column = 0; column < _TlfButtonsTLP.ColumnCount; column++, pos++)
                {
                    HMIButton bt = new HMIButton();
                    _TlfButtonsTLP.Controls.Add(bt, column, row);
                    _TlfButtons.Add(bt);

                    bt.Dock    = DockStyle.Fill;
                    bt.Name    = "_TlfButton" + pos;
                    bt.Visible = false;
                    bt.Id      = pos == _NumPositionsByPage ? Tlf.IaMappedPosition : pos;

                    bt.Click += TlfButton_Click;
                }
            }

            _LcSpeakerUDB.Level       = _StateManager.LcSpeaker.LevelLC;
            _TlfHeadPhonesUDB.Level   = _StateManager.TlfHeadPhones.Level;
            _LcSpeakerUDB.Enabled     = _StateManager.Tft.Enabled && _StateManager.Engine.Operative;
            _LcSpeakerUDB.DrawX       = true;
            _TlfHeadPhonesUDB.Enabled = _StateManager.Tft.Enabled && _StateManager.Engine.Operative;
            _TlfPageFirstBT.Enabled   = _StateManager.Tft.Enabled;
            _TlfPageSecondBT.Enabled  = _StateManager.Tft.Enabled;

            // Si está habilitada la posibilidad de telefonía por altavoz
            // las imagenes de inicio de _TlfHeadPhonesUDB dependen del valor guardado
            if ((_StateManager.Tlf.AltavozTlfHabilitado && _StateManager.Tlf.AltavozTlfEstado) || _StateManager.Tlf.SoloAltavoces)
            {
                this._TlfHeadPhonesUDB.DownImage = global::HMI.Presentation.Twr.Properties.Resources.SpeakerDownTlf;
                this._TlfHeadPhonesUDB.UpImage   = global::HMI.Presentation.Twr.Properties.Resources.SpeakerUpTlf;
                _TlfHeadPhonesUDB.Level          = _StateManager.LcSpeaker.LevelTlf;
                _TlfHeadPhonesUDB.DrawX          = true;
            }
        }
Esempio n. 15
0
        public void OnTlfChanged(object sender, RangeMsg e)
        {
            Debug.Assert(e.Count > 0);

            if ((e.From + e.Count) > Tlf.IaMappedPosition)
            {
                HMIButton bt  = _TlfButtons[_NumPositionsByPage];
                TlfDst    dst = _StateManager.Tlf[Tlf.IaMappedPosition];

                Reset(bt, dst);
            }

            if (e.From < Tlf.NumDestinations)
            {
                int absPageBegin         = _Page * _NumPositionsByPage;
                int absFirstBtPageBegin  = (int.Parse(_TlfPage2BT.Text) - 1) * _NumPositionsByPage;
                int absSecondBtPageBegin = (int.Parse(_TlfPage3BT.Text) - 1) * _NumPositionsByPage;

                for (int i = Math.Max(e.From, absPageBegin), to = Math.Min(e.From + e.Count, absPageBegin + _NumPositionsByPage); i < to; i++)
                {
                    HMIButton bt  = _TlfButtons[i - absPageBegin];
                    TlfDst    dst = _StateManager.Tlf[i];

                    Reset(bt, dst);
                }

                int pageButtonToReset = (int)(e.From / _NumPositionsByPage);
                switch (pageButtonToReset)
                {
                case 0:
                    ResetBtPage(_TlfPage1BT);
                    break;

                case 1:
                    ResetBtPage(_TlfPage2BT);
                    break;

                case 2:
                    ResetBtPage(_TlfPage3BT);
                    break;

                case 3:
                    ResetBtPage(_TlfPage4BT);
                    break;

                case 4:
                    ResetBtPage(_TlfPage5BT);
                    break;

                case 5:
                    ResetBtPage(_TlfPage6BT);
                    break;

                case 6:
                    ResetBtPage(_TlfPage7BT);
                    break;

                case 7:
                    ResetBtPage(_TlfPage8BT);
                    break;

                case 8:
                    ResetBtPage(_TlfPage9BT);
                    break;
                }
            }
        }
Esempio n. 16
0
        public void OnLoadTlfDaPage(object sender, PageMsg e)
        {
            if (_Page != e.Page)
            {
                Debug.Assert(e.Page < Settings.Default.NumTelPages);

                _Page = e.Page;
                int absPageBegin = _Page * _NumPositionsByPage;

                foreach (HMIButton page in _TlfPageButtons)
                {
                    page.Enabled = true;
                }

                for (int i = 0; i < _NumPositionsByPage; i++)
                {
                    // La página 9 sólo tiene 18 posiciones de AD
                    if (_Page == 8 && i == 18)
                    {
                        continue;
                    }

                    HMIButton bt  = _TlfButtons[i];
                    TlfDst    dst = _StateManager.Tlf[i + absPageBegin];

                    Reset(bt, dst);
                }

                switch (_Page)
                {
                case 0:
                    _TlfPage1BT.Enabled = false;
                    ResetBtPage(_TlfPage1BT);
                    break;

                case 1:
                    _TlfPage2BT.Enabled = false;
                    ResetBtPage(_TlfPage2BT);
                    break;

                case 2:
                    _TlfPage3BT.Enabled = false;
                    ResetBtPage(_TlfPage3BT);
                    break;

                case 3:
                    _TlfPage4BT.Enabled = false;
                    ResetBtPage(_TlfPage4BT);
                    break;

                case 4:
                    _TlfPage5BT.Enabled = false;
                    ResetBtPage(_TlfPage5BT);
                    break;

                case 5:
                    _TlfPage6BT.Enabled = false;
                    ResetBtPage(_TlfPage6BT);
                    break;

                case 6:
                    _TlfPage7BT.Enabled = false;
                    ResetBtPage(_TlfPage7BT);
                    break;

                case 7:
                    _TlfPage8BT.Enabled = false;
                    ResetBtPage(_TlfPage8BT);
                    break;

                case 8:
                    _TlfPage9BT.Enabled = false;
                    ResetBtPage(_TlfPage9BT);
                    break;
                }
            }
        }