Patch #649184: Update to tix-8.1.4 RC3.
diff --git a/Demo/tix/tixwidgets.py b/Demo/tix/tixwidgets.py
index a4b67de..30507c4 100644
--- a/Demo/tix/tixwidgets.py
+++ b/Demo/tix/tixwidgets.py
@@ -1,5 +1,6 @@
 # -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
 #
+# Id: tixwidgets.py,v 1.7 2002/11/14 02:44:08 nnorwitz Exp
 # $Id$
 #
 # tixwidgets.py --
@@ -474,9 +475,9 @@
     w = nb.page(name)
     options='label.padX 4'
 
-    sls = Tix.LabelFrame(w, label='tixScrolledListBox', options=options)
-    swn = Tix.LabelFrame(w, label='tixScrolledWindow', options=options)
-    stx = Tix.LabelFrame(w, label='tixScrolledText', options=options)
+    sls = Tix.LabelFrame(w, label='Tix.ScrolledListBox', options=options)
+    swn = Tix.LabelFrame(w, label='Tix.ScrolledWindow', options=options)
+    stx = Tix.LabelFrame(w, label='Tix.ScrolledText', options=options)
 
     MkSList(sls.frame)
     MkSWindow(swn.frame)
@@ -604,8 +605,8 @@
     w = nb.page(name)
     options='label.padX 4'
 
-    pane = Tix.LabelFrame(w, label='tixPanedWindow', options=options)
-    note = Tix.LabelFrame(w, label='tixNoteBook', options=options)
+    pane = Tix.LabelFrame(w, label='Tix.PanedWindow', options=options)
+    note = Tix.LabelFrame(w, label='Tix.NoteBook', options=options)
 
     MkPanedWindow(pane.frame)
     MkNoteBook(note.frame)
@@ -716,8 +717,8 @@
     w = nb.page(name)
     options = "label.padX 4"
 
-    dir = Tix.LabelFrame(w, label='tixDirList', options=options)
-    fsbox = Tix.LabelFrame(w, label='tixExFileSelectBox', options=options)
+    dir = Tix.LabelFrame(w, label='Tix.DirList', options=options)
+    fsbox = Tix.LabelFrame(w, label='Tix.ExFileSelectBox', options=options)
     MkDirListWidget(dir.frame)
     MkExFileWidget(fsbox.frame)
     dir.form(top=0, left=0, right='%40', bottom=-1)
diff --git a/Lib/lib-tk/Tix.py b/Lib/lib-tk/Tix.py
index 1e3e856..9d3f33f 100755
--- a/Lib/lib-tk/Tix.py
+++ b/Lib/lib-tk/Tix.py
@@ -34,8 +34,6 @@
     raise ImportError, "This version of Tix.py requires Tk 4.0 or higher"
 
 import _tkinter # If this fails your Python may not be configured for Tk
-# TixVersion = float(tkinter.TIX_VERSION) # If this fails your Python may not be configured for Tix
-# WARNING - TixVersion is a limited precision floating point number
 
 # Some more constants (for consistency with Tkinter)
 WINDOW = 'window'
@@ -241,7 +239,7 @@
             for x in y:
                 z = z + (self.tk.getint(x),)
             return z
-        self.tk.call('tixForm', 'grid', self._w, xsize, ysize)
+        return self.tk.call('tixForm', 'grid', self._w, xsize, ysize)
 
     def info(self, option=None):
         if not option:
@@ -497,6 +495,7 @@
     label           Label
     message         Message"""
 
+    # FIXME: It should inherit -superclass tixShell
     def __init__(self, master=None, cnf={}, **kw):
         # static seem to be -installcolormap -initwait -statusbar -cursor
         static = ['options', 'installcolormap', 'initwait', 'statusbar',
@@ -549,6 +548,7 @@
     tick        Button
     cross       Button : present if created with the fancy option"""
 
+    # FIXME: It should inherit -superclass tixLabelWidget
     def __init__ (self, master=None, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixComboBox',
                            ['editable', 'dropdown', 'fancy', 'options'],
@@ -590,6 +590,7 @@
     entry       Entry
     label       Label"""
 
+    # FIXME: It should inherit -superclass tixLabelWidget
     def __init__ (self, master=None, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixControl', ['options'], cnf, kw)
         self.subwidget_list['incr'] = _dummyButton(self, 'incr')
@@ -620,6 +621,7 @@
     hsb              Scrollbar
     vsb              Scrollbar"""
 
+    # FIXME: It should inherit -superclass tixScrolledHList
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixDirList', ['options'], cnf, kw)
         self.subwidget_list['hlist'] = _dummyHList(self, 'hlist')
@@ -641,6 +643,7 @@
     hsb             Scrollbar
     vsb             Scrollbar"""
 
+    # FIXME: It should inherit -superclass tixScrolledHList
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixDirTree', ['options'], cnf, kw)
         self.subwidget_list['hlist'] = _dummyHList(self, 'hlist')
@@ -712,6 +715,7 @@
     ----------       -----
     dirbox       DirSelectDialog"""
 
+    # FIXME: It should inherit -superclass tixDialogShell
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixDirSelectDialog',
                            ['options'], cnf, kw)
