CollapseAndReset() fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -61,6 +61,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
|||||||
EVT_MENU(TreeTest_DeleteChildren, MyFrame::OnDeleteChildren)
|
EVT_MENU(TreeTest_DeleteChildren, MyFrame::OnDeleteChildren)
|
||||||
EVT_MENU(TreeTest_DeleteAll, MyFrame::OnDeleteAll)
|
EVT_MENU(TreeTest_DeleteAll, MyFrame::OnDeleteAll)
|
||||||
EVT_MENU(TreeTest_Recreate, MyFrame::OnRecreate)
|
EVT_MENU(TreeTest_Recreate, MyFrame::OnRecreate)
|
||||||
|
EVT_MENU(TreeTest_CollapseAndReset, MyFrame::OnCollapseAndReset)
|
||||||
EVT_MENU(TreeTest_EnsureVisible, MyFrame::OnEnsureVisible)
|
EVT_MENU(TreeTest_EnsureVisible, MyFrame::OnEnsureVisible)
|
||||||
END_EVENT_TABLE()
|
END_EVENT_TABLE()
|
||||||
|
|
||||||
@@ -119,6 +120,7 @@ MyFrame::MyFrame(const wxString& title, int x, int y, int w, int h)
|
|||||||
|
|
||||||
tree_menu->Append(TreeTest_Dump, "D&ump tree items");
|
tree_menu->Append(TreeTest_Dump, "D&ump tree items");
|
||||||
tree_menu->Append(TreeTest_Recreate, "&Recreate the tree");
|
tree_menu->Append(TreeTest_Recreate, "&Recreate the tree");
|
||||||
|
tree_menu->Append(TreeTest_CollapseAndReset, "C&ollapse and reset");
|
||||||
tree_menu->AppendSeparator();
|
tree_menu->AppendSeparator();
|
||||||
tree_menu->Append(TreeTest_Delete, "&Delete this item");
|
tree_menu->Append(TreeTest_Delete, "&Delete this item");
|
||||||
tree_menu->Append(TreeTest_DeleteChildren, "Delete &children");
|
tree_menu->Append(TreeTest_DeleteChildren, "Delete &children");
|
||||||
@@ -265,6 +267,11 @@ void MyFrame::OnRecreate(wxCommandEvent& event)
|
|||||||
m_treeCtrl->AddTestItemsToTree(3, 2);
|
m_treeCtrl->AddTestItemsToTree(3, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyFrame::OnCollapseAndReset(wxCommandEvent& event)
|
||||||
|
{
|
||||||
|
m_treeCtrl->CollapseAndReset(m_treeCtrl->GetRootItem());
|
||||||
|
}
|
||||||
|
|
||||||
void MyFrame::OnEnsureVisible(wxCommandEvent& event)
|
void MyFrame::OnEnsureVisible(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
m_treeCtrl->DoEnsureVisible();
|
m_treeCtrl->DoEnsureVisible();
|
||||||
@@ -409,11 +416,11 @@ void MyTreeCtrl::OnItemCollapsing(wxTreeEvent& event)
|
|||||||
{
|
{
|
||||||
wxLogMessage("OnItemCollapsing");
|
wxLogMessage("OnItemCollapsing");
|
||||||
|
|
||||||
// for testing, prevent the user from collapsing the root item
|
// for testing, prevent the user from collapsing the first child folder
|
||||||
wxTreeItemId itemId = event.GetItem();
|
wxTreeItemId itemId = event.GetItem();
|
||||||
if ( !GetParent(itemId).IsOk() )
|
if ( GetParent(itemId) == GetRootItem() && !GetPrevSibling(itemId) )
|
||||||
{
|
{
|
||||||
wxMessageBox("You can't collapse the root item.");
|
wxMessageBox("You can't collapse this item.");
|
||||||
|
|
||||||
event.Veto();
|
event.Veto();
|
||||||
}
|
}
|
||||||
|
@@ -105,6 +105,7 @@ public:
|
|||||||
void OnDeleteChildren(wxCommandEvent& event);
|
void OnDeleteChildren(wxCommandEvent& event);
|
||||||
void OnDeleteAll(wxCommandEvent& event);
|
void OnDeleteAll(wxCommandEvent& event);
|
||||||
void OnRecreate(wxCommandEvent& event);
|
void OnRecreate(wxCommandEvent& event);
|
||||||
|
void OnCollapseAndReset(wxCommandEvent& event);
|
||||||
|
|
||||||
void OnSetBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(TRUE); }
|
void OnSetBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(TRUE); }
|
||||||
void OnClearBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(FALSE); }
|
void OnClearBold(wxCommandEvent& WXUNUSED(event)) { DoSetBold(FALSE); }
|
||||||
@@ -140,6 +141,7 @@ enum
|
|||||||
TreeTest_DeleteChildren,
|
TreeTest_DeleteChildren,
|
||||||
TreeTest_DeleteAll,
|
TreeTest_DeleteAll,
|
||||||
TreeTest_Recreate,
|
TreeTest_Recreate,
|
||||||
|
TreeTest_CollapseAndReset,
|
||||||
TreeTest_EnsureVisible,
|
TreeTest_EnsureVisible,
|
||||||
TreeTest_Ctrl = 100
|
TreeTest_Ctrl = 100
|
||||||
};
|
};
|
||||||
|
@@ -671,8 +671,10 @@ void wxTreeCtrl::DeleteAllItems()
|
|||||||
|
|
||||||
void wxTreeCtrl::DoExpand(const wxTreeItemId& item, int flag)
|
void wxTreeCtrl::DoExpand(const wxTreeItemId& item, int flag)
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( flag == TVE_COLLAPSE || flag == TVE_COLLAPSERESET ||
|
wxASSERT_MSG( flag == TVE_COLLAPSE ||
|
||||||
flag == TVE_EXPAND || flag == TVE_TOGGLE,
|
flag == (TVE_COLLAPSE | TVE_COLLAPSERESET) ||
|
||||||
|
flag == TVE_EXPAND ||
|
||||||
|
flag == TVE_TOGGLE,
|
||||||
"Unknown flag in wxTreeCtrl::DoExpand" );
|
"Unknown flag in wxTreeCtrl::DoExpand" );
|
||||||
|
|
||||||
// TreeView_Expand doesn't send TVN_ITEMEXPAND(ING) messages, so we must
|
// TreeView_Expand doesn't send TVN_ITEMEXPAND(ING) messages, so we must
|
||||||
@@ -712,7 +714,7 @@ void wxTreeCtrl::Collapse(const wxTreeItemId& item)
|
|||||||
|
|
||||||
void wxTreeCtrl::CollapseAndReset(const wxTreeItemId& item)
|
void wxTreeCtrl::CollapseAndReset(const wxTreeItemId& item)
|
||||||
{
|
{
|
||||||
DoExpand(item, TVE_COLLAPSERESET);
|
DoExpand(item, TVE_COLLAPSE | TVE_COLLAPSERESET);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxTreeCtrl::Toggle(const wxTreeItemId& item)
|
void wxTreeCtrl::Toggle(const wxTreeItemId& item)
|
||||||
|
Reference in New Issue
Block a user