Hi, Andrew,

I did embed IronPython into CODESYS. In our case, we already had a set of 
standard dialog functions in the framework which I exposed to the API available 
for the scripts:

- Standard Error messages, Yes/No/Cancel prompts and similar dialogs (basically 
an improved Windows forms MessageBox)

- Multiple Choice Prompt (The user can choose one of a list).

- Choose Prompt (The user can use checkboxes to select individual items in a 
list).

- Enter text (singleline and multiline)

- Enter password

- Enter username and password

- File open / file save / choose directory (basically simplifying wrappers 
around the windows forms classes).

Maybe most of the users can already work with a similar set of basic dialogs. 
You could also add some kind of "form layouter" where you give a list of tuples 
(name, value, type) and create a table layout based dialog form of it.

You may as well find other Windows Forms or WPF based libraries on the net 
which you can expose in a simplified, wrapped way.

When trying to use a different UI toolkit, you should be aware of 2 problems:

- IronPython is implemented very differently from cPython, so most probably, 
you will only get .NET libraries to work, not the GUI toolkits ported for 
cPython.

- Due to the nature of the windows message loop system, it is rather hard to 
mix 2 different toolkits in the same process. So as long as your application 
uses Windows Forms, it will be very hard to mix it with any other UI toolkit 
(apart from native win32 and WPF, and even those have problems and 
limitations). For example, as far as I know, it is not possible to mix windows 
forms and GTK# or QT.NET in the same process, except using ugly workarounds 
like ActiveQT (using ActiveX / COM internally).


Best regards

Markus Schaber

CODESYS® a trademark of 3S-Smart Software Solutions GmbH

Inspiring Automation Solutions

3S-Smart Software Solutions GmbH
Dipl.-Inf. Markus Schaber | Product Development Core Technology
Memminger Str. 151 | 87439 Kempten | Germany
Tel. +49-831-54031-979 | Fax +49-831-54031-50

E-Mail: m.scha...@codesys.com | Web: http://www.codesys.com | CODESYS store: 
http://store.codesys.com
CODESYS forum: http://forum.codesys.com

Managing Directors: Dipl.Inf. Dieter Hess, Dipl.Inf. Manfred Werner | Trade 
register: Kempten HRB 6186 | Tax ID No.: DE 167014915

This e-mail may contain confidential and/or privileged information. If you are 
not the intended recipient (or have received
this e-mail in error) please notify the sender immediately and destroy this 
e-mail. Any unauthorised copying, disclosure
or distribution of the material in this e-mail is strictly forbidden.

> -----Ursprüngliche Nachricht-----
> Von: Ironpython-users [mailto:ironpython-users-
> bounces+m.schaber=codesys....@python.org] Im Auftrag von Andrew Ayre
> Gesendet: Donnerstag, 20. November 2014 09:32
> An: ironpython-users@python.org
> Betreff: Re: [Ironpython-users] GUI Toolkits
> 
> Hi Haymo,
> 
> Thanks for responding.
> 
> Sorry, I should have clarified something. I never run IronPython
> standalone. I only use it embedded in my C# applications. For me that
> is the single biggest advantage of IronPython.
> 
> I understand what you are saying. I'm a professional software
> developer familiar with all these technologies, so I know what is
> involved to make it work. However....
> 
> The users of my application are non-technical. They need to be gently
> coaxed into even considering using python for the first time.
> 
> Of course WinForms is already there in my app for anyone to use from
> IronPython, but what I need to supplement this is a much simpler GUI
> system that has an easier learning curve, so my users won't be
> frightened off. Then they have a choice:
> 
>    - full blown winforms
>    - something simpler and familiar to most python users
> 
> Thanks, Andy
> 
> On 11/19/2014 11:47 PM, Haymo Kutschbach wrote:
> > Andy, for my understanding one of the biggest advantage of having
> > IronPython is to actually be able to use things like winforms? As
> for
> > all systems it will require some learning to begin with, of course.
> > But in fact very little is required in order to get so much more
> than
> > any of the systems mentioned in your link is able to provide.
> >
> > If you need a very newbee example: I recently had some fun
> > experimenting with IronPython to create interactive scientific 3d
> > plots in less than 10
> > lines:
> >
> > http://ilnumerics.net/blog/plotting-fun-with-ilnumerics-and-
> ironpython
> > /
> >
> > Having winforms and the whole .NET framework in the back, I can
> hardly
> > imagine to recommend Tcl/TK any time soon... ;)
> >
> > Best, Haymo
> >
> 
> --
> Andy
> PGP Key ID: 0xDC1B5864
> _______________________________________________
> Ironpython-users mailing list
> Ironpython-users@python.org
> https://mail.python.org/mailman/listinfo/ironpython-users
_______________________________________________
Ironpython-users mailing list
Ironpython-users@python.org
https://mail.python.org/mailman/listinfo/ironpython-users

Reply via email to