We all know that ( in VB.net, for example) a TreeView control is very useful tool of representing nested data. For example, a file system is a good example of nested data structure in which folder name is a "node" and file name can be attached to each node.

However, in the current TreeView control in VB.net , the tree can "expand" and "collapse" its branch only in vertical direction. I am just wondering if there is such thing as 2-D equivalent of TreeView where "expand" and "collapse" can be done in two dimensional manner ( vertically as well as horizontally ).
An application of such "2d TreeView" is, for example, a mathematical expression.

I have a very complicated mathematical expression. The expression is composed of "nodes" which are connected by "+" and "-" operator. each "node" can contains other "sub nodes", each of which is connected by "*" and "/" operator.

Down one level, the "node" at some level can be a function call, where the function argument itself can be another level of complicated expression, etc.

Is there any tool that allow me to "expand" and "Collapse" PART of the expression. That will give me a much clear view of the overall expression.

For example, one of the root of the quadratic equation (a x^2 + b x + c = ) can be written as

-b + / b^2 - 4 a c ----
x = --------------------- ( where / represent squart root )

This is in the "expanded" form.

If I can "collapse" it into

-b + D -------------
x = --------- by noting D = / b^2 - 4 a c

Then the expression will be much more concise.

I want a tool to allow me to "expand" and "collapse" at will.

Please refer me to any information you think it is related.

Thank you.

Larry Chen