Description of the software

The links at the tG2 website are dead. Does anyone know where one could lay hands tG2_v1.09.01.exe???

What: tcl/tk · GUI · Generator (tG²)
Description: Windows-based Tcl/Tk IDE for creating GUIs
Supports following IDE features:
- Can be used as script-template generator or use it with full IDE functionality
- Script Generator with code-override option
- Wizard provided to create project templates (plugin: MN.tcp)
- Source Editor with syntax highlighting & checker and many uniq features
- Layout Editor with Widget-drag/drop features, easy property editing, use pack and/or place manager
- Distribution Manager to wrap the complete project into freeWrap of choice
- Debugger with dynamic variable tracer
- In-program debugging features, like:
* First generation syntax checker
* Memory usage monitoring
* Background error trapping & localization
* More rigid control mechanism when program is run
- Manual Optimizer to remove procedures which are not used
- Database search & presentation of various references (namespaces, procs, etc)
- Project Manager which provides:
* A Project Explorer to browse through the projects files and more...
* Widget Property editor
* TreeBase Manager to display & manage hierarchy of objects within a layout
- X-project Menu Designer included, as domain plugin (MD.tcp)
- Forward compatibility with future tcl/tk versions depending on freeWrap version
- Update Manager to update tG², if there is a new version available
- There is an improved webbased (small) user manual, invoked by F1
- Lots of optional internal wrappers to provide additional features to existing packages
- Numerous optional plugin-wrappers available and downloadable, based on
requirements by user experience, to name a few:
* electronics*.wpl
* helpInterface_1.wpl
* datepicker_1.wpl
* screenCapture_1.wpl
* many more *.wpl available, but not listed here and/or in the make...
* 5 inter-linked domain plugins: MD, MN, SE, PE and TE.tcp
Output is continuously being tested on Windows (7 & 10) & partially on Linux (Redhat)
Currently at version 1.09.01 - beta 04, release.notes
Licensing: Copyright tG² source-code, but free to use binary (freeware), output/custom projects created with tG² are open source (BSD license)
Official release date: 23rd of January, 2011
Updated: 19th of April, 2016
Revision History:
Contact: [email protected]


SeS Thank you to all Tcl'ers who have contributed on and all the package developers, tG² would not have been possible, and certainly not within this relative short period of time without your efforts to share and guide relative newcomers (like myself) on the correct path.

Comments and Questions

Either click on the download link or if you have already installed a previous tG² version, simply invoke the Help menu to activate the "Check for updates" command.

Update April 2016

I have finally arrived to a stage where I am > 90% satisfied with the overall results & behaviour of tG². After 8+ years of steady pace of updates, tests, adaptations, additions and bug-fixing and learning-on-the-go, I think I finally have a stable and feature-rich & dynamic foundation. The learning process is not over yet though, I realize I still have unresolved challenges: Threading seems a no-go in freewrap, it seems freewrap version that I use (v6.32), is not compiled for threading in mind. So, I am stuck with the serial polling mechanism that I introduced 8 years ago whenever I need timed "parallel" operations. Still usefull, but obviously has it's performance limitations. Anyway, even with this and other forced compromizes I had to make over the years, tG2 has matured considerably and I think has a good base for the type of GUIs I create with it. tG² is created with the mindset that not every GUI needs to be high end and behave as such. The latter is limited by tcl's core anyway to a certain point. So, if the shoe fits, be my guest and have a go!

Furthermore, introducing the customized plugin mechanism to tG² since mid 2015, has provided me a new freedom of expression without having to change sourcecode of tG² itself anymore. The next period of time, I will probably not be adding a lot more into the base code of tG², thus not requiring repackaging & redistribution. Hence, I plan not to have the need to update this wiki page either for a long & unspecified time, but rather develop in-program downloadable plugin-wrappers & tools to provide optional functionality and/or enhancements. This concept is not new, many popular professional programs use this method of optional functional expansion (Firefox, Adobe PhotoShop etc. etc.). The concept for me to write it in tcl/tk is new and the way I do it is obviously tailored for tG² only, it's my method & interpretation how & what a plugin should look & act like. The output of wrapper-plugins are neatly auto. stripped to not bother the end-user with redundant tG²-specific glue-code in their own GUI. Using namespaces by default for plugins is another advantage I utilize consistently. I hope I have a solid concept with this approuch, time will tell...

Last but not least, here a screenshot of the latest state of the main attraction (ignore the numbering and dashed outlines):