@@ -734,6 +738,7 @@
     ----------       -----
     fsbox       ExFileSelectBox"""
 
+    # FIXME: It should inherit -superclass tixDialogShell
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixExFileSelectDialog',
                            ['options'], cnf, kw)
@@ -781,6 +786,7 @@
     btns       StdButtonBox
     fsbox       FileSelectBox"""
 
+    # FIXME: It should inherit -superclass tixStdDialogShell
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixFileSelectDialog',
                            ['options'], cnf, kw)
@@ -804,6 +810,7 @@
     button       Button
     entry       Entry"""
 
+    # FIXME: It should inherit -superclass tixLabelWidget
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixFileEntry',
                            ['dialogtype', 'options'], cnf, kw)
@@ -814,7 +821,7 @@
         self.tk.call(self._w, 'invoke')
 
     def file_dialog(self):
-        # XXX return python object
+        # FIXME: return python object
         pass
 
 class HList(TixWidget):
@@ -1003,7 +1010,7 @@
         apply(self.tk.call, (self._w, 'yview') + args)
 
 class InputOnly(TixWidget):
-    """InputOnly - Invisible widget.
+    """InputOnly - Invisible widget. Unix only.
 
     Subwidgets - None"""
 
@@ -1131,7 +1138,7 @@
         return self.tk.call(self._w, 'raised')
 
 class NoteBookFrame(TixWidget):
-    """Will be added when Tix documentation is available !!!"""
+    # FIXME: This is dangerous to expose to be called on its own.
     pass
 
 class OptionMenu(TixWidget):
@@ -1223,6 +1230,7 @@
     menubutton       Menubutton
     menu       Menu"""
 
+    # FIXME: It should inherit -superclass tixShell
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixPopupMenu', ['options'], cnf, kw)
         self.subwidget_list['menubutton'] = _dummyMenubutton(self, 'menubutton')
@@ -1239,7 +1247,8 @@
 
 class ResizeHandle(TixWidget):
     """Internal widget to draw resize handles on Scrolled widgets."""
-
+    # FIXME: This is dangerous to expose to be called on its own.
+    # Perhaps rename ResizeHandle to _ResizeHandle
     def __init__(self, master, cnf={}, **kw):
         # There seems to be a Tix bug rejecting the configure method
         # Let's try making the flags -static
@@ -1265,6 +1274,7 @@
 class ScrolledHList(TixWidget):
     """ScrolledHList - HList with automatic scrollbars."""
 
+    # FIXME: It should inherit -superclass tixScrolledWidget
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixScrolledHList', ['options'],
                            cnf, kw)
@@ -1275,6 +1285,7 @@
 class ScrolledListBox(TixWidget):
     """ScrolledListBox - Listbox with automatic scrollbars."""
 
+    # FIXME: It should inherit -superclass tixScrolledWidget
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixScrolledListBox', ['options'], cnf, kw)
         self.subwidget_list['listbox'] = _dummyListbox(self, 'listbox')
@@ -1284,6 +1295,7 @@
 class ScrolledText(TixWidget):
     """ScrolledText - Text with automatic scrollbars."""
 
+    # FIXME: It should inherit -superclass tixScrolledWidget
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixScrolledText', ['options'], cnf, kw)
         self.subwidget_list['text'] = _dummyText(self, 'text')
@@ -1293,6 +1305,7 @@
 class ScrolledTList(TixWidget):
     """ScrolledTList - TList with automatic scrollbars."""
 
+    # FIXME: It should inherit -superclass tixScrolledWidget
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixScrolledTList', ['options'],
                            cnf, kw)
@@ -1303,6 +1316,7 @@
 class ScrolledWindow(TixWidget):
     """ScrolledWindow - Window with automatic scrollbars."""
 
+    # FIXME: It should inherit -superclass tixScrolledWidget
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixScrolledWindow', ['options'], cnf, kw)
         self.subwidget_list['window'] = _dummyFrame(self, 'window')
@@ -1315,6 +1329,7 @@
 
     Subwidgets are buttons added dynamically using the add method."""
 
