I've developed a plugin for AutoCAD that involves cascading drop-down menus and am wanting to do the same in Revit, however the task is much more difficult in Revit than in AutoCAD due to the lack of CUI files and such.
I am working with the ribbon to see if I could do the same thing there and have been playing with SplitButtons, PulldownButtons, and Pushbuttons and have discovered a couple of things.
Before that, an image of what I want to get done is here:
The Electrical PulldownButton contains yet another PulldownButton called Wire. I want to have several layers for this whether it be using Pulldowns or SplitButtons.
What I've discovered when programming in C# with the Revit API is that SplitButtons and PulldownButtons can't add instances of itself, just PushButtons! Which confuses me because they were able to do it in the picture above.
edit:attached here is a picture of a cascading menu in Revit.. I was told this was possible but fairly difficult to implement.
I totally agree with Augusto. This is unsupported and undocumented territory. The Building Coder demonstrates some examples of using the unsupported functionality functionality provided by AdWindows.dll in the 'Automation' category or posts:
http://thebuildingcoder.typepad.com/blog/automation
One specific example of adding quite a lot of menu items arranged in a two- or three-level hierarchy is provided by the RvtSamples external application included in the Revit SDK.