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(); } }
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; }