Version 2 of itclwidgets

Updated 2008-12-28 22:07:44 by wiede

2008-12-26 apw started to try, if it is possible to implement Iwidgets style type widgets with only using itcl-ng by using the ::itcl::extendedclass class types.

I soon found out, that almost all functionality for doing so was there, there were only a view 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)

Test results: 388 out of 391 tests are running successfull, the 3 failing ones do not yet show the correct number of options per class (to be fixed).

As Iwidgets has about 37000 LOC and my files have now about 3300 LOC there are nearly 10% done.

itclwidgets has it's package directory at the moment in the itcl-ng module of incr Tcl project in directory itcl subdirectory itclWidgets [L1 ]

Why I am doing that is:

  • improving quality of itcl-ng (more code that tests it's 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