Eto.Forms.AboutDialog - one more thing

Hi @curtisw,

nice little dialog, that holds almost everything needed for a about dialog. One more thing to set as a property would be to control the windows icon. Would it be possible to add this?

image

Would be great.
Thanks
Christian

Hi @Christian_Hartz,

Use AboutDialog.Logo.

– Dale

@Dale,

had no effect on my machine:

Is that supposted to change both?

Kindest
Christian

Not without skinning Rhino.

– Dale

@Christian_Hartz, you should be able to modify the window icon with something like this:

var aboutDialog = new AboutDialog();
if (aboutDialog.Handler is Eto.Forms.ThemedControls.ThemedAboutHandler handler)
{
  handler.Control.Icon = my_icon;
}

Note that the icon must be loaded from an .ico file for it to work currently.

Hope this helps!

2 Likes

Well. Thanks for that. Little correction:

if (aboutDialog.Handler is Eto.Forms.ThemedControls.ThemedAboutDialogHandler handler)
{
    handler.Control.Icon = icon;
}

Kindest
Christian

1 Like

Hi Guys,

Is there a way to launch the AboutDialog non-blocking so I can use it as a loading splash screen while a python script runs in the background?

Cheers

DK

Hey,

dont think so. You would need to make your own Eto.Forms.Form or something similar, I guess.

Kindest
Christian

@Christian_Hartz thanks - bit of a pain to get this far and see that.

@dale is there any way to possibly overwrite the AboutDialog class to be semi-model?

Cheers

DK

@kiteboardshaper There is no way currently to make the AboutDialog semi-modal or modeless.

You have a few options. First, you could do something like this to run your script while the dialog is showing:

Application.Instance.AsyncInvoke(() => { /* do your script work here */ });
var aboutDialog = new AboutDialog();
// fill in about dialog
aboutDialog.ShowDialog(RhinoEtoApp.MainWindow);

Though it really seems like you might want a custom dialog/form for that purpose anyway (e.g. so you can close it after your script is done, add a progress bar, etc). If you want something similar to Eto’s AboutDialog, you can just copy the code for the dialog layout here and change it for your own use.