void RedisConfigUI::DoApplyData()
{
	CEditUI exampleEditUI;
	CComboUI exampleComboUI;

	RedisClient::TDicConfig::const_iterator it = m_dicConfig.begin();
	RedisClient::TDicConfig::const_iterator itend = m_dicConfig.end();
	RedisClient::TDicConfig config;
	for ( ; it!=itend; ++it)
	{
		CDuiString name = _T("redisconfig_");
		CDuiString key = CharacterSet::ANSIToUnicode(it->first).c_str();	
		name.Append(key);
		CControlUI* pCtl = GetPaintMgr()->FindControl(name);

		string val ;
		if (pCtl->GetClass() == exampleEditUI.GetClass())
		{
			CEditUI* pEdit = static_cast<CEditUI*> (pCtl);
			val = CharacterSet::UnicodeToANSI(pEdit->GetText().GetData());
		}
		else if (pCtl->GetClass() == exampleComboUI.GetClass())
		{
			CComboUI* pCombo = static_cast<CComboUI*> (pCtl);
			int idx = pCombo->GetCurSel();
			if (it->first == "loglevel")
			{
				if (idx == 0) val = "debug";
				else if (idx == 1) val = "verbose";
				else if (idx == 2) val = "notice";
				else if (idx == 3) val = "warning";
			}
			else 
			{
				if (idx == 0) val = "yes";
				else if (idx == 1) val = "no";
			}
		}
		if (val != it->second)
		{
			config.insert(std::make_pair(it->first, val));
		}
	}
	if (SetConfig(config) && GetConfig())
	{
		DoFillData();
	}
}
Example #2
0
int     CZiMainFrame::OnSelectSearch(TNotifyUI & msg)
{
	CEditUI  * pSearchEdit   = DuiControl(CEditUI,  _T("SearchEdit"));
	CComboUI * pSearchCombo  = DuiControl(CComboUI, _T("SearchCombo"));
	LPCTSTR    ptsSearchName = pSearchEdit->GetText().GetData();

	Assert(pSearchEdit && pSearchCombo);
	Assert(ptsSearchName);

	int        nIndex        = pSearchCombo->GetCurSel();
	if(nIndex < 0) return 0;

	CListLabelElementUI * pItem = static_cast<CListLabelElementUI*>(
		pSearchCombo->GetItemAt(nIndex));

	Assert(pItem);
	Assert(nIndex < (int)m_searchNodes.size());
	pSearchEdit->SetText(pItem->GetText());
	CreateChatDailog(m_searchNodes[nIndex]);

	return 0;
}