- // at depth 1 elements won't have any more children
- if (depth == 1)
- str.Printf("%s child %d.%d", "File", folder, n + 1);
- else
- str.Printf("%s child %d","Folder", n + 1);
-
- int image = depth == 1 ? TreeCtrlIcon_File : TreeCtrlIcon_Folder;
- wxTreeItemId id = AppendItem(idParent, str, image, image,
- new MyTreeItemData(str));
- AddItemsRecursively(id, numChildren, depth - 1, n + 1);
+ wxString str;
+ for ( size_t n = 0; n < numChildren; n++ )
+ {
+ // at depth 1 elements won't have any more children
+ if (depth == 1)
+ str.Printf("%s child %d.%d", "File", folder, n + 1);
+ else
+ str.Printf("%s child %d", "Folder", n + 1);
+
+ int image = depth == 1 ? TreeCtrlIcon_File : TreeCtrlIcon_Folder;
+ wxTreeItemId id = AppendItem(idParent, str, image, image,
+ new MyTreeItemData(str));
+
+ // remember the last child for OnEnsureVisible()
+ if ( depth == 1 && n == numChildren - 1 )
+ {
+ m_lastItem = id;
+ }
+
+ AddItemsRecursively(id, numChildren, depth - 1, n + 1);
+ }