**Description of the software** | What:| tcl/tk · GUI · Generator (tG²)| | Where:| http://members.upc.nl/~s.serper/index.html?page=1| | 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 http://members.upc.nl/~s.serper/tools/tG2_v1.09.01.exe%|%1.09.01%|% - beta 04, http://members.upc.nl/~s.serper/tools/tG2_help/tg2_v10901_release_notes.txt%|%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:| http://members.upc.nl/~s.serper/tools/tG2_help/tools_tG2_help_RH.html| | Contact:| s.serper@chello.nl| ---- <> **Foreword** [SeS] '''Thank you''' to all Tcl'ers who have contributed on wiki.tcl.tk 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): [http://members.upc.nl/~s.serper/tools/tG2_help/se.jpg] <> GUI