MCPcopy Create free account
hub / github.com/SOUI2/soui / SetSel

Method SetSel

SOUI/src/control/SMCListView.cpp:1042–1096  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1040}
1041
1042void SMCListView::SetSel(int iItem,BOOL bNotify)
1043{
1044 if(!m_adapter) return;
1045
1046 if(iItem>=m_adapter->getCount())
1047 return;
1048
1049 if(iItem<0) iItem = -1;
1050
1051 int nOldSel = m_iSelItem;
1052 int nNewSel = iItem;
1053
1054 m_iSelItem = nNewSel;
1055 if(bNotify)
1056 {
1057 EventLVSelChanging evt(this);
1058 evt.bCancel = FALSE;
1059 evt.iOldSel = nOldSel;
1060 evt.iNewSel = nNewSel;
1061 FireEvent(evt);
1062 if(evt.bCancel)
1063 {//Cancel SetSel and restore selection state
1064 m_iSelItem = nOldSel;
1065 return;
1066 }
1067 }
1068
1069 if(nOldSel == nNewSel)
1070 return;
1071
1072 m_iSelItem = nOldSel;
1073 SItemPanel *pItem = GetItemPanel(nOldSel);
1074 if(pItem)
1075 {
1076 pItem->GetFocusManager()->ClearFocus();
1077 pItem->ModifyItemState(0,WndState_Check);
1078 RedrawItem(pItem);
1079 }
1080 m_iSelItem = nNewSel;
1081 pItem = GetItemPanel(nNewSel);
1082 if(pItem)
1083 {
1084 pItem->ModifyItemState(WndState_Check,0);
1085 RedrawItem(pItem);
1086 }
1087
1088 if(bNotify)
1089 {
1090 EventLVSelChanged evt(this);
1091 evt.iOldSel = nOldSel;
1092 evt.iNewSel = nNewSel;
1093 FireEvent(evt);
1094 }
1095
1096}
1097
1098
1099UINT SMCListView::OnGetDlgCode()

Callers

nothing calls this directly

Calls 3

ClearFocusMethod · 0.80
ModifyItemStateMethod · 0.80
getCountMethod · 0.45

Tested by

no test coverage detected