Version 16 of Iwidgets

Updated 2008-08-21 14:46:58 by dkf is where the CVS for iwidgets is maintained.

iwidgets (aka incr Widgets) is a set of megawidgets based on incr tcl and incr tk.

In the early life of itcl/itk/iwidgets, they were all three distributed in the same source tar file.

During 2001, a TIP was submitted proposing that the incr tcl be included as an extension distributed with Tcl.

If/when this proposal is implemented, users will need to download the tcl, tk, itk, and iwidgets tar files to get the pieces to use iwidgets.

See incr Widgets for a list of the widgets included in the set. [What do we do about the cases below which overlap with widgets that already existed in Tk, etc.?] In the case of overlap, just update the associated page with info about each of the items, and the extension with which it is associated.

This package is part of the ActiveTcl Batteries Included distribution.

LV Has anyone any experience using iwidgets with Tcl/Tk 8.5? I have gotten a report that widgets that used to be grey are now white and that the buttonplacement configuration parameter appears to be ignored for the distjointlistbox widget.

Here's a code example:

# ----------------------------------------------------------------------
#  DEMO: disjointlistbox in incr Widgets
# ----------------------------------------------------------------------
package require Iwidgets 4.0

iwidgets::disjointlistbox .dlb -buttonplacement center -lhslabeltext "Left Side" -rhslabeltext "Right Side"
pack .dlb -padx 10 -pady 10 -fill both -expand yes 

.dlb insertlhs {black white red blue yellow green magenta}

Run this code with a Tcl/Tk 8.4 system and iwidgets. The "left side" and "right side" buttons appear about the middle of the two listboxes. However, when I run this code with a Tcl/Tk 8.5 system (this is on SPARC Solaris), the left and right side buttons are aligned with the top of the two listboxes.

DKF: Since you need a new build of iwidgets with 8.5 anyway (because of forced changes to itcl due to VarReform) this should really be regarded as being a regression/bug in iwdgets itself. (Yes, I've got no idea what's wrong...)

In comp.lang.tcl, Uwe writes about what appears to be the cause of this [L1 ] - a change in the default behavior Tk 8.5's grid command. He has filed a trouble ticket on the Tk issue (ticket 2062394) as well as posted this work around for iwidget's disjointlistbox to be used in the meantime.

Here is a patch for disjointlistbox:
*** pkg/iwidgets4.0.2/scripts/disjointlistbox.itk       Tue Aug 12
--- new/iwidgets4.0.2/scripts/disjointlistbox.itk       Wed Aug 20
*** 462,467 ****
--- 462,470 ----
                  grid configure $itk_component(bbox) \
                          -in $itk_interior -row 0 -column 1 - columnspan 1 \
                                  -sticky nsew
+                 # Tk8.5: enforce compatibility to previous versions
+                 # see Tk-ticket 2062394
+                 catch {grid anchor $itk_component(bbox) center}

                  grid configure $itk_component(rhsbutton) \
                          -in $itk_component(bbox) -row 0 -column 0 - sticky ew 

Learning Iwidgets