Exemple #1
0
        public void OnTlfChanged(object sender, RangeMsg e)
        {
            for (int i = e.From, to = e.From + e.Count; i < to; i++)
            {
                TlfDst dst = _StateManager.Tlf[i];

                if (!string.IsNullOrEmpty(dst.PreviusStateDescription))
                {
                    if (_MsgLB.Text.Contains(dst.PreviusStateDescription))
                    {
                        _MsgLB.Text = _MsgLB.Text.Replace(dst.PreviusStateDescription, "");
                    }
                    else
                    {
                        _ConfUnused.Remove(dst.PreviusStateDescription);
                    }
                }
                if (!string.IsNullOrEmpty(dst.StateDescription))
                {
                    if (_MsgLB.Text.Contains(dst.StateDescription))
                    {
                        _ConfUnused.Add(dst.StateDescription);
                    }
                    else
                    {
                        _MsgLB.Text += dst.StateDescription;
                    }
                }
            }
        }
Exemple #2
0
        public void OnTlfChanged(object sender, RangeMsg e)
        {
            for (int i = e.From, to = e.From + e.Count; i < to; i++)
            {
                TlfDst dst = _StateManager.Tlf[i];

                if (!string.IsNullOrEmpty(dst.PreviusStateDescription))
                {
                    if (_MsgLB.Items.Contains(dst.PreviusStateDescription))
                    {
                        _MsgLB.Items.Remove(dst.PreviusStateDescription);
                        _MsgLB.BackColor = System.Drawing.Color.Gainsboro;
                        _MsgLB.Refresh();
                    }
                    else
                    {
                        _ConfUnused.Remove(dst.PreviusStateDescription);
                    }
                }
                if (!string.IsNullOrEmpty(dst.StateDescription))
                {
                    if (_MsgLB.Items.Contains(dst.StateDescription))
                    {
                        _ConfUnused.Add(dst.StateDescription);
                    }
                    else
                    {
                        _MsgLB.Items.Add(dst.StateDescription);
                        _MsgLB.BackColor = System.Drawing.Color.White;
                        _MsgLB.Refresh();
                    }
                }
            }
        }
Exemple #3
0
        public void Reset(RangeMsg <TlfDestination> msg)
        {
            Debug.Assert(msg.From + msg.Count <= NumDestinations);

            for (int i = 0; i < msg.Count; i++)
            {
                TlfDst dst = _Dst[i + msg.From];
                dst.Reset(msg.Info[i]);

                if (dst.PrevState != dst.State)
                {
                    _NumDstInState[(int)dst.PrevState]--;
                    _NumDstInState[(int)dst.State]++;

                    Debug.Assert(_NumDstInState[(int)dst.PrevState] >= 0);
                    Debug.Assert(_NumDstInState[(int)dst.State] >= 0);

                    _Priority.CheckTlfStChanged(dst);
                }
            }

            General.SafeLaunchEvent(TlfChanged, this, (RangeMsg)msg);

            if ((_Transfer.State == FunctionState.Ready) &&
                (_NumDstInState[(int)TlfState.Set] + _NumDstInState[(int)TlfState.Conf] != 1))
            {
                _Transfer.State = FunctionState.Idle;
            }
        }
Exemple #4
0
        public void Reset(RangeMsg <string> msg)
        {
            List <string> newParticipants = new List <string>(msg.Info);

            _Participants.RemoveAll(delegate(string p)
            {
                if (!newParticipants.Contains(p))
                {
                    ResetDescription();
                    General.SafeLaunchEvent(TlfConfListChanged, this);
                    return(true);
                }

                return(false);
            });
            newParticipants.ForEach(delegate(string p)
            {
                if (!_Participants.Contains(p))
                {
                    _Participants.Add(p);

                    StateDescription = Resources.TalkTlfStateDescription + " " + p;

                    General.SafeLaunchEvent(TlfConfListChanged, this);
                }
            });
        }
