void SjViewSettingsPage::OnSize(wxSizeEvent& event) { wxSize size = m_listCtrl->GetClientSize(); m_listCtrl->SetColumnWidth(0, size.x-8); SjDialog::EnsureSelListCtrlItemVisible(m_listCtrl); event.Skip(); // forward event to the next handler }
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--; }