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

Method OnItemActiveForTree

RedisStudio/RedisDataUI.cpp:277–327  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

275}
276
277void RedisDataUI::OnItemActiveForTree( TNotifyUI &msg )
278{
279 CTreeNodeUI* pActiveNode = dynamic_cast<CTreeNodeUI*>(msg.pSender);
280 if (!pActiveNode) return;
281
282 if (m_oThread.isRunning())
283 {
284 UserMessageBox(GetHWND(), 10012, NULL, MB_ICONINFORMATION);
285 return ;
286 }
287
288 /// 首层db节点
289 if (pActiveNode->GetParentNode() == m_pRootNode) return;
290
291 /// 非叶子节点并已加载子节点
292 if (pActiveNode->GetTag() != 0 && pActiveNode->IsHasChild()) {
293 return ;
294 }
295
296 if (pActiveNode->GetTag() != 0)
297 {
298 return;
299 }
300
301 int dbNum = -1;
302 CTreeNodeUI* pDBNode = pActiveNode->GetParentNode();
303
304 while (pDBNode)
305 {
306 if (pDBNode->GetParentNode() == m_pRootNode)
307 {
308 dbNum = pDBNode->GetTag()-1;
309 break;
310 }
311 pDBNode = pDBNode->GetParentNode();
312 }
313 if (dbNum < 0) return ;
314 m_oRedisData.db = dbNum;
315 GetResult().Clear();
316 std::string key = Base::CharacterSet::UnicodeToANSI(pActiveNode->GetItemText().GetData());
317 m_pKeyEdit->SetText(Base::CharacterSet::ANSIToUnicode(key).c_str());
318 m_PTypeEdit->SetText(kDefaultText);
319 m_pRichEdit->SetText(kDefaultText);
320 m_pDataSizeEdit->SetText(kDefaultText);
321 m_pPageCur->SetText(_T("1"));
322 m_pPageTotal->SetText(_T("1"));
323 m_pList->RemoveAll();
324 m_pList->GetHeader()->RemoveAll();
325 m_pHorizontalLayout->SetVisible(false);
326 DoRefreshValuesWork();
327}
328
329void RedisDataUI::OnItemActiveForList( TNotifyUI &msg )
330{

Callers

nothing calls this directly

Calls 12

UserMessageBoxFunction · 0.85
isRunningMethod · 0.80
GetParentNodeMethod · 0.80
GetTagMethod · 0.80
IsHasChildMethod · 0.80
GetHeaderMethod · 0.80
ClearMethod · 0.45
GetDataMethod · 0.45
GetItemTextMethod · 0.45
SetTextMethod · 0.45
RemoveAllMethod · 0.45
SetVisibleMethod · 0.45

Tested by

no test coverage detected