From 00a395425ca9bc2af88f24d56324779c726fba94 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Thu, 27 May 1999 18:08:50 +0000 Subject: [PATCH] Corrected SetItemState() in listctrl Added test for this to scroll sample. Didn't find reason for strange positioning of progress dialog. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2584 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- samples/scroll/scroll.cpp | 5 ++--- src/generic/listctrl.cpp | 6 +++--- src/gtk/frame.cpp | 3 +-- src/gtk1/frame.cpp | 3 +-- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/samples/scroll/scroll.cpp b/samples/scroll/scroll.cpp index ef74ac887a..ab79be35eb 100644 --- a/samples/scroll/scroll.cpp +++ b/samples/scroll/scroll.cpp @@ -101,7 +101,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, wxListCtrl *m_listCtrl = new wxListCtrl( this, -1, wxPoint(200, 10), wxSize(180, 120), - wxLC_REPORT | wxSUNKEN_BORDER); + wxLC_REPORT | wxSUNKEN_BORDER | wxLC_SINGLE_SEL ); m_listCtrl->InsertColumn(0, "First", wxLIST_FORMAT_LEFT, 90); m_listCtrl->InsertColumn(1, "Last", wxLIST_FORMAT_LEFT, 90); @@ -112,6 +112,7 @@ MyCanvas::MyCanvas( wxWindow *parent, wxWindowID id, sprintf(buf, "Item %d", i); m_listCtrl->InsertItem(i, buf); } + m_listCtrl->SetItemState( 3, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED ); (void) new wxListBox( this, -1, wxPoint(200,180), wxSize(180,120), 5, choices, wxLB_ALWAYS_SB ); @@ -148,7 +149,6 @@ MyFrame::MyFrame() : wxFrame( (wxFrame *)NULL, -1, "wxScrolledWindow sample", wxPoint(20,20), wxSize(470,360) ) { -/* wxMenu *file_menu = new wxMenu(); file_menu->Append( ID_ABOUT, "&About.."); file_menu->Append( ID_QUIT, "E&xit\tAlt-X"); @@ -162,7 +162,6 @@ MyFrame::MyFrame() int widths[] = { -1, 100 }; SetStatusWidths( 2, widths ); -*/ m_canvas = new MyCanvas( this, -1, wxPoint(0,0), wxSize(10,10) ); m_canvas->SetScrollbars( 10, 10, 50, 100 ); } diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index d0a1bd2fcd..e2109c176c 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -1781,7 +1781,7 @@ void wxListMainWindow::SetItemState( long item, long state, long stateMask ) m_current = line; FocusLine( m_current ); RefreshLine( m_current ); - RefreshLine( oldCurrent ); + if (oldCurrent) RefreshLine( oldCurrent ); } } @@ -1799,9 +1799,9 @@ void wxListMainWindow::SetItemState( long item, long state, long stateMask ) UnfocusLine( m_current ); m_current = line; FocusLine( m_current ); - oldCurrent->Hilight( FALSE ); + if (oldCurrent) oldCurrent->Hilight( FALSE ); RefreshLine( m_current ); - RefreshLine( oldCurrent ); + if (oldCurrent) RefreshLine( oldCurrent ); } bool on = state & wxLIST_STATE_SELECTED; if (on != line->IsHilighted()) diff --git a/src/gtk/frame.cpp b/src/gtk/frame.cpp index 66dece16c5..1f8dcc9d63 100644 --- a/src/gtk/frame.cpp +++ b/src/gtk/frame.cpp @@ -152,7 +152,7 @@ static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventC wxapp_install_idle_handler(); if (!win->m_hasVMT) return FALSE; - + win->m_x = event->x; win->m_y = event->y; @@ -510,7 +510,6 @@ void wxFrame::DoSetSize( int x, int y, int width, int height, int sizeFlags ) { if ((m_x != old_x) || (m_y != old_y)) { - /* we set the size here and in gtk_frame_map_callback */ gtk_widget_set_uposition( m_widget, m_x, m_y ); } } diff --git a/src/gtk1/frame.cpp b/src/gtk1/frame.cpp index 66dece16c5..1f8dcc9d63 100644 --- a/src/gtk1/frame.cpp +++ b/src/gtk1/frame.cpp @@ -152,7 +152,7 @@ static gint gtk_frame_configure_callback( GtkWidget *WXUNUSED(widget), GdkEventC wxapp_install_idle_handler(); if (!win->m_hasVMT) return FALSE; - + win->m_x = event->x; win->m_y = event->y; @@ -510,7 +510,6 @@ void wxFrame::DoSetSize( int x, int y, int width, int height, int sizeFlags ) { if ((m_x != old_x) || (m_y != old_y)) { - /* we set the size here and in gtk_frame_map_callback */ gtk_widget_set_uposition( m_widget, m_x, m_y ); } } -- 2.45.2