Hi Markus, Thanks for responding to my plea for help. I was leaning towards something like your first suggestion but I like your second suggestion better! HTML opens up possibilities for users to add logos, etc to their forms if they wish, and HTML is widely known.
Thanks again and I am glad I'm not the only one who sees a need for an easy to use UI when embedded IronPython. Andy On 12/2/2014 4:18 PM, Markus Schaber wrote: > Hi, Andrew, > > I just had another (maybe weird) idea: > > Maybe your users could use HTML Forms to define the UI, and you use an > embedded WebbrowserControl to render the UI, and use the DOM tree to read and > write the values. Create a slim python function for this which accepts an > HTML form fragment and a dictionary with the values, and you should be done. > :-) > > 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: Markus Schaber >> Gesendet: Dienstag, 2. Dezember 2014 17:17 >> An: 'Andrew Ayre'; ironpython-users@python.org >> Betreff: AW: [Ironpython-users] GUI Toolkits >> >> 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 > > > -- Andy PGP Key ID: 0xDC1B5864 _______________________________________________ Ironpython-users mailing list Ironpython-users@python.org https://mail.python.org/mailman/listinfo/ironpython-users