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; }
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; }
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; }
private void _BtAnyCode_Click(object sender, EventArgs e) { HMIButton btCode = (HMIButton)sender; if (Reset) { Reset = false; _TBDisplayCode.Text = string.Empty; } _TBDisplayCode.Text += btCode.Text; }
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); }
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); }
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); }
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); }
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; }
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); } } }
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); } }
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; }
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); }
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; } }
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; } } }
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; } } }