Exemple #5
0
 public void OnTlfChanged(object sender, RangeMsg e)
 {
     if ((e.From + e.Count) > Tlf.IaMappedPosition)
     {
         _OkBT.Enabled = _OkEnabled;
     }
 }
 public void OnTlfChanged(object sender, RangeMsg e)
 {
     if (_IsCurrentView && ((e.From + e.Count) > Tlf.IaMappedPosition))
     {
         _CallBT.Enabled = _CallEnabled;
     }
 }
Exemple #7
0
        public void OnRadioChanged(object sender, RangeMsg e)
        {
            Debug.Assert(e.Count > 0);
            int absPageBegin = _RdPageBT.Page * _NumPositionsByPage;

            for (int i = Math.Max(e.From, absPageBegin), to = Math.Min(e.From + e.Count, absPageBegin + _NumPositionsByPage); i < to; i++)
            {
                RdButton bt  = _RdButtons[i - absPageBegin];
                RdDst    dst = _StateManager.Radio[i];

                /*
                 * if (!dst.Restored || dst.Unavailable)
                 * {
                 *  Reset(bt, dst);
                 *
                 *  if (!dst.Unavailable && i < Settings.Default.AssignatedStates.Count)
                 *  {
                 *      Settings.Default.AssignatedStates.RemoveAt(i - absPageBegin);
                 *      Settings.Default.AssignatedStates.Insert(i - absPageBegin, dst.Frecuency + "," + dst.Rx.ToString() + "," + dst.Tx +
                 *                                          "," + dst.AudioVia + "," + dst.Unavailable);
                 *  }
                 *  else if (!dst.Unavailable)
                 *  {
                 *      Settings.Default.AssignatedStates.Add(dst.Frecuency + "," + dst.Rx.ToString() + "," + dst.Tx +
                 *                                          "," + dst.AudioVia + "," + dst.Unavailable);
                 *  }
                 *  // Envío de vuelta confirmación para que Engine envíe histórico (si corresponde)
                 *  // De momento a este comando solo se atiende si Engine es OPE (CD30)
                 *  _CmdManager.SendCmdHistoricalEvent(_StateManager.Title.Id, dst.Frecuency);
                 * }
                 * else*/
                {
                    EstadoAsignacion estado = _EstadosAsignacion[i - absPageBegin];
                    Reset(bt, dst, ref estado);
                    //Reset(bt, dst);
                    _EstadosAsignacion[i - absPageBegin] = estado;

                    if (/*!dst.Unavailable &&*/ i < Settings.Default.AssignatedStates.Count)
                    {
                        Settings.Default.AssignatedStates.RemoveAt(i - absPageBegin);
                        Settings.Default.AssignatedStates.Insert(i - absPageBegin, dst.Frecuency + "," + estado._Rx.ToString() + "," + estado._Tx +
                                                                 "," + dst.AudioVia + "," + dst.Unavailable);
                    }
                    else //if (!dst.Unavailable)
                    {
                        Settings.Default.AssignatedStates.Add(dst.Frecuency + "," + estado._Rx.ToString() + "," + estado._Tx +
                                                              "," + dst.AudioVia + "," + dst.Unavailable);
                    }

                    // Envío de vuelta confirmación para que Engine envíe histórico (si corresponde)
                    // De momento a este comando solo se atiende si Engine es OPE (CD30)
                    _CmdManager.SendCmdHistoricalEvent(_StateManager.Title.Id, dst.Frecuency);
                }
            }

            Settings.Default.Save();

            _RtxBT.Enabled = _RtxEnabled;
        }
        public void OnRdInfoEngine(object sender, RangeMsg <RdInfo> msg)
        {
            _Logger.Trace("Procesando {0}: {1}", EventTopicNames.RdInfoEngine, msg);

            _StateManager.Radio.Reset(msg);

            // Si la radio tiene alguna posición no desasignable, el volumen del altavoz no puede estar por debajo del 30%
            _EngineCmdManager.SetRdSpeakerLevel(_StateManager.Radio.RadioMonitoring ? Math.Max(_StateManager.RdSpeaker.Level, 3) : _StateManager.RdSpeaker.Level);
        }
