Eto Dockable Panel (Python3 on MacOS)

Hi all

I’ve written a script in Rhino ScriptEditor including user input, the UI is built with an Eto.Forms dialog box. Now, I would like to have this dialog box as a docked custom panel in Rhino, so that it is more easy accessible to the user. With a ‘docked custom panel’ I mean something like this:

I’ve learned so far that this is only possible when creating a plug-in instead of a script. I managed to create a plug-in from my script in a similar manner like demonstrated here (i.e. publish from ScriptEditor): https://www.youtube.com/watch?v=sQwDIHbYB6Q

However, I don’t get how I can make a ‘dockable panel’ that can be selected with a tab just like the native Properties or Layers panels..

I am working in Rhino 8 on Mac OSX and I’m coding in Python3 in the Rhino ScriptEditor. Many thanks for any leads/tutorials/information in advance..!

Welcome to the forums @Matthias_Dzwk !

You need to Register the Panel to make it dockable, see the API below.
https://developer.rhino3d.com/api/rhinocommon/rhino.ui.panels/registerpanel

I’m not sure how this would be possible in the script editor as you don’t have a plugin object as far as I know.

Tagging @eirannejad who would know.

Hi @CallumSykes thanks for the welcome!

Where would I need to put the code to register the panel?
As stated in my initial post, I managed to publish the scripts as a plug-in (via Publish Project in ScriptEditor, where the script is imported as a ‘Command’ in the Project. Is this of any help?

Where could I find a simple example of just a blank dockable Eto panel? In the meantime I have moved to Visual Studio Code to develop the plugin, where I managed to create a simple Dialog box popping up in Rhino. Now, I want to make this dockable. All examples i have found so far are created for Windows; I’m on Rhino for Mac. Thanks

Watching this thread as I would like to be able to launch an ETO.Webview in a dockable panel from a plugin compiled with the script complier.

Cheers

DK

As far as I understood that’s not possible. A dockable panel needs to be registered, hence needs to be part of a plugin (not a script/published script). I got a perfectly working script, but since I want a docked panel I need to convert it to a plugin, hence the road I’m taking here.. It seems very complicated to me!

Ok, so this is currently not possible (acc. Rhinoscript panel rhino form - #11 by clement).