]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/listctrl.cpp
Replaced /'s with \'s as BCC requires \'s for path names
[wxWidgets.git] / src / msw / listctrl.cpp
index 52f37500cb4214c9cb82dcae54a5475d097c5a75..5b030dd30474ab0fb83dec8d430df7b5d117c7eb 100644 (file)
@@ -123,6 +123,7 @@ DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_ITEM_ACTIVATED)
 DEFINE_EVENT_TYPE(wxEVT_COMMAND_LIST_CACHE_HINT)
 
 IMPLEMENT_DYNAMIC_CLASS(wxListCtrl, wxControl)
+IMPLEMENT_DYNAMIC_CLASS(wxListView, wxListCtrl)
 IMPLEMENT_DYNAMIC_CLASS(wxListItem, wxObject)
 
 BEGIN_EVENT_TABLE(wxListCtrl, wxControl)
@@ -480,20 +481,19 @@ long wxListCtrl::ConvertToMSWStyle(long& oldStyle, long style) const
         wstyle |= LVS_SORTDESCENDING;
     }
 
+#if !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 0 ) )
     if ( style & wxLC_VIRTUAL )
     {
         int ver = wxTheApp->GetComCtl32Version();
         if ( ver < 470 )
         {
-            wxLogWarning(_("Please install a newer version of comctl32.dll\n"
-                           "(at least version 4.70 is required but you have "
-                           "%d.%02d)\n"
-                           "or this program won't operate correctly."),
+            wxLogWarning(_("Please install a newer version of comctl32.dll\n(at least version 4.70 is required but you have %d.%02d)\nor this program won't operate correctly."),
                         ver / 100, ver % 100);
         }
 
         wstyle |= LVS_OWNERDATA;
     }
+#endif
 
     return wstyle;
 }
@@ -1101,7 +1101,7 @@ wxTextCtrl* wxListCtrl::EditLabel(long item, wxClassInfo* textControlClass)
 {
     wxASSERT( (textControlClass->IsKindOf(CLASSINFO(wxTextCtrl))) );
 
-    // VS: ListView_EditLabel requires that the list has focus.  
+    // VS: ListView_EditLabel requires that the list has focus.
     SetFocus();
     HWND hWnd = (HWND) ListView_EditLabel(GetHwnd(), item);
 
@@ -1625,7 +1625,8 @@ bool wxListCtrl::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result)
             break;
 #endif // 0
 
-#if defined(_WIN32_IE) && _WIN32_IE >= 0x300
+#if defined(_WIN32_IE) && _WIN32_IE >= 0x300 \
+    && !( defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 1, 0 ) )
         case NM_CUSTOMDRAW:
             *result = OnCustomDraw(lParam);
 
@@ -1881,7 +1882,7 @@ void wxListCtrl::OnPaint(wxPaintEvent& event)
 // virtual list controls
 // ----------------------------------------------------------------------------
 
-wxString wxListCtrl::OnGetItemText(long item, long col) const
+wxString wxListCtrl::OnGetItemText(long WXUNUSED(item), long WXUNUSED(col)) const
 {
     // this is a pure virtual function, in fact - which is not really pure
     // because the controls which are not virtual don't need to implement it
@@ -1890,7 +1891,7 @@ wxString wxListCtrl::OnGetItemText(long item, long col) const
     return wxEmptyString;
 }
 
-int wxListCtrl::OnGetItemImage(long item) const
+int wxListCtrl::OnGetItemImage(long WXUNUSED(item)) const
 {
     // same as above
     wxFAIL_MSG( _T("not supposed to be called") );
@@ -1898,7 +1899,7 @@ int wxListCtrl::OnGetItemImage(long item) const
     return -1;
 }
 
-wxListItemAttr *wxListCtrl::OnGetItemAttr(long item) const
+wxListItemAttr *wxListCtrl::OnGetItemAttr(long WXUNUSED_UNLESS_DEBUG(item)) const
 {
     wxASSERT_MSG( item >= 0 && item < GetItemCount(),
                   _T("invalid item index in OnGetItemAttr()") );
@@ -1927,10 +1928,14 @@ void wxListCtrl::RefreshItem(long item)
 
 void wxListCtrl::RefreshItems(long itemFrom, long itemTo)
 {
-    for ( long item = itemFrom; item <= itemTo; item++ )
-    {
-        RefreshItem(item);
-    }
+    wxRect rect1, rect2;
+    GetItemRect(itemFrom, rect1);
+    GetItemRect(itemTo, rect2);
+
+    wxRect rect = rect1;
+    rect.height = rect2.GetBottom() - rect1.GetTop();
+
+    RefreshRect(rect);
 }
 
 // ----------------------------------------------------------------------------