Exemple #9
0
        public void OnRadioChanged(object sender, RangeMsg e)
        {
            _SelCalButton.Enabled = _SelCalEnabled;

            if (PanelVisible && !_SelCalEnabled)
            {
                ShowHfPanel();
            }
        }
        public void OnTlfChanged(object sender, RangeMsg e)
        {
            _PriorityBT.Enabled = _PriorityEnabled;
            _HoldBT.Enabled     = _HoldEnabled;
            _TransferBT.Enabled = _TransferEnabled;
            _ListenBT.Enabled   = _ListenEnabled;

            _HoldBT.ButtonColor = _StateManager.Tlf[TlfState.Hold] == 0 ? VisualStyle.ButtonColor : VisualStyle.Colors.Yellow;

            ResetTlfViewBt(_AD);
        }
Exemple #11
0
        public void Reset(RangeMsg <LcState> msg)
        {
            Debug.Assert(msg.From + msg.Count <= NumDestinations);

            for (int i = 0; i < msg.Count; i++)
            {
                _Dst[i + msg.From].Reset(msg.Info[i]);
            }

            General.SafeLaunchEvent(LcChanged, this, (RangeMsg)msg);
        }
Exemple #12
0
        public void Reset(RangeMsg <RdDestination> msg)
        {
            Debug.Assert(msg.From + msg.Count <= NumDestinations);

            for (int i = 0; i < msg.Count; i++)
            {
                RdDst dst = _Dst[i + msg.From];
                dst.Reset(msg.Info[i]);
            }

            General.SafeLaunchEvent(RadioChanged, this, (RangeMsg)msg);
        }
Exemple #13
0
        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;
                }
            }
        }
Exemple #14
0
        private void OnConfigChanged(object sender)
        {
            _ChangingCfg = true;
            try
            {
                RangeMsg <LcInfo> lcPositions = new RangeMsg <LcInfo>(0, _LcPositions.Length);

                foreach (CfgEnlaceInterno link in Top.Cfg.LcLinks)
                {
                    try
                    {
                        int pos = (int)link.PosicionHMI - 1;

                        if (pos < _LcPositions.Length)
                        {
                            LcPosition lc = _LcPositions[pos];
                            lc.Reset(link);

                            LcInfo posInfo = new LcInfo(lc.Literal, lc.RxState, lc.TxState, lc.Group);
                            lcPositions.Info[pos] = posInfo;
                        }
                    }
                    catch (Exception excep)
                    {
                        _Logger.Error("Excepcion OnConfigChanged. Mensaje: {0}", excep.Message);
                    }
                }

                for (int i = 0, to = _LcPositions.Length; i < to; i++)
                {
                    if (lcPositions.Info[i] == null)
                    {
                        LcPosition lc = _LcPositions[i];
                        lc.Reset();

                        LcInfo posInfo = new LcInfo(lc.Literal, lc.RxState, lc.TxState, lc.Group);
                        lcPositions.Info[i] = posInfo;
                    }
                }
                General.SafeLaunchEvent(NewPositions, this, lcPositions);
            }
            catch (Exception exc)
            {
                _Logger.Error(String.Format("LcManager:OnConfigChanged exception {0}, {1}", exc.Message, exc.StackTrace));
            }
            finally
            {
                _ChangingCfg = false;
            }
        }
