bool MyApp::OnInit()
{
+ if ( !wxApp::OnInit() )
+ return false;
+
// Create the main frame window
MyFrame *frame = new MyFrame(wxT("wxTreeCtrl Test"), 50, 50, 450, 600);
m_treeCtrl = new MyTreeCtrl(m_panel, TreeTest_Ctrl,
wxDefaultPosition, wxDefaultSize,
style);
+
+ GetMenuBar()->Enable(TreeTest_SelectRoot, !(style & wxTR_HIDE_ROOT));
+
Resize();
}
if ( m_treeCtrl )
{
wxTreeItemId idRoot = m_treeCtrl->GetRootItem();
+ wxString status;
+ if (idRoot.IsOk())
+ {
+ wxTreeItemId idLast = m_treeCtrl->GetLastChild(idRoot);
+ status = wxString::Format(
+ _T("Root/last item is %svisible/%svisible"),
+ m_treeCtrl->IsVisible(idRoot) ? _T("") : _T("not "),
+ idLast.IsOk() && m_treeCtrl->IsVisible(idLast)
+ ? _T("") : _T("not "));
+ }
+ else
+ status = _T("No root item");
- 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);
+ SetStatusText(status, 1);
}
#endif // wxUSE_STATUSBAR
void MyFrame::OnSelectRoot(wxCommandEvent& WXUNUSED(event))
{
- m_treeCtrl->SelectItem(m_treeCtrl->GetRootItem());
+ if ( !m_treeCtrl->HasFlag(wxTR_HIDE_ROOT) )
+ m_treeCtrl->SelectItem(m_treeCtrl->GetRootItem());
}
void MyFrame::OnUnselect(wxCommandEvent& WXUNUSED(event))
wxTreeItemId rootId = AddRoot(wxT("Root"),
image, image,
new MyTreeItemData(wxT("Root item")));
- if ( image != -1 )
+ if ( !HasFlag(wxTR_HIDE_ROOT) && image != -1 )
{
SetItemImage(rootId, TreeCtrlIcon_FolderOpened, wxTreeItemIcon_Expanded);
}
AddItemsRecursively(rootId, numChildren, depth, 0);
// set some colours/fonts for testing
- SetItemFont(rootId, *wxITALIC_FONT);
+ if ( !HasFlag(wxTR_HIDE_ROOT) )
+ SetItemFont(rootId, *wxITALIC_FONT);
wxTreeItemIdValue cookie;
wxTreeItemId id = GetFirstChild(rootId, cookie);