How to create tabbed views for RAD Studio's tool components
How can I group RAD Studio tool windows into a single tabbed container?
Brace yourself. Enormous amounts of unimportant details incoming.
In the newer RAD Studio IDEs (versions 2010, XE2, and XE3 in particular), you can have views arranged around the built-in text editor and form designer, and all of the views can be docked inside the same application window (as opposed to the floating views and tool windows from Delphi 7).
I'm not sure what they are called (after googling, I'm now certain they aren't called "views"), so please let me define by example:
- Project Manager
- Tool Palette
- Object Inspector
- Event Log
- Breakpoint List
- Call Stack
With drag and drop I can add, remove, and relocate these views around the IDE as well as dock, undock, pin, and unpin the views wherever I choose.
Some of the views are docked in a container group of tabbed views, and others are docked all by themselves. The resulting arrangement of views is called a "Desktop".
How can I create my own tabbed group of views with the ones docked all by themselves?
I have created an incredible, mind-blowing diagram to visually demonstrate what I mean.
The screenshot on the right shows how the individual views (in orange) are collected in a group of tabs. When the user selects one of the tabs, the container contents (in red) are replaced with that selected view.
I want to merge the view containers (in blue and purple) into a new single container. The resulting tabs (in green) would behave like the tabs in orange, but they would be in their own, new container.
Drag one tool window into the other. A gray window outline should appear indicating where the dragged window will go. When you're close to the point where dropping the window would dock it as another tab, the outline will appear as a box around the middle of the container.
To avoid docking, hold down Ctrl while you drag. Or, if the "Auto drag docking" environment option is not activated, hold Ctrl to enable docking while you drag.