How to create a plugin control based on existing Xojo controls

I have created a subclassed ContainerControl (Desktop) that contains other Xojo controls (as it’s meant to be used), but now I want to make it generic and configurable from the layout editor just like all other UI controls (set the number of elements, properties of each, etc.) and have it display the changes in the IDE. I want the ability to change properties of the control and see the result while designing, especially adjusting spacing/sizes so that labels fit and look right. And in a generic way so I don’t have to “design” a new ContainerControl for each layout control. I know how to do all this at runtime, embedding controls and what not, but that doesn’t help at design time.

After some research, it seemed like writing a plugin for it was the way to go. But I can’t find documentation and/or examples for this type of scenario. All the “control” examples I’ve found are manually drawing everything to a canvas backing. But that would require for me to replicate all existing functionality of all the sub-controls, which is a monumental task, especially for a cross-platform app.

So, is it possible to use existing controls with the plugin SDK to make a new control? If so, how do I go about it? I’d be fine with the canvas approach if I could embed other controls onto it, at design time based on inspector properties. Is this possible?

Basically the answer is no you cannot do that to all of the above.

You can:

  • Draw
  • Return native OS handle for whole control (Making your whole control OS control but then you basically loose all Xojo Graphics capabilities).
  • Embed native OS controls on the panel. (Fairly easy on macOS, hard on Windows, almost impossible or maybe impossible on Linux because the panel you get from Xojo is not correct box type for such ?? )

Ok, thanks.