2008-12-26 [apw] started to see if it is possible to implement [Iwidgets] style type widgets using only [itcl-ng] by using the ::itcl::extendedclass class types. I soon found out that almost all functionality for doing so was there, with only a few functions to add to make that work. I would have added these functions sooner or later nevertheless, as they are of general interest. 2008-12-27 '''::itcl::widgets::Entryfield''' and '''::itcl::widget::Labeledwidget''' are running and passing all the tests of the Iwidgets test suite for ::iwidgets::Entryfield and ::iwidgets::Labeledwidget. 2008-12-28 '''::itcl::widgets::Combobox''', '''::itcl::widgets::scrolledwidget''' and '''::itcl::widgets::scrolledlistbox''' are running and passing the tests of the Iwidgets test suite for ::iwidgets::Combobox and ::iwidgets::scrolledlistbox (scrolledlistbox is also testing scrolledwidget) 2009-01-04 '''::itcl::widgets::menubar''', '''::itcl::widgets::calendar''' and '''::itcl::widgets::tabnotebook''' are running and passing the tests of the Iwidgets test suite. ::itcl::widgets::tabnotebook includes tests for '''::itcl::widgets::notebook''', '''::itcl::widgets::tab''' and '''::itcl::widgets::tabset''' (which are also done). 2009-01-04 Test results: 947 out of 960 tests are running successfull, 4 of the failing ones do not yet show the correct number of options per class, 8 have to do with options for multiple parts (to be fixed). 2009-01-04 As Iwidgets has about 37000 [LOC] and my files have now about 15000 LOC there are about 40% done. [itclwidgets] has its package directory at the moment in the [itcl-ng] module of [incr Tcl] project in directory itcl subdirectory itclWidgets [http://incrtcl.cvs.sourceforge.net/viewvc/incrtcl/incrTcl/itcl/itclWidgets/?pathrev=itcl-ng] Why I am doing that is: * improving quality of [itcl-ng] (more code that tests its features) * I personally don't like the ::itk::Archetype class with all mega widgets depending on it * as [itclwidgets] is implemented right now, it is possible to replace eventually [Tk] support by [ntkWidget] support * if needed it should be possible to also use [ttk] widgets * I need some of the mega widgets in my [Reporting Tools with Tcl] project with some added functionality, which was hard to add in the past because of some private methods in iwidgets::Combobox * It's a challenge to see what is possible with itcl-ng ---- [lv] so the idea here is to create a widget set that is code compatible with [incr widgets] but which is not dependent on [incr tk]? [apw] yes that is the idea. Will there be a [megawidget] [framework] that can be used to leverage new widgets and to ensure that the itclwidgets are consistent? One of the ideas that was behind itk was the expectation that having a core set of megawidget classes would result in consistency for the developer and user. [apw] up to now I think it can be source compatible at least for users. For developpers there is a small difference within the constructors, as it is using snit like delegation instead of inheritance. But I think when knowing the new rules (which I still have to describe on the wiki when they are final) it should be easy and also conversion of existsing stuff built with iwidgets is easy to adapt. As an example, I was able to adapt a 1000 line module in 1 - 2 hours (of the iwidgets sources itself). [peterc] Tile/[ttk] widget support sounds extremely attractive. Hope it does get added :) ---- !!!!!! %| [Category Package] | [Category Object Orientation] | [Category Widget] | [Category Itcl] |% !!!!!!