]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/listctrl/listtest.cpp
preliminary documentation of wxEventLoop
[wxWidgets.git] / samples / listctrl / listtest.cpp
index 6d1422e2661d791342be22b92ac497eceaddc683..508ccfde34d7f7b8603578e1464889a3a80ce684 100644 (file)
@@ -90,6 +90,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_MENU(LIST_TOGGLE_MULTI_SEL, MyFrame::OnToggleMultiSel)
     EVT_MENU(LIST_SHOW_COL_INFO, MyFrame::OnShowColInfo)
     EVT_MENU(LIST_SHOW_SEL_INFO, MyFrame::OnShowSelInfo)
+    EVT_MENU(LIST_SHOW_VIEW_RECT, MyFrame::OnShowViewRect)
     EVT_MENU(LIST_FREEZE, MyFrame::OnFreeze)
     EVT_MENU(LIST_THAW, MyFrame::OnThaw)
     EVT_MENU(LIST_TOGGLE_LINES, MyFrame::OnToggleLines)
@@ -234,8 +235,9 @@ MyFrame::MyFrame(const wxChar *title)
     menuList->AppendSeparator();
     menuList->Append(LIST_SHOW_COL_INFO, _T("Show &column info\tCtrl-C"));
     menuList->Append(LIST_SHOW_SEL_INFO, _T("Show &selected items\tCtrl-S"));
+    menuList->Append(LIST_SHOW_VIEW_RECT, _T("Show &view rect"));
     menuList->AppendSeparator();
-    menuList->Append(LIST_SORT, _T("&Sort\tCtrl-S"));
+    menuList->Append(LIST_SORT, _T("Sor&t\tCtrl-T"));
     menuList->AppendSeparator();
     menuList->Append(LIST_ADD, _T("&Append an item\tCtrl-P"));
     menuList->Append(LIST_EDIT, _T("&Edit the item\tCtrl-E"));
@@ -643,6 +645,13 @@ void MyFrame::OnShowSelInfo(wxCommandEvent& WXUNUSED(event))
     }
 }
 
+void MyFrame::OnShowViewRect(wxCommandEvent& WXUNUSED(event))
+{
+    const wxRect r = m_listCtrl->GetViewRect();
+    wxLogMessage("View rect: (%d, %d)-(%d, %d)",
+                 r.GetLeft(), r.GetTop(), r.GetRight(), r.GetBottom());
+}
+
 void MyFrame::OnShowColInfo(wxCommandEvent& WXUNUSED(event))
 {
     int count = m_listCtrl->GetColumnCount();
@@ -961,6 +970,27 @@ void MyListCtrl::OnListKeyDown(wxListEvent& event)
             }
             break;
 
+        case '1': // show sub item bounding rectangle
+        case '2':
+        case '3':
+        case '4': // this column is invalid but we want to test it too
+            if ( InReportView() )
+            {
+                int subItem = event.GetKeyCode() - '1';
+                item = event.GetIndex();
+                wxRect r;
+                if ( !GetSubItemRect(item, subItem, r) )
+                {
+                    wxLogError(_T("Failed to retrieve rect of item %ld column %d"), item, subItem + 1);
+                    break;
+                }
+
+                wxLogMessage(_T("Bounding rect of item %ld column %d is (%d, %d)-(%d, %d)"),
+                             item, subItem + 1,
+                             r.x, r.y, r.x + r.width, r.y + r.height);
+            }
+            break;
+
         case 'U': // update
             if ( !IsVirtual() )
                 break;