X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae403b112c921275b2efc40c2f2c6157ff529777..c4e2838090992384911a6a6aa44cac985d79a555:/samples/listctrl/listtest.cpp diff --git a/samples/listctrl/listtest.cpp b/samples/listctrl/listtest.cpp index 4a23f885dd..11f2dab732 100644 --- a/samples/listctrl/listtest.cpp +++ b/samples/listctrl/listtest.cpp @@ -76,6 +76,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(LIST_SHOW_SEL_INFO, MyFrame::OnShowSelInfo) EVT_MENU(LIST_FREEZE, MyFrame::OnFreeze) EVT_MENU(LIST_THAW, MyFrame::OnThaw) + EVT_MENU(LIST_TOGGLE_LINES, MyFrame::OnToggleLines) EVT_UPDATE_UI(LIST_SHOW_COL_INFO, MyFrame::OnUpdateShowColInfo) EVT_UPDATE_UI(LIST_TOGGLE_MULTI_SEL, MyFrame::OnUpdateToggleMultiSel) @@ -88,8 +89,10 @@ BEGIN_EVENT_TABLE(MyListCtrl, wxListCtrl) EVT_LIST_END_LABEL_EDIT(LIST_CTRL, MyListCtrl::OnEndLabelEdit) EVT_LIST_DELETE_ITEM(LIST_CTRL, MyListCtrl::OnDeleteItem) EVT_LIST_DELETE_ALL_ITEMS(LIST_CTRL, MyListCtrl::OnDeleteAllItems) +#if WXWIN_COMPATIBILITY_2_4 EVT_LIST_GET_INFO(LIST_CTRL, MyListCtrl::OnGetInfo) EVT_LIST_SET_INFO(LIST_CTRL, MyListCtrl::OnSetInfo) +#endif EVT_LIST_ITEM_SELECTED(LIST_CTRL, MyListCtrl::OnSelected) EVT_LIST_ITEM_DESELECTED(LIST_CTRL, MyListCtrl::OnDeselected) EVT_LIST_KEY_DOWN(LIST_CTRL, MyListCtrl::OnListKeyDown) @@ -133,16 +136,16 @@ bool MyApp::OnInit() MyFrame *frame = new MyFrame(wxT("wxListCtrl Test"), 50, 50, 450, 340); // Show the frame - frame->Show(TRUE); + frame->Show(true); SetTopWindow(frame); - return TRUE; + return true; } // My frame constructor MyFrame::MyFrame(const wxChar *title, int x, int y, int w, int h) - : wxFrame((wxFrame *)NULL, -1, title, wxPoint(x, y), wxSize(w, h)) + : wxFrame((wxFrame *)NULL, wxID_ANY, title, wxPoint(x, y), wxSize(w, h)) { m_listCtrl = (MyListCtrl *) NULL; m_logWindow = (wxTextCtrl *) NULL; @@ -151,8 +154,8 @@ MyFrame::MyFrame(const wxChar *title, int x, int y, int w, int h) SetIcon( wxICON(mondrian) ); // Make an image list containing large icons - m_imageListNormal = new wxImageList(32, 32, TRUE); - m_imageListSmall = new wxImageList(16, 16, TRUE); + m_imageListNormal = new wxImageList(32, 32, true); + m_imageListSmall = new wxImageList(16, 16, true); #ifdef __WXMSW__ m_imageListNormal->Add( wxIcon(_T("icon1"), wxBITMAP_TYPE_ICO_RESOURCE) ); @@ -215,8 +218,9 @@ MyFrame::MyFrame(const wxChar *title, int x, int y, int w, int h) menuList->Append(LIST_FREEZE, _T("Free&ze\tCtrl-Z")); menuList->Append(LIST_THAW, _T("Tha&w\tCtrl-W")); menuList->AppendSeparator(); + menuList->AppendCheckItem(LIST_TOGGLE_LINES, _T("Toggle &lines\tCtrl-I")); menuList->Append(LIST_TOGGLE_MULTI_SEL, _T("&Multiple selection\tCtrl-M"), - _T("Toggle multiple selection"), TRUE); + _T("Toggle multiple selection"), true); wxMenu *menuCol = new wxMenu; menuCol->Append(LIST_SET_FG_COL, _T("&Foreground colour...")); @@ -229,8 +233,8 @@ MyFrame::MyFrame(const wxChar *title, int x, int y, int w, int h) menubar->Append(menuCol, _T("&Colour")); SetMenuBar(menubar); - m_panel = new wxPanel(this, -1); - m_logWindow = new wxTextCtrl(m_panel, -1, wxEmptyString, + m_panel = new wxPanel(this, wxID_ANY); + m_logWindow = new wxTextCtrl(m_panel, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE | wxSUNKEN_BORDER); @@ -238,7 +242,9 @@ MyFrame::MyFrame(const wxChar *title, int x, int y, int w, int h) RecreateList(wxLC_REPORT | wxLC_SINGLE_SEL); +#if wxUSE_STATUSBAR CreateStatusBar(3); +#endif // wxUSE_STATUSBAR } MyFrame::~MyFrame() @@ -280,7 +286,7 @@ bool MyFrame::CheckNonVirtual() const void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { - Close(TRUE); + Close(true); } void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) @@ -305,6 +311,11 @@ void MyFrame::OnThaw(wxCommandEvent& WXUNUSED(event)) m_listCtrl->Thaw(); } +void MyFrame::OnToggleLines(wxCommandEvent& event) +{ + m_listCtrl->SetSingleStyle(wxLC_HRULES | wxLC_VRULES, event.IsChecked()); +} + void MyFrame::OnFocusLast(wxCommandEvent& WXUNUSED(event)) { long index = m_listCtrl->GetItemCount() - 1; @@ -373,7 +384,7 @@ void MyFrame::RecreateList(long flags, bool withText) break; case wxLC_SMALL_ICON: - InitWithIconItems(withText, TRUE); + InitWithIconItems(withText, true); break; case wxLC_REPORT: @@ -490,7 +501,7 @@ void MyFrame::InitWithIconItems(bool withText, bool sameIcon) void MyFrame::OnIconView(wxCommandEvent& WXUNUSED(event)) { - RecreateList(wxLC_ICON, FALSE); + RecreateList(wxLC_ICON, false); } void MyFrame::OnIconTextView(wxCommandEvent& WXUNUSED(event)) @@ -500,7 +511,7 @@ void MyFrame::OnIconTextView(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnSmallIconView(wxCommandEvent& WXUNUSED(event)) { - RecreateList(wxLC_SMALL_ICON, FALSE); + RecreateList(wxLC_SMALL_ICON, false); } void MyFrame::OnSmallIconTextView(wxCommandEvent& WXUNUSED(event)) @@ -645,10 +656,12 @@ void MyFrame::OnDeleteAll(wxCommandEvent& WXUNUSED(event)) { wxStopWatch sw; + size_t itemCount = m_listCtrl->GetItemCount(); + m_listCtrl->DeleteAllItems(); m_logWindow->WriteText(wxString::Format(_T("Deleting %d items took %ld ms\n"), - m_listCtrl->GetItemCount(), + itemCount, sw.Time())); } @@ -684,6 +697,11 @@ void MyListCtrl::OnColRightClick(wxListEvent& event) SetColumnImage(col, -1); } + // Show popupmenu at position + wxMenu menu(wxT("Test")); + menu.Append(LIST_ABOUT, _T("&About")); + PopupMenu(&menu, event.GetPoint()); + wxLogMessage( wxT("OnColumnRightClick at %d."), event.GetColumn() ); } @@ -757,6 +775,7 @@ void MyListCtrl::OnDeleteAllItems(wxListEvent& event) LogEvent(event, _T("OnDeleteAllItems")); } +#if WXWIN_COMPATIBILITY_2_4 void MyListCtrl::OnGetInfo(wxListEvent& event) { wxString msg; @@ -789,6 +808,7 @@ void MyListCtrl::OnSetInfo(wxListEvent& event) { LogEvent(event, _T("OnSetInfo")); } +#endif void MyListCtrl::OnSelected(wxListEvent& event) {