X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d6d9c22365d29d3123962536cc8ec5afb8620ebd..fe9fb970bbcf5be35c18cc526b12fd08c7644652:/samples/listctrl/listtest.cpp diff --git a/samples/listctrl/listtest.cpp b/samples/listctrl/listtest.cpp index 27ec7f7bbe..508ccfde34 100644 --- a/samples/listctrl/listtest.cpp +++ b/samples/listctrl/listtest.cpp @@ -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,6 +235,7 @@ 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("Sor&t\tCtrl-T")); menuList->AppendSeparator(); @@ -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;