Background

IUP is a multi-platform toolkit developed at Tecgraf/PUC-Rio for building graphical user interfaces.
It offers high performance via native interface elements and fast learning by the user, due to the simplicity of its API.

To use pGUI, you must include pGUI.e. The file phix/builtins/pGUI.e is a "stub include" that simply contains include ../demo/pGUI/pGUI.e (same on Windows and Linux) to simplify matters. You may wish to make a copy of demo/PGUI and that stub file (and indeed the phix executables and phix/builtins) along with any important project, to ensure it is not affected in any way when a newer version of phix is installed.

pGUI is a simple wrapper of IUP (the C version as precompiled dynamically loaded libraries). The distribution includes all the required pre-built binaries: IUP, CD and IM are all needed. I include 32 and 64 bit Windows and Linux versions, however at the moment I cannot test or support 64 bit Linux. A finished (precompiled) application that uses pGUI must also install the appropiate subdirectory containing the required binaries (ie pGUI\win32/lin32/win64/lin64). Newer/other versions can, if required, be downloaded from:

Windows:

I went with the "dll12" builds but feel free to try one of the others. Note this requires msvcr120.dll, but you should get a plain english message and a link ( https://www.microsoft.com/en-us/download/details.aspx?id=40784) if you need it. Also note that "dllw4" does not contain iupweb.dll, but you can get away without that as long as you don’t invoke IupWebBrowser, and that particular build has the advantage of not needing any C++ runtimes to be installed. Be advised that downloads from sourceforge can sometimes be fast, but sometimes slow, flakey, and maybe incomplete (as widely reported), so verify things with eg the 7-zip "test" button.

pGUI is (being) built from the ground up, testing and documenting each routine as it is added, hence there will be many that are not yet available. If in any doubt, please check the official documentation available at http://www.tecgraf.puc-rio.br/iup/. I have stuck with the C names, on the basis of easing both translation from C code, and searching for C and/or pGUI code snippets with just the one shot. (Besides, if you really want other names, a thin wrapper around pGUI.e should not be particularly difficult!)

Credit is also due to Jeremy Cowgar and Greg Haberek; pGUI contains code cherry picked from both.

A recent find is http://search.cpan.org/~kmx/IUP-0.303/lib/IUP.pod which struck me as pretty good, albeit perl based. If I ever get the time, I may one day remodel this documentation based on that (as opposed to the current system of hunting and pecking through the official docs).