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

Method SetSel

SOUI/src/control/SListView.cpp:773–827  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

771 }
772
773 void SListView::SetSel(int iItem,BOOL bNotify)
774 {
775 if(!m_adapter) return;
776
777 if(iItem>=m_adapter->getCount())
778 return;
779
780 if(iItem<0) iItem = -1;
781
782 int nOldSel = m_iSelItem;
783 int nNewSel = iItem;
784
785 m_iSelItem = nNewSel;
786 if(bNotify)
787 {
788 EventLVSelChanging evt(this);
789 evt.bCancel = FALSE;
790 evt.iOldSel = nOldSel;
791 evt.iNewSel = nNewSel;
792 FireEvent(evt);
793 if(evt.bCancel)
794 {//Cancel SetSel and restore selection state
795 m_iSelItem = nOldSel;
796 return;
797 }
798 }
799
800 if(nOldSel == nNewSel)
801 return;
802
803 m_iSelItem = nOldSel;
804 SItemPanel *pItem = GetItemPanel(nOldSel);
805 if(pItem)
806 {
807 pItem->GetFocusManager()->ClearFocus();
808 pItem->ModifyItemState(0,WndState_Check);
809 RedrawItem(pItem);
810 }
811 m_iSelItem = nNewSel;
812 pItem = GetItemPanel(nNewSel);
813 if(pItem)
814 {
815 pItem->ModifyItemState(WndState_Check,0);
816 RedrawItem(pItem);
817 }
818
819 if(bNotify)
820 {
821 EventLVSelChanged evt(this);
822 evt.iOldSel = nOldSel;
823 evt.iNewSel = nNewSel;
824 FireEvent(evt);
825 }
826
827 }
828
829 UINT SListView::OnGetDlgCode()
830 {

Callers 2

SetCurSelMethod · 0.45
OnMclvCtxMenuMethod · 0.45

Calls 3

ClearFocusMethod · 0.80
ModifyItemStateMethod · 0.80
getCountMethod · 0.45

Tested by

no test coverage detected