Exemple #15
0
        public void OnRadioChanged(object sender, RangeMsg e)
        {
            Debug.Assert(e.Count > 0);
            int absPageBegin = _urrRdPageButton.Page * _NumPositionsByPage;

            for (int i = Math.Max(e.From, absPageBegin), to = Math.Min(e.From + e.Count, absPageBegin + _NumPositionsByPage); i < to; i++)
            {
                UrrRdButton      bt     = _RdButtons[i - absPageBegin];
                RdDst            dst    = _StateManager.Radio[i];
                EstadoAsignacion estado = _EstadosAsignacion[i - absPageBegin];
                Reset(bt, dst, ref estado);
            }

            _RtxBT.Enabled = _RtxEnabled;
        }
        public void OnTlfChanged(object sender, RangeMsg e)
        {
            if (_ActualTlfView == ViewNames.Depencences)
            {
                for (int i = e.From, to = e.From + e.Count; i < to; i++)
                {
                    TlfDst dst = _StateManager.Tlf[i];

                    if ((dst.State == TlfState.In) || (dst.State == TlfState.InPrio) || (dst.State == TlfState.RemoteIn))
                    {
                        NavigateToPrevius();
                        break;
                    }
                }
            }
        }
        public void OnTlfIaPosStateEngine(object sender, RangeMsg <TlfIaDestination> msg)
        {
            _Logger.Trace("Procesando {0}: {1}", EventTopicNames.TlfIaPosStateEngine, msg);

            foreach (TlfIaDestination tlf in msg.Info)
            {
                string number = Tlf.NumberToPresentation(tlf.Number);

                if (tlf.Number == tlf.Alias)
                {
                    tlf.Alias = number;
                }
                tlf.Number = number;
            }

            _StateManager.Tlf.Reset(msg);
        }
        public void OnConfListEngine(object sender, RangeMsg <string> msg)
        {
            _Logger.Trace("Procesando {0}: {1}", EventTopicNames.ConfListEngine, msg);

            if (msg != null)
            {
                for (int i = 0, to = msg.Count; i < to; i++)
                {
                    msg.Info[i] = Tlf.NumberToPresentation(msg.Info[i]);
                }

                _StateManager.Tlf.ConfList.Reset(msg);
            }
            else
            {
                _StateManager.Tlf.ConfList.Reset();
            }
        }
Exemple #19
0
        public void Reset(RangeMsg <LcDestination> msg)
        {
            Debug.Assert(msg.From + msg.Count <= NumDestinations);

            for (int i = 0; i < msg.Count; i++)
            {
                LcDst         dst  = _Dst[i + msg.From];
                LcDestination info = msg.Info[i];

                if (dst.Group != info.Group)
                {
                    if (dst.Group != 0) //17_01_13
                    {
                        Debug.Assert(_Groups.ContainsKey(dst.Group));

                        List <int> members = _Groups[dst.Group];
                        members.Remove(dst.Id);
                        if (members.Count == 0)
                        {
                            _Groups.Remove(dst.Group);
                        }
                    }
                    if (info.Group != 0)//17_01_13
                    {
                        List <int> members = null;
                        if (!_Groups.TryGetValue(info.Group, out members))
                        {
                            members             = new List <int>();
                            _Groups[info.Group] = members;
                        }

                        members.Add(i + msg.From);
                        members.Sort();
                    }
                }

                dst.Reset(info);
            }

            General.SafeLaunchEvent(LcChanged, this, (RangeMsg)msg);
        }
Exemple #20
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);
                    }
                }
            }
        }
Exemple #21
0
        public void Reset(RangeMsg <TlfState> msg)
        {
            for (int i = 0; i < msg.Count; i++)
            {
                TlfDst dst = _Dst[i + msg.From];
                dst.Reset(msg.Info[i]);


                if (msg.Info[i] == TlfState.Idle && IntrudeTo.IsIntrudingTo && IntrudeTo.To == dst.Dst)
                {
                    IntrudeTo.Reset();
                }

                if (i + msg.From == IaMappedPosition)
                {
                    _Unhang.CheckTlfStChanged(dst);
                }

                if (dst.PrevState != dst.State)
                {
                    _NumDstInState[(int)dst.PrevState]--;
                    _NumDstInState[(int)dst.State]++;

                    Debug.Assert(_NumDstInState[(int)dst.PrevState] >= 0);
                    Debug.Assert(_NumDstInState[(int)dst.State] >= 0);

                    _Priority.CheckTlfStChanged(dst);
                }
            }

            General.SafeLaunchEvent(TlfChanged, this, (RangeMsg)msg);

            if ((_Transfer.State == FunctionState.Ready) &&
                (_NumDstInState[(int)TlfState.Set] + _NumDstInState[(int)TlfState.Conf] != 1))
            {
                _Transfer.State = FunctionState.Idle;
            }
        }
