本文整理汇总了C++中wxListCtrl::SetItemState方法的典型用法代码示例。如果您正苦于以下问题:C++ wxListCtrl::SetItemState方法的具体用法?C++ wxListCtrl::SetItemState怎么用?C++ wxListCtrl::SetItemState使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxListCtrl
的用法示例。
在下文中一共展示了wxListCtrl::SetItemState方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateSelection
void VirtListCtrlTestCase::UpdateSelection()
{
m_list->SetItemCount(10);
CPPUNIT_ASSERT_EQUAL( 0, m_list->GetSelectedItemCount() );
m_list->SetItemState(7, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
CPPUNIT_ASSERT_EQUAL( 1, m_list->GetSelectedItemCount() );
m_list->SetItemState(0, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
CPPUNIT_ASSERT_EQUAL( 2, m_list->GetSelectedItemCount() );
// The item 7 is now invalid and so shouldn't be counted as selected any
// more.
m_list->SetItemCount(5);
CPPUNIT_ASSERT_EQUAL( 1, m_list->GetSelectedItemCount() );
}
示例2: wxListCtrlSelectItem
// Select the given item
void wxListCtrlSelectItem(wxListCtrl& listCtrl, long sel, bool deselectOthers)
{
long n = listCtrl.GetItemCount();
long i;
if (deselectOthers)
{
for (i = 0; i < n; i++)
{
if (listCtrl.GetItemState(i, wxLIST_STATE_SELECTED) & wxLIST_STATE_SELECTED)
{
listCtrl.SetItemState(i, wxLIST_STATE_SELECTED, 0);
}
}
}
listCtrl.SetItemState(sel, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED);
}
示例3: UpdateSkinList
void SjViewSettingsPage::UpdateSkinList(const wxString& selSkin)
{
m_skinChangeFromMe++;
m_listCtrl->Freeze();
m_listCtrl->DeleteAllItems();
if( m_skinEnumerator )
{
delete m_skinEnumerator;
m_skinEnumerator = NULL;
}
m_skinEnumerator = new SjSkinEnumerator();
if( m_skinEnumerator )
{
int currSkinIndex, new_i;
for( currSkinIndex = 0; currSkinIndex < m_skinEnumerator->GetCount(); currSkinIndex++ )
{
SjSkinEnumeratorItem* currSkin = m_skinEnumerator->GetSkin(currSkinIndex);
wxListItem item;
item.m_mask = wxLIST_MASK_IMAGE | wxLIST_MASK_TEXT | wxLIST_MASK_DATA;
item.m_itemId = currSkinIndex;
item.m_text = currSkin->m_name;
item.m_data = currSkinIndex;
item.m_image = SJ_ICON_SKIN_FILE;
new_i = m_listCtrl->InsertItem(item);
if( currSkin->m_url == selSkin )
{
m_listCtrl->SetItemState(new_i, wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED, wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED);
}
}
wxSize size = m_listCtrl->GetClientSize();
m_listCtrl->SetColumnWidth(0, size.x-8);
}
m_listCtrl->Thaw();
m_skinChangeFromMe--;
}
示例4: InitPage
void SjMyMusicConfigPage::InitPage(const wxString& selSourceUrl)
{
// create index list
m_listOfSources.Clear();
m_listOfSources.DeleteContents(TRUE);
SjModuleList* list = g_mainFrame->m_moduleSystem.GetModules(SJ_MODULETYPE_SCANNER);
wxASSERT(list);
SjModuleList::Node* moduleNode = list->GetFirst();
SjScannerModule* scannerModule;
while( moduleNode )
{
scannerModule = (SjScannerModule*)moduleNode->GetData();
wxASSERT(scannerModule);
wxASSERT(scannerModule->IsLoaded());
long sourceCount = scannerModule->GetSourceCount();
long currSourceIndex;
for( currSourceIndex = 0; currSourceIndex < sourceCount; currSourceIndex++ )
{
SjSettingsSourceItem* item = new SjSettingsSourceItem(scannerModule, currSourceIndex, scannerModule->GetSourceUrl(currSourceIndex), scannerModule->GetSourceIcon(currSourceIndex));
m_listOfSources.Append(item);
}
// next
moduleNode = moduleNode->GetNext();
}
// get list control
m_listCtrl->Freeze();
m_listCtrl->DeleteAllItems();
// go through all search directories
SjSettingsSourceItem* item;
SjSettingsSourceItemList::Node* itemnode = m_listOfSources.GetFirst();
int i = 0;
wxString sourceNotes;
while( itemnode )
{
item = itemnode->GetData();
wxASSERT(item);
wxListItem listitem;
listitem.m_mask = wxLIST_MASK_IMAGE | wxLIST_MASK_TEXT | wxLIST_MASK_DATA;
listitem.m_itemId = i;
listitem.m_text = item->GetUrl();
listitem.SetData((void*)item);
listitem.m_image = item->GetScannerModule()->GetSourceIcon(item->GetIndex());
sourceNotes = item->GetScannerModule()->GetSourceNotes(item->GetIndex());
if( !sourceNotes.IsEmpty() )
{
listitem.m_text.Append(" (");
listitem.m_text.Append(sourceNotes);
listitem.m_text.Append(')');
}
m_listCtrl->InsertItem(listitem);
itemnode = itemnode->GetNext();
i++;
}
m_listCtrl->SortItems(ListCtrlCompareFunction, m_currSortCol);
m_listCtrl->Thaw();
// select the correct item
// (should be done after SortItems() on GTK this may remove the selection ...)
int i_cnt = m_listCtrl->GetItemCount();
for( i = 0; i < i_cnt; i ++ )
{
item = (SjSettingsSourceItem*)m_listCtrl->GetItemData(i);
if( item->GetUrl() == selSourceUrl ) {
m_listCtrl->SetItemState(i, wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED, wxLIST_STATE_SELECTED|wxLIST_STATE_FOCUSED);
break;
}
}
UpdateButtons();
}