+void wxTreeListMainWindow::SelectAll(bool extended_select)
+{
+ wxCHECK_RET( GetWindowStyleFlag() & wxTR_MULTIPLE, wxT("invalid tree style") );
+
+ wxTreeEvent event( wxEVT_COMMAND_TREE_SEL_CHANGING, m_owner->GetId() );
+ event.SetItem( GetRootItem() );
+ event.SetOldItem( (long) m_current );
+ event.SetEventObject( /*this*/m_owner );
+ // TODO : Here we don't send any selection mode yet !
+
+ if(m_owner->GetEventHandler()->ProcessEvent( event ) && !event.IsAllowed())
+ return;
+
+ // shift press
+ if (!extended_select)
+ {
+
+ }
+ else
+ {
+
+ }
+ long cookie = 0;
+ wxTreeItemId root = GetRootItem();
+ wxTreeListItem *first = (wxTreeListItem *)GetFirstChild (root, cookie).m_pItem;
+ wxTreeListItem *last = (wxTreeListItem *)GetLastChild (GetRootItem()).m_pItem;
+ if (TagAllChildrenUntilLast (first, last, true)) return;
+ TagNextChildren (first, last, true);
+
+ event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGED);
+ GetEventHandler()->ProcessEvent( event );
+}
+