]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.cpp
fixed a warning and detabified
[wxWidgets.git] / samples / listctrl / listtest.cpp
index b0903b6e735c840fc965cdfbcd8c2143a70ebcaf..91341cae92636f71c616442db65b4e75b85d3852 100644 (file)
@@ -90,6 +90,7 @@ BEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl)
     EVT_LIST_KEY_DOWN(LIST_CTRL, MyListCtrl::OnListKeyDown)
     EVT_LIST_ITEM_ACTIVATED(LIST_CTRL, MyListCtrl::OnActivated)
     EVT_LIST_COL_CLICK(LIST_CTRL, MyListCtrl::OnColClick)
+    EVT_LIST_CACHE_HINT(LIST_CTRL, MyListCtrl::OnCacheHint)
 
     EVT_CHAR(MyListCtrl::OnChar)
 END_EVENT_TABLE()
@@ -551,6 +552,12 @@ void MyFrame::OnDeleteAll(wxCommandEvent& WXUNUSED(event))
 
 // MyListCtrl
 
+void MyListCtrl::OnCacheHint(wxListEvent& event)
+{
+    wxLogMessage( "OnCacheHint: cache items %ld..%ld",
+                  event.GetCacheFrom(), event.GetCacheTo() );
+}
+
 void MyListCtrl::OnColClick(wxListEvent& event)
 {
     wxLogMessage( "OnColumnClick at %d.", event.GetColumn() );
@@ -657,6 +664,22 @@ void MyListCtrl::OnListKeyDown(wxListEvent& event)
 {
     switch ( event.GetCode() )
     {
+        case 'c':
+            {
+                wxListItem info;
+                info.m_itemId = event.GetIndex();
+                GetItem(info);
+
+                wxListItemAttr *attr = info.GetAttributes();
+                if ( !attr || !attr->HasTextColour() )
+                {
+                    info.SetTextColour(*wxCYAN);
+
+                    SetItem(info);
+                }
+            }
+            break;
+
         case WXK_DELETE:
             DeleteItem(event.GetIndex());
 
@@ -708,6 +731,11 @@ int MyListCtrl::OnGetItemImage(long item) const
     return 0;
 }
 
+wxListItemAttr *MyListCtrl::OnGetItemAttr(long item) const
+{
+    return item % 2 ? NULL : (wxListItemAttr *)&m_attr;
+}
+
 void MyListCtrl::InsertItemInReportView(int i)
 {
     wxString buf;