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; }
/** Esta funcion se ha trasladado al Model Module */ //private void RecuperaEstadoAsignacionFrecuencias() //{ // int absPageBegin = _urrRdPageButton.Page * _NumPositionsByPage; // for (int i = absPageBegin, to = absPageBegin + _NumPositionsByPage; i < to; i++) // { // if (i < Settings.Default.AssignatedStates.Count) // { // string[] estado = Settings.Default.AssignatedStates[i].Split(','); // EstadoAsignacion eAsignacion = new EstadoAsignacion(); // eAsignacion._Rx = estado[1] == "True"; // eAsignacion._Tx = estado[2] == "True"; // switch (estado[3]) // { // case "HeadPhones": // eAsignacion._AudioVia = RdRxAudioVia.HeadPhones; // break; // case "Speaker": // eAsignacion._AudioVia = RdRxAudioVia.Speaker; // break; // case "NoAudio": // eAsignacion._AudioVia = RdRxAudioVia.NoAudio; // break; // } // _EstadosAsignacion[i - absPageBegin] = eAsignacion; // } // } //} private void Reset(UrrRdButton bt, RdDst dst, ref EstadoAsignacion estado) { Reset(bt, dst); if (!dst.Unavailable && estado.Unavailable && !_StateManager.ScreenSaver.On) { if (estado._Rx && !dst.Rx) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } else if (estado._AudioVia == RdRxAudioVia.HeadPhones) { if (dst.TipoFrecuencia == TipoFrecuencia_t.HF && (dst.AudioVia == RdRxAudioVia.HfSpeaker || dst.AudioVia == RdRxAudioVia.Speaker)) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } else if (dst.TipoFrecuencia != TipoFrecuencia_t.HF && dst.AudioVia == RdRxAudioVia.Speaker) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } } else if (estado._AudioVia == RdRxAudioVia.HfSpeaker && dst.AudioVia == RdRxAudioVia.Speaker) { //RdButton_RxShortClick(bt, null); Forced_RxShortClick(bt); } if (estado._Tx && !dst.Tx) { //RdButton_TxClick(bt, null); try { // Forzar la asignación de Tx independientemente de si está ya asignada en otra posición _CmdManager.RdConfirmTxState(bt.Id); } catch (Exception ex) { int pos = _RdButtons.IndexOf(bt); string msg = string.Format("ERROR modificando Tx de frecuencia RD [Pos={0}] [Id={1}]", pos, bt.Id); _Logger.Error(msg, ex); } } } else if (!dst.Unavailable && !estado.Unavailable) { estado._Tx = dst.Tx; estado._Rx = dst.Rx; estado._AudioVia = dst.AudioVia; } estado.Unavailable = dst.Unavailable || estado._Rx != dst.Rx || estado._Tx != dst.Tx || estado._AudioVia != dst.AudioVia; }
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 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; }