]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/listctrl.cpp
More understandable symbolic constants in generic wxDVC's DoJob class.
[wxWidgets.git] / src / generic / listctrl.cpp
index 89c08e18c613863d60736853daf01341ff9f2a96..09354910b6d046f46a13eb0cc50d23b67e21fcf3 100644 (file)
@@ -1046,7 +1046,7 @@ void wxListHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
 
 // NB: The code below is not really Mac-specific, but since we are close
 // to 2.8 release and I don't have time to test on other platforms, I
-// defined this only for wxMac. If this behavior is desired on
+// defined this only for wxMac. If this behaviour is desired on
 // other platforms, please go ahead and revise or remove the #ifdef.
 #ifdef __WXMAC__
         if ( !m_owner->IsVirtual() && (item.m_mask & wxLIST_MASK_STATE) &&
@@ -4027,6 +4027,19 @@ void wxListMainWindow::InsertItem( wxListItem &item )
     wxListLineData *line = new wxListLineData(this);
 
     line->SetItem( item.m_col, item );
+    if ( item.m_mask & wxLIST_MASK_IMAGE && item.GetImage() != -1)
+    {
+        // Reset the buffered height if it's not big enough for the new image.
+        if (m_small_image_list)
+        {
+            int imageWidth, imageHeight;
+            m_small_image_list->GetSize(item.GetImage(),
+                                        imageWidth, imageHeight);
+
+            if ( imageHeight > m_lineHeight )
+                m_lineHeight = 0;
+        }
+    }
 
     m_lines.Insert( line, id );
 
@@ -4853,7 +4866,9 @@ long wxGenericListCtrl::InsertItem( long index, const wxString &label, int image
     wxListItem info;
     info.m_text = label;
     info.m_image = imageIndex;
-    info.m_mask = wxLIST_MASK_TEXT | wxLIST_MASK_IMAGE;
+    info.m_mask = wxLIST_MASK_TEXT;
+    if (imageIndex > -1)
+        info.m_mask |= wxLIST_MASK_IMAGE;
     info.m_itemId = index;
     return InsertItem( info );
 }