kappa wrote:Could you, briefly, explain a bit how this implementation is "very unorthodox and Partially broken"?
Hmmm, I tried to keep it brief, not sure if I succeeded

Basically, there are two ways how to create a tree with MSAA:
1. Each tree item is a "full" object having child tree items which can themselves have children again, that way forming a tree of elements (Composite design pattern).
2. Only the tree root is a "full" object and all tree items are "simple" MSAA objects (which cannot have children). Consequently, as simple MSAA objects cannot have children, the tree looks like a list in MSAA and only the "Value" attribute of the simple MSAA objects tells in which level of the tree the item resides; e.g. all nodes on the first level have a Value of 1, all nodes on the second level a Value of 2, and so on...
For the seconds option, Ranorex gets the list of tree items and rearranges the "list" to form a tree corresponding to the level values. The weird thing with the Syncfusion TreeViewAdv MSAA implementation is that they use both ways, i.e. full MSAA objects forming a "real" tree and the level value. That is what "confuses" the current Ranorex implementation since we try to form a tree from a list that already is a tree
Regards,
Alex
Ranorex Team