Posted
on May 11, 2010
(permalink)
Right, so after lengthy discussions with the rest of the developers and managers, it seems we really do need this ability. I have been doing "dockable" apps for over 10 years starting with Infragistics, DevExpress, SandDock and so on and I have ALWAYS needed the ability to have a Docking "site" within another dockable region. Now, I know you've probably modeled the docking controls after Visual Studio or Outlook style apps. These apps are good "starter" apps in that they only deal with one thing: emails and communication or programming. However, when you're designing a "modular" business application, where each module or "view" has its own self-contained functionality and must have the ability to have dockable areas that ONLY pertain to it, this model of only one Docking "site" falls apart.
Let's take a typical application where we have some type of TreeView displaying all the folders and files in my computer. Now, I want the user to be able to display the properties of the folders/files each in a new Tab (RadDockPane). However, inside each "tab", I need a Docking "site" that has pin-able regions that the user can ONLY pin or dock inside that area only because they pertain only to that particular view. These dockable regions cannot be docked outside of that area (i.e. they cannot be docked to the main Shell).
The application we're developing needs this capability not only from a developer perspective, but the client has asked for it as well! So, with the way Telerik is currently structuring the Docking controls, I cannot have the "tabbed" documents and also have "docking" containers inside those tabs. We will be moving back to SandDock controls for now because this is an immediate need. Hopefully your team can see the need for this.
I think you already have the structure for it with your controls. My initial thought is to change the logic of your RadPanes so that they cannot dock within another RadDocking site. This would then give us the ability to have another RadDocking site within a RadDocument (or any child container really). It looks like your just using a Tab control under the hood anyway, and there has never been any limitations put on Tab controls that they couldn't have other tab controls within them so I think this limitation that's been placed on Docking controls is bogus and has probably caused coding hurdles that needn't be there.
Thank you.