Exemple #22
0
        public void Reset(RangeMsg <TlfIaDestination> msg)
        {
            Debug.Assert((msg.From >= NumDestinations) && (msg.From + msg.Count <= NumDestinations + NumIaDestinations));

            for (int i = 0; i < msg.Count; i++)
            {
                TlfIaDestination info = msg.Info[i];
                TlfDst           dst  = _Dst[i + msg.From];

                dst.Reset(info);

                // 29112016. JCAM.  Poder intruir una llamada prioritaria desde AI
                if (info.State == TlfState.Idle && IntrudeTo.IsIntrudingTo && IntrudeTo.To == dst.Dst)
                {
                    IntrudeTo.Reset();
                }

                if (dst.PrevState != dst.State)
                {
                    _NumDstInState[(int)dst.PrevState]--;
                    _NumDstInState[(int)dst.State]++;

                    Debug.Assert(_NumDstInState[(int)dst.PrevState] >= 0);
                    Debug.Assert(_NumDstInState[(int)dst.State] >= 0);

                    _Unhang.CheckTlfStChanged(dst);
                    _Priority.CheckTlfStChanged(dst);
                }
            }

            General.SafeLaunchEvent(TlfChanged, this, (RangeMsg)msg);

            if ((_Transfer.State == FunctionState.Ready) &&
                (_NumDstInState[(int)TlfState.Set] + _NumDstInState[(int)TlfState.Conf] != 1))
            {
                _Transfer.State = FunctionState.Idle;
            }
        }
Exemple #23
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);
                }
            }
        }
Exemple #24
0
        public void OnRadioChanged(object sender, RangeMsg e)
        {
            Debug.Assert(e.Count > 0);
            int absPageBegin = _RdPageBT.Page * _NumPositionsByPage;

            _Logger.Debug("******** M+N [RadioView::OnRadioChanged]");

            for (int i = Math.Max(e.From, absPageBegin), to = Math.Min(e.From + e.Count, absPageBegin + _NumPositionsByPage); i < to; i++)
            {
                RdButton         bt     = _RdButtons[i - absPageBegin];
                RdDst            dst    = _StateManager.Radio[i];
                EstadoAsignacion estado = _EstadosAsignacion[i - absPageBegin];
                Reset(bt, dst, ref estado);
                //Reset(bt, dst);
                _EstadosAsignacion[i - absPageBegin] = estado;

                /** Esta funcion se ha trasladado al MODEL MODULE */
                //if (i < Settings.Default.AssignatedStates.Count)
                //{
                //    Settings.Default.AssignatedStates.RemoveAt(i - absPageBegin);
                //    Settings.Default.AssignatedStates.Insert(i - absPageBegin, dst.Frecuency + "," + _EstadosAsignacion[i - absPageBegin]._Rx.ToString() + "," +
                //                                        ((dst.TipoFrecuencia == TipoFrecuencia_t.HF) ? false : _EstadosAsignacion[i - absPageBegin]._Tx) +
                //                                            "," + _EstadosAsignacion[i - absPageBegin]._AudioVia + "," + _EstadosAsignacion[i - absPageBegin].Unavailable);
                //}
                //else
                //{
                //    Settings.Default.AssignatedStates.Add(dst.Frecuency + "," + _EstadosAsignacion[i - absPageBegin]._Rx.ToString() + "," +
                //                                        ((dst.TipoFrecuencia == TipoFrecuencia_t.HF) ? false : _EstadosAsignacion[i - absPageBegin]._Tx) +
                //                                            "," + _EstadosAsignacion[i - absPageBegin]._AudioVia + "," + _EstadosAsignacion[i - absPageBegin].Unavailable);
                //}
            }

            /** Esta funcion se ha trasladado al MODEL MODULE */
            //Settings.Default.Save();

            _RtxBT.Enabled = _RtxEnabled;
        }
 public void Reset(RangeMsg <LlamadaHistorica> msg)
 {
     _Calls = msg.Info;
     General.SafeLaunchEvent(HistoricalOfLocalCalls, this);
 }
        public void OnNumberBookChangedEngine(object sender, RangeMsg <Area> msg)
        {
            _Logger.Trace("Procesando {0}", EventTopicNames.NumberBookChangedEngine);

            _StateManager.NumberBook.Reset(msg);
        }
        public void OnHistoricalOfLocalCallsEngine(object sender, RangeMsg <LlamadaHistorica> msg)
        {
            _Logger.Trace("Procesando {0}", EventTopicNames.HistoricalOfLocalCallsEngine);

            _StateManager.HistoricalOfCalls.Reset(msg);
        }
