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; }
public void LcSet(int id, bool on) { LcDst dst = _StateManager.Lc[id]; if (on && (dst.Rx == LcRxState.Mem)) { _StateManager.Lc.ResetMem(id); } else { _EngineCmdManager.SetLc(id, on); } }
public void OnLcChanged(object sender, RangeMsg e) { for (int i = e.From, to = e.From + e.Count; i < to; i++) { LcDst dst = _StateManager.Lc[i]; if (dst.Tx == LcTxState.Tx) { CloseWindow(); break; } } }
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); } } } }
private bool LcDstEnabled(LcDst dst) { return(_StateManager.Tft.Enabled && _StateManager.Engine.Operative && !dst.Unavailable); }