PAGE is an drag-and-drop GUI generator, bearing a resemblance to Visual Basic. It allows one to easily create GUI windows containing a selection of Tk and ttk widgets. Required are Tcl/Tk 8.6 and Python 2.7+. I am actually using Tcl/Tk 8.6 and Python 2.7. PAGE springs from Virtual Tcl, a Tcl/Tk program, modified to generate Python modules that realizes the desired GUI. Tcl is required for running PAGE but is not required for executing the generated Python code.
PAGE is not an end-all, be-all tool, but rather one that attempts to ease the burden on the Python programmer. It is aimed at the user who will put up with a less than completely general GUI capability in order to get an easily generated GUI. A helper and learning tool, it does not build an entire application but rather is aimed at building a single GUI class and the boiler plate code in Python necessary for getting the GUI on the screen.Change review:
I have included within this project python-mode extensions which I wrote to enhance emacs as a Python IDE. They may be downloaded from the Source Forge Page.
Currently PAGE and the resulting GUI windows have been tested on Linux running Python 2.7.6, and 3.2 running on Linux and on Win32.
Software versions utilized to test PAGE 4 were:
Tk Widgets supported:
Installation is easier than ever because Python 2.7+ and Python 3.2+ include support for the themed widgets (the ttk package). On Linux one downloads PAGE-xxx.tgz and expands it in a directory. In Windows one executes page-xxx.exe. At this point I strongly recommend Python 2.7+. I am personally using Python 2.7.6. I recommend getting the installation packages directly from the Python Org page. (Remember to erase any .pagerc files that may be present.)
The prerequisites are Tcl/Tk 8.5.4 or later and Python 2.7+. I recommend the free ActiveTcl 8.6+ package for Tcl and Tk.
Tcl/Tk 8.5.2 or later is needed to run PAGE but is not needed to execute the generated Python code.
Users Documentation which is also included in the package. There is now an Epub version of the documentation.
I have recently (April 2012) included a 17MB pdf python-page.pdf containing two articles on the use of PAGE by Greg Walters which appeared in Full Circle Magazine.
The documentation on this site may be more recent than that included with the package. When a package is released, it will definitely include the most recent documentation and I always try to provide up-to-date documentation for all features released. If you have suggestions for improving the documentation I definitely would like to hear about them.
To download Page, go to the Source Download Page from which you can download the most recent version.
I really like emacs and so I have hacked together some things that improve its usage for me. The most important is a package of extensions to python-mode.el. Also, I have written several functions which facilitate the insertion of debugging statements (pyp.el). More recently, I have fussed around with pycomplete and pymacs. Again, see python-mode extensions. All of these extensions are now available in the python-mode-extensions available on the Source Forge Download Page.
These are some simple extensions to python-mode.el that I recommend. Included are an improved mechanism for executing a python program from an emacs window. Functions are there to facilitate navigating the traceback stack in the event of an error.
I often need to insert debugging statements into my programs. To
facilitate that I wrote several emacs functions. They are pyp for
"python print", ppy for "pretty print python", and ppyi for "pretty
print python include". pyp is activated by function key 12 (set in my
.emacs file) and requests the expression to be printed. A line is
then inserted into my code with the proper indentation and looks like
print "containing_class: containing_function: expression =", expression # user_name pyp
dpr: vTcl:create_functions: mod = ext.,
The trailing user_name and pyp are there to facilitate removing the statements at a later time.
The macros are in pyp.el. Comments at the beginning of the file show what is necessary to include in your .emacs file.
Liking both python and emacs, I think that Pymacs is a great idea. Pymacs is another example of a great piece of code with lousy documentation. Recently, I found a site devoted to Pymacs; it provides downloads and documentation. Also, I found that Pymacs is in the Debian repositories.
The main problem I found was a paucity of examples.
Similar to above I wrote a series of Tcl debugging functions which make it easier to insert debugging statements into a tcl program.
This is example code based on Visual REGEXP. It is a tool for constructing and testing Python regular expressions. It has been updated to use ttk::panedwindow's and it Vrex provides most of the obvious facilities of that program, hence the lower case in the name. It is a tool that I use all the time. It will run under Python 2.7 and 3.2.
From a career of programming I have observed some things that have helped me quite a bit. See adages.
I am Don Rozenberg. I encourage you to contact me with any problems, comments or suggestions. Keep those cards and letters coming.