Exemple #28
0
 public void Reset(RangeMsg <Number> msg)
 {
     _Numbers = msg.Info;
     General.SafeLaunchEvent(AgendaChanged, this);
 }
Exemple #29
0
        public void OnTlfChanged(object sender, RangeMsg e)
        {
            if (_IsCurrentView)
            {
                if ((e.Count == 1) && (e.From < Tlf.NumDestinations) && !General.TimeElapsed(_CallTimestamp, 1000))
                {
                    bool   changeView = false;
                    TlfDst dst        = _StateManager.Tlf[e.From];

                    switch (dst.PrevState)
                    {
                    case TlfState.Unavailable:
                    case TlfState.Idle:
                    case TlfState.PaPBusy:
                    case TlfState.RemoteMem:
                    case TlfState.Mem:
                    case TlfState.NotAllowed:
                        changeView = (dst.State == TlfState.NotAllowed) || (dst.State == TlfState.Out) || (dst.State == TlfState.Congestion);
                        break;

                    case TlfState.Hold:
                    case TlfState.RemoteIn:
                    case TlfState.In:
                    case TlfState.InPrio:
                        changeView = (dst.State == TlfState.Set) || (dst.State == TlfState.Conf);
                        break;
                    }

                    if (changeView)
                    {
                        _CmdManager.SwitchTlfView(ViewNames.TlfDa);
                        _CmdManager.TlfLoadDaPage(e.From / ((Settings.Default.TlfRows * Settings.Default.TlfColumns) - 1));

                        return;
                    }
                }

                if ((_StateManager.Tlf.Listen.State == FunctionState.Idle) &&
                    (_StateManager.Tlf.Transfer.State == FunctionState.Idle))
                {
                    int numSet = _StateManager.Tlf[TlfState.Set] + _StateManager.Tlf[TlfState.Conf];

                    if (numSet == 1)
                    {
                        if ((_SetCall == null) || ((_SetCall.State != TlfState.Set) && (_SetCall.State != TlfState.Conf)))
                        {
                            int id = _StateManager.Tlf.GetFirstInState(TlfState.Set, TlfState.Conf);
                            _SetCall = _StateManager.Tlf[id];

                            _Keypad.Dst    = string.IsNullOrEmpty(_SetCall.Number) ? _SetCall.Dst : _SetCall.Number;
                            _Keypad.Digits = _SetCall.Digits;
                        }
                    }
                    else if ((numSet == 0) && (_SetCall != null))
                    {
                        _SetCall = null;

                        if (_StateManager.Tlf.Unhang.State == UnhangState.Idle)
                        {
                            _Keypad.Digits = "";
                            _Keypad.Dst    = "";
                        }
                    }

                    _Keypad.Enabled = _KeypadEnabled;
                    _CallBT.Enabled = _CallEnabled;
                }
            }

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

                switch (dst.State)
                {
                case TlfState.In:
                case TlfState.InPrio:
                case TlfState.RemoteIn:
                case TlfState.Congestion:
                case TlfState.Set:
                case TlfState.Conf:
                case TlfState.Out:
                case TlfState.Busy:
                    if (!string.IsNullOrEmpty(dst.Number))
                    {
                        AddToHistoric(new Number(dst.Number, dst.Dst));
                    }
                    break;
                }

                if (_IsCurrentView)
                {
                    bool numEnabled = _NumEnabled;
                    _Num1BT.Enabled = numEnabled && (_Historic[0] != null);
                    _Num2BT.Enabled = numEnabled && (_Historic[1] != null);
                    _Num3BT.Enabled = numEnabled && (_Historic[2] != null);
                    _Num4BT.Enabled = numEnabled && (_Historic[3] != null);
                }
            }
        }
Exemple #30
0
 public void Reset(RangeMsg <Area> msg)
 {
     _Areas = msg.Info;
     General.SafeLaunchEvent(NumberBookChanged, this);
 }