]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
Add wxStyledTextCtrl::AnnotationClearLine().
[wxWidgets.git] / src / generic / listctrl.cpp
index de34935ced4fdb7b61eb45d95f2e27fdd4557584..e8e6b26b34c125b32bb168797631766b90eb827b 100644 (file)
@@ -2302,8 +2302,11 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event )
     if ( event.LeftDown() )
         SetFocus();
 
-    event.SetEventObject( GetParent() );
-    if ( GetParent()->GetEventHandler()->ProcessEvent( event) )
+    // Pretend that the event happened in wxListCtrl itself.
+    wxMouseEvent me(event);
+    me.SetEventObject( GetParent() );
+    me.SetId(GetParent()->GetId());
+    if ( GetParent()->GetEventHandler()->ProcessEvent( me ))
         return;
 
     if (event.GetEventType() == wxEVT_MOUSEWHEEL)
@@ -2705,6 +2708,7 @@ void wxListMainWindow::OnKeyDown( wxKeyEvent &event )
     // propagate the key event upwards
     wxKeyEvent ke(event);
     ke.SetEventObject( parent );
+    ke.SetId(GetParent()->GetId());
     if (parent->GetEventHandler()->ProcessEvent( ke ))
         return;
 
@@ -2728,6 +2732,8 @@ void wxListMainWindow::OnKeyUp( wxKeyEvent &event )
 
     // propagate the key event upwards
     wxKeyEvent ke(event);
+    ke.SetEventObject( parent );
+    ke.SetId(GetParent()->GetId());
     if (parent->GetEventHandler()->ProcessEvent( ke ))
         return;
 
@@ -2757,6 +2763,7 @@ void wxListMainWindow::OnChar( wxKeyEvent &event )
     // propagate the char event upwards
     wxKeyEvent ke(event);
     ke.SetEventObject( parent );
+    ke.SetId(GetParent()->GetId());
     if (parent->GetEventHandler()->ProcessEvent( ke ))
         return;
 
@@ -4125,8 +4132,10 @@ void wxListMainWindow::InsertItem( wxListItem &item )
     RefreshLines(id, GetItemCount() - 1);
 }
 
-void wxListMainWindow::InsertColumn( long col, const wxListItem &item )
+long wxListMainWindow::InsertColumn( long col, const wxListItem &item )
 {
+    long idx = -1;
+
     m_dirty = true;
     if ( InReportView() )
     {
@@ -4143,9 +4152,11 @@ void wxListMainWindow::InsertColumn( long col, const wxListItem &item )
                 node = m_columns.Item( col );
             m_columns.Insert( node, column );
             m_aColWidths.Insert( colWidthInfo, col );
+            idx = col;
         }
         else
         {
+            idx = m_aColWidths.GetCount();
             m_columns.Append( column );
             m_aColWidths.Add( colWidthInfo );
         }
@@ -4167,6 +4178,7 @@ void wxListMainWindow::InsertColumn( long col, const wxListItem &item )
         // invalidate it as it has to be recalculated
         m_headerWidth = 0;
     }
+    return idx;
 }
 
 int wxListMainWindow::GetItemWidthWithImage(wxListItem * item)
@@ -4947,14 +4959,14 @@ long wxGenericListCtrl::DoInsertColumn( long col, const wxListItem &item )
 {
     wxCHECK_MSG( InReportView(), -1, wxT("can't add column in non report mode") );
 
-    m_mainWin->InsertColumn( col, item );
+    long idx = m_mainWin->InsertColumn( col, item );
 
     // NOTE: if wxLC_NO_HEADER was given, then we are in report view mode but
     //       still have m_headerWin==NULL
     if (m_headerWin)
         m_headerWin->Refresh();
 
-    return 0;
+    return idx;
 }
 
 bool wxGenericListCtrl::ScrollList( int dx, int dy )