MCPcopy Create free account
hub / github.com/cinience/RedisStudio / BackgroundWorkForRefreshValues

Method BackgroundWorkForRefreshValues

RedisStudio/RedisDataUI.cpp:747–794  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

745}
746
747void RedisDataUI::BackgroundWorkForRefreshValues(void)
748{
749 DBClient* cli = Env()->GetDBClient();
750 cli->SelectDB(m_oRedisData.db);
751 std::string key, type;
752 CEditUI* pKeyEdit = static_cast<CEditUI*>(GetPaintMgr()->FindControl(kKeyEditName));
753 key = Base::CharacterSet::UnicodeToANSI(pKeyEdit->GetText().GetData());
754 if (!cli->Exists(key))
755 {
756 /// 如果该键已经不存在,则提示用户重新加载
757 ::PostMessage(GetHWND(), WM_USER_DATAVERBOSE, 10030, NULL);
758 return;
759 }
760 m_oRedisData.key = Base::CharacterSet::ANSIToUnicode(key).c_str();
761
762 if (!cli->GetData(key, type, GetResult())) return;
763 m_oRedisData.type = Base::CharacterSet::ANSIToUnicode(type).c_str();
764 m_oRedisData.size.Format(_T("%u"), GetResult().RowSize() );
765 long long ttl = cli->TTL(key);
766 m_oRedisData.ttl.Format(_T("%lld"), ttl);
767 if (ttl > 0)
768 {
769 m_oRedisData.ttl.Append(_T(" "));
770 m_oRedisData.ttl.Append(_T("("));
771 m_oRedisData.ttl.Append(Base::CharacterSet::ANSIToUnicode(Base::Util::ConvertHumanTimeDuration(ttl)).c_str());
772 m_oRedisData.ttl.Append(_T(")"));
773 }
774 /// 预先显示数据类型等信息
775 ::PostMessage(GetHWND(), WM_USER_DATAVERBOSE, NULL, NULL);
776
777 for (std::size_t idx=0; idx<GetResult().ColumnSize(); ++idx)
778 {
779 CListHeaderItemUI* pHeaderItem = new CListHeaderItemUI();
780
781 pHeaderItem->SetText(Base::CharacterSet::ANSIToUnicode(GetResult().ColumnName(idx)).c_str());
782 pHeaderItem->SetHotImage(_T("file='list_header_hot.png'"));
783 pHeaderItem->SetPushedImage(_T("file='list_header_pushed.png'"));
784 pHeaderItem->SetSepImage(_T("file='list_header_sep.png'"));
785 pHeaderItem->SetSepWidth(1);
786
787 /// list在插入值时会根据listhead来作响应判断,所以需要在head完全update后再插入值
788 LPARAM lparam = 0;
789 if (idx+1 == GetResult().ColumnSize()) lparam = 1;
790 ::PostMessage(GetHWND(), WM_USER_DATAADD, (WPARAM)pHeaderItem, lparam);
791 }
792 m_oEventListHeader.wait();
793 SetPageValues();
794}
795
796void RedisDataUI::SetPageValues( )
797{

Callers

nothing calls this directly

Calls 15

GetDBClientMethod · 0.80
FormatMethod · 0.80
RowSizeMethod · 0.80
AppendMethod · 0.80
ColumnSizeMethod · 0.80
SetSepImageMethod · 0.80
waitMethod · 0.80
SelectDBMethod · 0.45
FindControlMethod · 0.45
GetDataMethod · 0.45
GetTextMethod · 0.45
ExistsMethod · 0.45

Tested by

no test coverage detected