+    # FIXME: It should inherit -superclass tixLabelWidget
     def __init__(self, master, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixSelect',
                            ['allowzero', 'radio', 'orientation', 'labelside',
@@ -1347,6 +1362,7 @@
 
     Subwidgets - None"""
 
+    # FIXME: It should inherit from  Shell
     def __init__ (self,master=None,cnf={}, **kw):
         TixWidget.__init__(self, master,
                            'tixDialogShell',
@@ -1474,6 +1490,7 @@
     data in a tree form. The user can adjust
     the view of the tree by opening or closing parts of the tree."""
 
+    # FIXME: It should inherit -superclass tixScrolledWidget
     def __init__(self, master=None, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixTree',
                            ['options'], cnf, kw)
@@ -1482,18 +1499,34 @@
         self.subwidget_list['hsb'] = _dummyScrollbar(self, 'hsb')
 
     def autosetmode(self):
+        '''This command calls the setmode method for all the entries in this
+     Tree widget: if an entry has no child entries, its mode is set to
+     none. Otherwise, if the entry has any hidden child entries, its mode is
+     set to open; otherwise its mode is set to close.'''
         self.tk.call(self._w, 'autosetmode')
 
     def close(self, entrypath):
+        '''Close the entry given by entryPath if its mode is close.'''
         self.tk.call(self._w, 'close', entrypath)
 
     def getmode(self, entrypath):
+        '''Returns the current mode of the entry given by entryPath.'''
         return self.tk.call(self._w, 'getmode', entrypath)
 
     def open(self, entrypath):
+        '''Open the entry given by entryPath if its mode is open.'''
         self.tk.call(self._w, 'open', entrypath)
 
     def setmode(self, entrypath, mode='none'):
+        '''This command is used to indicate whether the entry given by
+     entryPath has children entries and whether the children are visible. mode
+     must be one of open, close or none. If mode is set to open, a (+)
+     indicator is drawn next the the entry. If mode is set to close, a (-)
+     indicator is drawn next the the entry. If mode is set to none, no
+     indicators will be drawn for this entry. The default mode is none. The
+     open mode indicates the entry has hidden children and this entry can be
+     opened by the user. The close mode indicates that all the children of the
+     entry are now visible and the entry can be closed by the user.'''
         self.tk.call(self._w, 'setmode', entrypath, mode)
 
 
@@ -1504,7 +1537,7 @@
     similarly to the Tk checkbutton or radiobutton widgets, except it is
     capable of handling many more items than checkbuttons or radiobuttons.
     """
-
+    # FIXME: It should inherit -superclass tixTree
     def __init__(self, master=None, cnf={}, **kw):
         TixWidget.__init__(self, master, 'tixCheckList',
                            ['options'], cnf, kw)
@@ -1513,25 +1546,38 @@
         self.subwidget_list['hsb'] = _dummyScrollbar(self, 'hsb')
 
     def autosetmode(self):
+        '''This command calls the setmode method for all the entries in this
+     Tree widget: if an entry has no child entries, its mode is set to
+     none. Otherwise, if the entry has any hidden child entries, its mode is
+     set to open; otherwise its mode is set to close.'''
         self.tk.call(self._w, 'autosetmode')
 
     def close(self, entrypath):
+        '''Close the entry given by entryPath if its mode is close.'''
         self.tk.call(self._w, 'close', entrypath)
 
     def getmode(self, entrypath):
+        '''Returns the current mode of the entry given by entryPath.'''
         return self.tk.call(self._w, 'getmode', entrypath)
 
     def open(self, entrypath):
+        '''Open the entry given by entryPath if its mode is open.'''
         self.tk.call(self._w, 'open', entrypath)
 
     def getselection(self, mode='on'):
-        '''Mode can be on, off, default'''
-        self.tk.call(self._w, 'getselection', mode)
+        '''Returns a list of items whose status matches status. If status is
+     not specified, the list of items in the "on" status will be returned.
+     Mode can be on, off, default'''
+        c = self.tk.split(self.tk.call(self._w, 'getselection', mode))
+        return self.tk.splitlist(c)
 
     def getstatus(self, entrypath):
-        self.tk.call(self._w, 'getstatus', entrypath)
+        '''Returns the current status of entryPath.'''
+        return self.tk.call(self._w, 'getstatus', entrypath)
 
     def setstatus(self, entrypath, mode='on'):
+        '''Sets the status of entryPath to be status. A bitmap will be
+     displayed next to the entry its status is on, off or default.'''
         self.tk.call(self._w, 'setstatus', entrypath, mode)
 
 
@@ -1690,6 +1736,7 @@
     return s
 
 # Still to be done:
+# tixIconView
 class CObjView(TixWidget):
     """This file implements the Canvas Object View widget. This is a base
     class of IconView. It implements automatic placement/adjustment of the
@@ -1697,4 +1744,11 @@
     The scrollbars are adjusted so that the canvas is just large enough
     to see all the objects.
     """
+    # FIXME: It should inherit -superclass tixScrolledWidget
+    pass
+
+class ScrolledGrid(TixWidget):
+    '''Scrolled Grid widgets'''
+
+    # FIXME: It should inherit -superclass tixScrolledWidget
     pass