%|||% &|Areas| Tk, GUI |& &|Good if student knows | Tcl |& &|Priority| ???|& &|Difficulty| easy(-ish) |& &|Benefits to the student| Practical experience in design and implementation of a widget framework |& &|Benefits to Tcl| A consistent widget system making use of new core functionality. A good base for further building of custom widgets in pure Tcl code by the whole community |& &|Mentor| Jeff Hobbs? |& **Project Description** Based on TclOO (Tcl's built-in object system), translate and update the plethora of megawidgets into a single, unified megawidget system that can be "core" blessed. Would involve extensive use of OO, x-platform UI, event-driven coding, etc. **References** **Comments** [DKF]: I want more megawidgets, I want to know how good Tk 8.6 is for building megawidgets, I'd love to see a set of TclOO base classes for megawidget support, and I'm very keen on learning what things need to be added at the C level to make megawidgets easier/better. This is an ideal thing for a GSoC project, as it doesn't need a lot of complicated programming and the return on the student's effort is very immediate. [LV]: at the very least, it would be beneficial for someone to do a review of several existing megawidget frameworks (both within the Tk community and outside), producing a set of requirements for a framework which, when implemented, would provide a rich set of functions to create a set of megawidgets that are [Tk]/[Ttk] like in behavior, and make use of [TclOO] for classing, etc. . If a rich enough framework would be available, it could potentially replace [incr Tk], and then work could proceed rewriting [incr Widgets]. [DKF]: Tk 8.6 has a small core for megawidgets that is used to drive the core of the iconlist widget (used in the Unix version of [tk_getOpenFile]). <> GSoC | Widget | Megawidget