X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae8c4b33a3272fba39c405542141e7c486b75136..cea62f9c12daeab0e69308c93dd1bd6d5547b4c0:/samples/treectrl/treetest.cpp?ds=sidebyside diff --git a/samples/treectrl/treetest.cpp b/samples/treectrl/treetest.cpp index a485998fb4..270161f9ca 100644 --- a/samples/treectrl/treetest.cpp +++ b/samples/treectrl/treetest.cpp @@ -61,6 +61,7 @@ #define MENU_LINK(name) EVT_MENU(TreeTest_##name, MyFrame::On##name) BEGIN_EVENT_TABLE(MyFrame, wxFrame) + EVT_IDLE(MyFrame::OnIdle) EVT_SIZE(MyFrame::OnSize) MENU_LINK(Quit) @@ -257,9 +258,10 @@ MyFrame::MyFrame(const wxString& title, int x, int y, int w, int h) menu_bar->Check(TreeTest_ToggleImages, TRUE); - // create a status bar with 3 panes - CreateStatusBar(3); - SetStatusText(wxT(""), 0); +#if wxUSE_STATUSBAR + // create a status bar + CreateStatusBar(2); +#endif // wxUSE_STATUSBAR #ifdef __WXMOTIF__ // For some reason, we get a memcpy crash in wxLogStream::DoLogStream @@ -324,6 +326,26 @@ void MyFrame::TogStyle(int id, long flag) GetMenuBar()->Check(id, (style & flag) != 0); } +void MyFrame::OnIdle(wxIdleEvent& event) +{ +#if wxUSE_STATUSBAR + if ( m_treeCtrl ) + { + wxTreeItemId idRoot = m_treeCtrl->GetRootItem(); + + SetStatusText(wxString::Format + ( + _T("Root/last item is %svisible/%svisible"), + m_treeCtrl->IsVisible(idRoot) ? _T("") : _T("not "), + m_treeCtrl->IsVisible(m_treeCtrl->GetLastChild(idRoot)) + ? _T("") : _T("not ") + ), 1); + } +#endif // wxUSE_STATUSBAR + + event.Skip(); +} + void MyFrame::OnSize(wxSizeEvent& event) { if ( m_treeCtrl && m_textCtrl ) @@ -412,7 +434,7 @@ void MyFrame::OnDump(wxCommandEvent& WXUNUSED(event)) CHECK_ITEM( root ); - m_treeCtrl->GetItemsRecursively(root, -1); + m_treeCtrl->GetItemsRecursively(root); } #ifndef NO_MULTIPLE_SELECTION @@ -435,12 +457,12 @@ void MyFrame::OnDumpSelected(wxCommandEvent& WXUNUSED(event)) } } -void MyFrame::OnSelect(wxCommandEvent& event) +void MyFrame::OnSelect(wxCommandEvent& WXUNUSED(event)) { m_treeCtrl->SelectItem(m_treeCtrl->GetSelection()); } -void MyFrame::OnUnselect(wxCommandEvent& event) +void MyFrame::OnUnselect(wxCommandEvent& WXUNUSED(event)) { m_treeCtrl->UnselectAll(); } @@ -485,7 +507,7 @@ void MyFrame::OnRecreate(wxCommandEvent& event) m_treeCtrl->AddTestItemsToTree(5, 2); } -void MyFrame::OnSetImageSize(wxCommandEvent& event) +void MyFrame::OnSetImageSize(wxCommandEvent& WXUNUSED(event)) { int size = wxGetNumberFromUser(wxT("Enter the size for the images to use"), wxT("Size: "), @@ -498,7 +520,7 @@ void MyFrame::OnSetImageSize(wxCommandEvent& event) wxGetApp().SetShowImages(TRUE); } -void MyFrame::OnToggleImages(wxCommandEvent& event) +void MyFrame::OnToggleImages(wxCommandEvent& WXUNUSED(event)) { if ( wxGetApp().ShowImages() ) { @@ -512,7 +534,7 @@ void MyFrame::OnToggleImages(wxCommandEvent& event) } } -void MyFrame::OnToggleButtons(wxCommandEvent& event) +void MyFrame::OnToggleButtons(wxCommandEvent& WXUNUSED(event)) { #if USE_GENERIC_TREECTRL || !defined(__WXMSW__) if ( wxGetApp().ShowButtons() ) @@ -528,12 +550,12 @@ void MyFrame::OnToggleButtons(wxCommandEvent& event) #endif } -void MyFrame::OnCollapseAndReset(wxCommandEvent& event) +void MyFrame::OnCollapseAndReset(wxCommandEvent& WXUNUSED(event)) { m_treeCtrl->CollapseAndReset(m_treeCtrl->GetRootItem()); } -void MyFrame::OnEnsureVisible(wxCommandEvent& event) +void MyFrame::OnEnsureVisible(wxCommandEvent& WXUNUSED(event)) { m_treeCtrl->DoEnsureVisible(); } @@ -667,9 +689,9 @@ void MyTreeCtrl::CreateImageList(int size) AssignImageList(images); } +#if USE_GENERIC_TREECTRL || !defined(__WXMSW__) void MyTreeCtrl::CreateButtonsImageList(int size) { -#if USE_GENERIC_TREECTRL || !defined(__WXMSW__) if ( size == -1 ) { SetButtonsImageList(NULL); @@ -701,6 +723,9 @@ void MyTreeCtrl::CreateButtonsImageList(int size) } AssignButtonsImageList(images); +#else +void MyTreeCtrl::CreateButtonsImageList(int WXUNUSED(size)) +{ #endif } @@ -791,7 +816,7 @@ void MyTreeCtrl::AddTestItemsToTree(size_t numChildren, // set some colours/fonts for testing SetItemFont(rootId, *wxITALIC_FONT); - long cookie; + wxTreeItemIdValue cookie; wxTreeItemId id = GetFirstChild(rootId, cookie); SetItemTextColour(id, *wxBLUE); @@ -801,23 +826,24 @@ void MyTreeCtrl::AddTestItemsToTree(size_t numChildren, SetItemBackgroundColour(id, *wxLIGHT_GREY); } -void MyTreeCtrl::GetItemsRecursively(const wxTreeItemId& idParent, long cookie) +void MyTreeCtrl::GetItemsRecursively(const wxTreeItemId& idParent, + wxTreeItemIdValue cookie) { wxTreeItemId id; - if( cookie == -1 ) + if ( !cookie ) id = GetFirstChild(idParent, cookie); else id = GetNextChild(idParent, cookie); - if(id <= 0) + if ( !id.IsOk() ) return; wxString text = GetItemText(id); wxLogMessage(text); if (ItemHasChildren(id)) - GetItemsRecursively(id,-1); + GetItemsRecursively(id); GetItemsRecursively(idParent, cookie); } @@ -1106,7 +1132,7 @@ void MyTreeCtrl::OnContextMenu(wxContextMenuEvent& event) { wxPoint pt = event.GetPosition(); wxTreeItemId item = GetSelection(); - wxLogMessage("OnContextMenu at screen coords (%i, %i)", pt.x, pt.y); + wxLogMessage(wxT("OnContextMenu at screen coords (%i, %i)"), pt.x, pt.y); //check if event was generated by keyboard (MSW-specific?) if (pt.x==-1 && pt.y==-1) //(this is how MSW indicates it)