Beispiel #1
0
wxString MerryKey::GetKeyString(int key) const
{
	if (key >= WXK_NUMPAD0 && key <= WXK_NUMPAD9)
		return wxString::Format("NUMPAD%d",key - WXK_NUMPAD0);
	if (key >= WXK_F1 && key <= WXK_F24)
		return wxString::Format("F%d",key - WXK_F1 + 1);
	std::map<wxString, int>::const_iterator it = m_wxKeys.end();
    it = std::find_if(m_wxKeys.begin(), m_wxKeys.end(), map_value_finder(key));
    if (it == m_wxKeys.end())
       return wxEmptyString;
	return it->first;
}
Beispiel #2
0
/////////////////////////////////////////////////////////////////////////////
// CRadioSetView message handlers
void	CRadioSetView::LoadData()
{
	LoadComboString();
	CString str  = GetIDStr(1,SETTING_MSID);//((CPCSWDoc*)GetDocument())->GetMSID(SETTING_MSID);
	m_editID.SetWindowText(str);
	str.Empty();
	str = GetIDStr(0,SETTING_ALARM_EMEID);//(CPCSWDoc*)GetDocument())->GetAlarmID(SETTING_ALARM_EMEID);
	m_editALARMID.SetWindowText(str);
	str.Empty();
	str = GetAlarmName(SETTING_ALARM_NAME,SETTING_NAME_LEN);
		//((CPCSWDoc*)GetDocument())->GetAlarmName(SETTING_ALARM_NAME,SETTING_DBDBDWORD_LEN);
	m_editALARMName.SetWindowText(str);
	str.Empty();
	int num = sizeof(CheckIDArray);
	int nRet=-1;
	CString	strInput;
	//对于单选类型
	int i=0;
	for (;i<18;i++)
	{
		nRet = GetSettingValue(CheckIDArray.nOffset[i]);
		//(CPCSWDoc*)GetDocument())->GetSettingCheckValue(CheckIDArray.nOffset[i]);
		if(nRet!=0)
			nRet = 1;
		((CButton*)GetDlgItem(CheckIDArray.nCtrlID[i]))->SetCheck(nRet);
	}
	for(i=18;i<26;i++)
	{	
		nRet = GetSettingValue(CheckIDArray.nOffset[i]);
			//((CPCSWDoc*)GetDocument())->GetSettingCheckValue(CheckIDArray.nOffset[i]);
		if(CheckIDArray.nCtrlID[i] == IDC_COMBO_MAINFRAME_STYLE)
			nRet--;
 		((CComboBox*)GetDlgItem(CheckIDArray.nCtrlID[i]))->SetCurSel(nRet);
	}
	for (i=26;i<28;i++)
	{
		nRet = GetEmerSettingValues(CheckIDArray.nOffset[i]);
		((CComboBox*)GetDlgItem(CheckIDArray.nCtrlID[i]))->SetCurSel(nRet);
	}
	if (i == 28)//报警跳转信道
	{
		int nCh = GetEmerSettingValues(CheckIDArray.nOffset[i]);
		int	nZone = GetEmerSettingValues(CheckIDArray.nOffset[i]+1);
		if (nCh == 0xff)//当前信道
		{
			((CComboBox*)GetDlgItem(CheckIDArray.nCtrlID[i]))->SetCurSel(0);
		}
		else if(nCh <=16 && nZone <=16)
		{
			DWORD nInfo = (WORD)nCh&0x00ff |((WORD)(nZone<<8)&0xff00);
			it = find_if(mapChannel.begin(),mapChannel.end(),map_value_finder(nInfo));
			if (it!=mapChannel.end())
			{
				int nSel = (int)it->first;
				((CComboBox*)GetDlgItem(CheckIDArray.nCtrlID[i]))->SetCurSel(nSel+1);
			}
		}
	}
	for (i=0;i<SPINEDIT_SUM_SETTING;i++)
	{
		nRet = GetSettingValue(SpinIDArray.nOffset[i]);
			//((CPCSWDoc*)GetDocument())->GetSettingCheckValue(SpinIDArray.nOffset[i]);
		if (nRet > SpinIDArray.nOverleap[i]||nRet <1)//若是大于规定的最大值
		{
			switch(SpinIDArray.nCtrlID[i])
			{
			case IDC_EDIT_TCOMM://TOT超时 0:无限制 1-60,步进10秒
				{
					if(nRet == 0)
					{
						strInput ="无限制";
						m_editTcomm.SetSpecialValue(0,strInput);
					}
					else
						nRet = 60;
					m_editTcomm.SetInteger(nRet);
				}
				break;
			case IDC_EDIT_TPRETOT://TOT预警 0:不预警 1-60,步进1秒
			case IDC_EDIT_TREKEY://TOT再按键 0:不预警 1-60,步进1秒
				{
					if(nRet == 0)
					{	
						strInput ="不预警";
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetSpecialValue(0,strInput);
					}else
						 nRet = 60;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
				}
				break;
			case IDC_EDIT_TRESET:	//TOT复位 0:不预警 1-30,步进1秒
				{
					if(nRet == 0)
					{	
						strInput ="不预警";
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetSpecialValue(0,strInput);
					}else
						 nRet = 30;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
				}
				break;
			case IDC_EDIT_VOX_DELAY://VOX声控延迟 0:不延迟关闭 1-30,步进100毫秒
				{
					if(nRet == 0)
					{
						strInput ="不延迟关闭";
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetSpecialValue(0,strInput);
					} else
						 nRet = 30;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
				}
				break;
			case IDC_EDIT_KEYLOCK_DELAY://键盘锁 0:关 1-6,步进5秒  
				{
					if(nRet == 0)
					{
						strInput ="关闭";
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetSpecialValue(0,strInput);
					}else
						 nRet = 6;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
				}
				break;
			case IDC_EDIT_BGLIGHT_DELAY://背光延迟时间	5-60,步进1秒
				{
					
					nRet = 60;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
				}
				break;
			case  IDC_EDIT_PRE_TX_DELAY:	//发射预载波时间 0-250,步进10毫秒
				{
					nRet = 250;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
				}
				break;
			case IDC_EDIT_GROUPCALL_HOLD_TIME:	//组呼保持时间 0-20,步进500毫秒
			case IDC_EDIT_SIGNALCALL_HOLD_TIME:	//个呼保持时间 0-20,步进500毫秒
				{
					nRet = 20;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
				}
				break;
			case IDC_EDIT_ALARM_CALL_TIME: //紧急警报次数 1-254, 255:无限次
			case IDC_EDIT_ALAMR_TIME:		//紧急呼叫次数 1-254, 255:无限次
				{
					if(nRet == 255 || nRet == 0)
					{	nRet = 0;
						strInput ="无限次";
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetSpecialValue(0,strInput);
					}
					else
					{
						nRet = 254;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet);
					}
				}
				break;
			case IDC_EDIT_MIC_HOLD_TIME:	//热麦克持续时间 1-12,单位10秒 
			case IDC_EDIT_RCV_HOLE_TIME:	//接收持续时间 1-12,单位10秒
				{
					if(nRet <1)
						nRet = 10;
					else
						nRet = 12;
						((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet*10);
				}
				break;
			}//end switch
		}//end if
		else
		{
 			((CSpanEdit*)GetDlgItem(SpinIDArray.nCtrlID[i]))->SetInteger(nRet*SpinIDArray.nStep[i]);
		}
	
	}
	for (i=0;i<4;i++)
	{
		nRet = GetEmerSettingValues(SETTING_ALARM_TIME+i);
		((CComboBox*)GetDlgItem(IDC_COMBO_EMER_1+i))->SetCurSel(nRet);
	}
	for (i=0;i<4;i++)
	{
		nRet = GetSettingValue(SETTING_TCOMM_TIME+i);
		((CComboBox*)GetDlgItem(IDC_COMBO_TOT_1+i))->SetCurSel(nRet);
	}
	EnableComboBoxes();
}