X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f03fc89fff2d6e823e7d4d14fbe14822ad6777b1..4e4ea166d76da40eaa5fdcf9e958d93521f72fba:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index dfd6c5d691..2ed58de9aa 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -1356,15 +1356,15 @@ void wxListMainWindow::MoveToFocus( void ) { int y_s = m_yScroll*GetScrollPos( wxVERTICAL ); if ((y > y_s) && (y+h < y_s+h_p)) return; - if (y-y_s < 5) Scroll( -1, (y-5-h_p/2)/m_yScroll ); - if (y+h+5 > y_s+h_p) Scroll( -1, (y+h-h_p/2+h+15)/m_yScroll ); + if (y-y_s < 5) { Scroll( -1, (y-5-h_p/2)/m_yScroll ); Refresh(); } + if (y+h+5 > y_s+h_p) { Scroll( -1, (y+h-h_p/2+h+15)/m_yScroll); Refresh(); } } else { int x_s = m_xScroll*GetScrollPos( wxHORIZONTAL ); if ((x > x_s) && (x+w < x_s+w_p)) return; - if (x-x_s < 5) Scroll( (x-5)/m_xScroll, -1 ); - if (x+w-5 > x_s+w_p) Scroll( (x+w-w_p+15)/m_xScroll, -1 ); + if (x-x_s < 5) { Scroll( (x-5)/m_xScroll, -1 ); Refresh(); } + if (x+w-5 > x_s+w_p) { Scroll( (x+w-w_p+15)/m_xScroll, -1 ); Refresh(); } } } @@ -2372,39 +2372,40 @@ void wxListCtrl::SetSingleStyle( long style, bool add ) void wxListCtrl::SetWindowStyleFlag( long flag ) { - m_mainWin->DeleteEverything(); + if (m_mainWin) + { + m_mainWin->DeleteEverything(); - int width = 0; - int height = 0; - GetClientSize( &width, &height ); + int width = 0; + int height = 0; + GetClientSize( &width, &height ); - m_mainWin->SetMode( flag ); + m_mainWin->SetMode( flag ); - if (flag & wxLC_REPORT) - { - if (!HasFlag(wxLC_REPORT)) + if (flag & wxLC_REPORT) { -// m_mainWin->SetSize( 0, 24, width, height-24 ); - if (!m_headerWin) + if (!HasFlag(wxLC_REPORT)) { - m_headerWin = new wxListHeaderWindow( this, -1, m_mainWin, wxPoint(0,0), wxSize(width,23), wxTAB_TRAVERSAL ); - } - else - { -// m_headerWin->SetSize( 0, 0, width, 23 ); - m_headerWin->Show( TRUE ); + if (!m_headerWin) + { + m_headerWin = new wxListHeaderWindow( this, -1, m_mainWin, + wxPoint(0,0), wxSize(width,23), wxTAB_TRAVERSAL ); + } + else + { + m_headerWin->Show( TRUE ); + } } } - } - else - { - if (HasFlag(wxLC_REPORT)) + else { -// m_mainWin->SetSize( 0, 0, width, height ); - m_headerWin->Show( FALSE ); - } + if (HasFlag(wxLC_REPORT)) + { + m_headerWin->Show( FALSE ); + } + } } - + wxWindow::SetWindowStyleFlag( flag ); }