- int index = parent->GetChildren().Index(idPrevious.m_pItem);
- wxASSERT_MSG( index != wxNOT_FOUND,
- wxT("previous item in wxTreeCtrl::InsertItem() is not a sibling") );
- return DoInsertItem(parentId, (size_t)++index, text, image, selImage, data);
+ int index = parent->GetChildren().Index(idPrevious.m_pItem);
+ wxASSERT_MSG( index != wxNOT_FOUND,
+ wxT("previous item in wxTreeCtrl::InsertItem() is not a sibling") );
+
+ return DoInsertItem(parentId, (size_t)++index, text, image, selImage, data);
+}
+
+wxTreeItemId wxTreeCtrl::InsertItem(const wxTreeItemId& parentId,
+ size_t before,
+ const wxString& text,
+ int image, int selImage,
+ wxTreeItemData *data)
+{
+ wxGenericTreeItem *parent = parentId.m_pItem;
+ if ( !parent )
+ {
+ // should we give a warning here?
+ return AddRoot(text, image, selImage, data);
+ }
+
+ return DoInsertItem(parentId, before, text, image, selImage, data);