]> git.saurik.com Git - wxWidgets.git/commitdiff
Add column parameter to wxListCtrl::GetItemText().
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 10 May 2010 21:22:16 +0000 (21:22 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 10 May 2010 21:22:16 +0000 (21:22 +0000)
Allow retrieving the text from columns other than the first one directly.

Add implementations for MSW and generic versions, documentation and a unit
test.

Closes #11597.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/changes.txt
include/wx/generic/listctrl.h
include/wx/msw/listctrl.h
interface/wx/listctrl.h
src/generic/listctrl.cpp
src/msw/listctrl.cpp
tests/controls/listctrltest.cpp

index 8aecf879ba70e09144195d6c23c1edf395742162..43902e13105326b68e68f4808857bedc7c164d3f 100644 (file)
@@ -724,6 +724,7 @@ All (GUI):
 - Added wxGenericStaticBitmap suitable for display of large bitmaps.
 - Support wxListCtrl::GetViewRect() in report view too.
 - Implement wxListCtrl::GetSubItemRect() in generic version (David Barnard).
+- Add column parameter to wxListCtrl::GetItemText() (Allann Jones).
 - Added wxVListBox::GetItemRect() (Javier Urien).
 - Show busy cursor in wxLaunchDefaultBrowser and add wxBROWSER_NOBUSYCURSOR.
 - Added wxFlexGridSizer::Is{Row,Col}Growable() (Marcin Wojdyr).
index 591fb664aa907be9f42bf32eddde4fdf09165e75..91ee46b03501d50f8e06a3ff5585102f51bca6cd 100644 (file)
@@ -79,7 +79,7 @@ public:
     bool SetItemState( long item, long state, long stateMask);
     bool SetItemImage( long item, int image, int selImage = -1 );
     bool SetItemColumnImage( long item, long column, int image );
-    wxString GetItemText( long item ) const;
+    wxString GetItemText( long item, int col = 0 ) const;
     void SetItemText( long item, const wxString& str );
     wxUIntPtr GetItemData( long item ) const;
     bool SetItemPtrData(long item, wxUIntPtr data);
index 4309527a72eeab2e24c671e5a48ca730224a3b4d..a5afb0df3235a1c6202e288031a2b1cf97a7721c 100644 (file)
@@ -173,7 +173,7 @@ public:
     bool SetItemColumnImage(long item, long column, int image);
 
     // Gets the item text
-    wxString GetItemText(long item) const;
+    wxString GetItemText(long item, int col = 0) const;
 
     // Sets the item text
     void SetItemText(long item, const wxString& str);
index fe29f57455d8458c111771420f04c57e60e55099..9a6ddd739bd683c57ef756d4ab91e5518279ccf5 100644 (file)
@@ -449,8 +449,14 @@ public:
 
     /**
         Gets the item text for this item.
+
+        @param item
+            Item (zero-based) index.
+        @param col
+            Item column (zero-based) index. Column 0 is the default. This
+            parameter is new in wxWidgets 2.9.1.
     */
-    wxString GetItemText(long item) const;
+    wxString GetItemText(long item, int col = 0) const;
 
     /**
         Returns the colour for this item.
index 60305d7c2b30ca039d1891266dd4787ee8d65eea..a59e9dc976cf644e118ab8e0721e3362816fcd4d 100644 (file)
@@ -4562,9 +4562,9 @@ wxGenericListCtrl::SetItemColumnImage( long item, long column, int image )
     return true;
 }
 
-wxString wxGenericListCtrl::GetItemText( long item ) const
+wxString wxGenericListCtrl::GetItemText( long item, int col ) const
 {
-    return m_mainWin->GetItemText(item);
+    return m_mainWin->GetItemText(item, col);
 }
 
 void wxGenericListCtrl::SetItemText( long item, const wxString& str )
index 08014bc3c316b9b21ff8c36e0beb2e529da05019..f688344557a5a9d67b5e6342ae41243c393aabd9 100644 (file)
@@ -1031,12 +1031,13 @@ bool wxListCtrl::SetItemColumnImage(long item, long column, int image)
 }
 
 // Gets the item text
-wxString wxListCtrl::GetItemText(long item) const
+wxString wxListCtrl::GetItemText(long item, int col) const
 {
     wxListItem info;
 
     info.m_mask = wxLIST_MASK_TEXT;
     info.m_itemId = item;
+    info.m_col = col;
 
     if (!GetItem(info))
         return wxEmptyString;
index 6f591e0ef090b797ee13f15edf29aa07624c6aad..93f0756a74047fe066cac277b67789da484e2622 100644 (file)
@@ -41,6 +41,7 @@ private:
         CPPUNIT_TEST( ColumnsOrder );
 #endif // wxHAS_LISTCTRL_COLUMN_ORDER
         CPPUNIT_TEST( ItemRect );
+        CPPUNIT_TEST( ItemText );
         CPPUNIT_TEST( ChangeMode );
     CPPUNIT_TEST_SUITE_END();
 
@@ -48,6 +49,7 @@ private:
     void ColumnsOrder();
 #endif // wxHAS_LISTCTRL_COLUMN_ORDER
     void ItemRect();
+    void ItemText();
     void ChangeMode();
 
     wxListCtrl *m_list;
@@ -178,6 +180,19 @@ void ListCtrlTestCase::ItemRect()
     WX_ASSERT_FAILS_WITH_ASSERT( m_list->GetSubItemRect(0, 3, r) );
 }
 
+void ListCtrlTestCase::ItemText()
+{
+    m_list->InsertColumn(0, "First");
+    m_list->InsertColumn(1, "Second");
+
+    m_list->InsertItem(0, "0,0");
+    CPPUNIT_ASSERT_EQUAL( "0,0", m_list->GetItemText(0) );
+    CPPUNIT_ASSERT_EQUAL( "", m_list->GetItemText(0, 1) );
+
+    m_list->SetItem(0, 1, "0,1");
+    CPPUNIT_ASSERT_EQUAL( "0,1", m_list->GetItemText(0, 1) );
+}
+
 void ListCtrlTestCase::ChangeMode()
 {
     m_list->InsertColumn(0, "Header");