@scottd, i’ve seen the example of course and appreciate it that there will be a cross platform for creating dialogs. Atm. this does not help me much as i have to develop for V5 and V6 and Mac, so i think i stay with WinForms for the windows side and later port all dialogs to ETO for the Mac side when required…which is going to be hard without a visual editor. Currently i use SharpDevelop which works fantastic, almost zero typing and all drag & drop.
While searching online i’ve found some examples using WinForms 2.0 with Mono and IronPython. Does this still work in current Mac OS ?
Btw. will ETO get an equivalent of System.Windows.Forms.ListView(), support for modeless dialogs or a function like Rhino.UI.Dialogs.PushPickButton() ?
Your approach makes the most sense for now. Once V6 is released, then porting may make sense if you want your scripts to run on Mac. If you are only concerned with Windows, then continuing to use WinForms will work just fine in V6.
We have a admittedly very poor port of WinForms for Mac which really isn’t worth considering for the long run. Even WinForms on Windows is showing it’s age and some areas like high DPI support are still being fixed by Microsoft.
We probably won’t have a visual editor anytime soon, but we are hoping to have some sort of previewer over time where you can immediately see the UI update as you type. I’m also hoping (now were talking about code that doesn’t even exist yet) to create a python package that makes working with Eto much more “pythonic”.
I think the ListBox is what you are looking for as a replacement for System.Windows.Forms.ListView
thanks, i’ll try what i can do using python. Many of the dialogs are in place already using WinForms and a few things are missing in ETO which are required. Since i do not have a mac here, what happens if you run this on mac rhino?
import clr
clr.AddReference("System.Windows.Forms")
from System.Windows.Forms import Form
class Form1(System.Windows.Forms.Form):
def __init__(self):
self.Text = 'Simple'
self.Width = 250
self.Height = 200
self.CenterToScreen()
form = Form1()
form.ShowDialog()
form.Dispose()
Thanks @stevebaer for your answers. There is ListView and ListBox under WinForms. I use ListView which is basically a complex multirow / multicolumn table with dynamic fields which must be user editable for my purpose.
I use PushPickButton a lot in a modal WinForm, so i can get objects or pick points after the form has been opened and quickly can get back to it. I never tried it with an ETO form yet. But all examples are welcome
_
c.
It may be a GridView that you want to work with; depends on the situation. If you look at the PlugInManager or AdvancedSettings user interfaces, those are Eto GridView implementations.