This page is for discussion of http://core.tcl.tk/tips/doc/trunk/tip/556.md%|%Tip 556%|% You can find linux and windows tclkits at https://sourceforge.net/projects/kbskit/files/tip556/ With the implementation you can: * create oo class like widgets in C (`tko::frame`, `tko::labelframe` and `tko::toplevel` are included) * oo class like widget as superclass and extend it (`tko initfrom ?tkoclass?`) * wrap existing widgets in oo class like widgets (`tko initwrap ..`) * create to oo classes with option handling (`tko initclass`) * dynamically add, delete, show and hide options at class (`tko option* ..`) and object level (`my _tko option* ..`) bll 2019-12-18: Is there a proof-of-concept example widget? ---- '''[RZ] - 2019-12-18 15:16:53''' ::tko::frame ::tko::labelframe and ::tko::toplevel with same functionality like original widgets. See also in the man page https://core.tcl-lang.org/tk/doc/tip-556/doc/tko.n.md%|%tko.n%|% I have also a rbc graph widget ready. I will tip it after this tip gets accepted. Should I include it in the ready to run tclkits? === oo::class create W {::tko initfrom ::tko::frame} oo::define W method xy {args} {puts $args} W .w .w xy === '''[GWL] - 2020-01-23''' See the OO implementation, in pure Tcl, of http://chiselapp.com/user/gwlester/repository/PTK/index%|%PTk%|% for additional ideas. [RZ] will do. thanks [HE] 2020-01-30: Why needs this to be integrated into Tk/Ttk? There are a couple of OO widgets and megawidgets out there. So this new base OO widgets are only a parallel solutions as with tcloo and incrtcl in the OO world of Tcl. Wouldn't it be better to provide it as a separate package and to see if people really works with it? It can then be battery included as incrtcl, if successful. [RZ] The code uses internal functions. Therefore it needs to be in the core :( Moreover, I don't like to have again another set of widgets for the same purpose with slightly different functionality. And the provided functionality is far away from being an infrastructure for mega widgets. [RZ] Which functionalite you are missing? I would prefer to have the same widgets accessible with different interfaces. Like what was one of the origin idea of Themed Tk Widgets. Poorly that was dropped later with introduction of Ttk. [RZ] You can do this with using the `tko initwrap ..` function. We should not make everything object orient only because we can do it. That is not the nature of Tcl. [RZ] In Tk we have already objects called widgets.