[Python-checkins] CVS: python/dist/src/Lib/lib-tk Tix.py,1.4,1.5

Martin v. L?wis loewis@users.sourceforge.net
2001年11月02日 15:48:22 -0800


Update of /cvsroot/python/python/dist/src/Lib/lib-tk
In directory usw-pr-cvs1:/tmp/cvs-serv15298/Lib/lib-tk
Modified Files:
	Tix.py 
Log Message:
Patch #471120: Improved doc strings and new wrappers.
Index: Tix.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/lib-tk/Tix.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Tix.py	2001年10月09日 11:50:55	1.4
--- Tix.py	2001年11月02日 23:48:20	1.5
***************
*** 1,10 ****
 #
 # $Id$
 #
! # Tix.py -- Tix widget wrappers, part of PyTix.
 #
 # - Sudhir Shenoy (sshenoy@gol.com), Dec. 1995.
! # based on an idea (and a little code !!) of Jean-Marc Lugrin
! # (lugrin@ms.com)
 #
 # NOTE: In order to minimize changes to Tkinter.py, some of the code here
--- 1,12 ----
+ # -*-mode: python; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
 #
 # $Id$
 #
! # Tix.py -- Tix widget wrappers.
 #
+ #	For Tix, see http://tix.sourceforge.net
+ #
 # - Sudhir Shenoy (sshenoy@gol.com), Dec. 1995.
! # based on an idea of Jean-Marc Lugrin (lugrin@ms.com)
 #
 # NOTE: In order to minimize changes to Tkinter.py, some of the code here
***************
*** 52,69 ****
 # liable to break.
 import Tkinter, os
! class Tk(Tkinter.Tk):
 """Toplevel widget of Tix which represents mostly the main window
 of an application. It has an associated Tcl interpreter."""
! def __init__(self, screenName=None, baseName=None, className='Tk'):
 Tkinter.Tk.__init__(self, screenName, baseName, className)
 tixlib = os.environ.get('TIX_LIBRARY')
 if tixlib is not None:
 self.tk.eval('global auto_path; lappend auto_path {%s}' % tixlib)
 self.tk.eval('global tcl_pkgPath; lappend tcl_pkgPath {%s}' % tixlib)
 # Load Tix - this should work dynamically or statically
! # If it's static, lib/tix8.1/pkgIndex.tcl should have 'load {} Tix'
! # If it's dynamic, it should have 'load libtix8.1.8.2.so Tix'
 self.tk.eval('package require Tix')
 
 # The Tix 'tixForm' geometry manager
 class Form:
--- 54,212 ----
 # liable to break.
 import Tkinter, os
! 
! # Could probably add this to Tkinter.Misc
! class tixCommand:
! """The tix command provides access to miscellaneous elements
! of Tix's internal state and the Tix application context.
! Most of the information manipulated by this command per
! tains to the application as a whole, or to a screen or
! display, rather than to a particular window. The command
! can take any of a number of different forms depending on
! the option argument.
! 
! This is a mixin class, assumed to be mixed to Tkinter.Tk
! that supports the self.tk.call method.
! """
! def tix_addbitmapdir(self, directory):
! """Tix maintains a list of directory under which which
! the tix_getimage and tix_getbitmap commands will
! search for image files. The standard bitmap direc
! tory is $TIX_LIBRARY/bitmaps. The addbitmapdir com
! mand adds directory into this list. By using this
! command, the image files of an applications can
! also be located using the tix_getimage or tix_getbitmap
! command.
! """
! return self.tk.call('tix', 'addbitmapdir', directory)
! 
! def tix_cget(self, option):
! """Returns the current value of the configuration
! option given by option. Option may be any of the
! options described in the CONFIGURATION OPTIONS section.
! """
! return self.tk.call('tix', 'cget', option)
! 
! def tix_configure(self, cnf=None, **kw):
! """Query or modify the configuration options of the
! Tix application context. If no option is specified,
! returns a list describing all of the available
! options (see Tk_ConfigureInfo for information on
! the format of this list). If option is specified
! with no value, then the command returns a list
! describing the one named option (this list will be
! identical to the corresponding sublist of the value
! returned if no option is specified). If one or
! more option-value pairs are specified, then the
! command modifies the given option(s) to have the
! given value(s); in this case the command returns an
! empty string. Option may be any of the options
! described in the CONFIGURATION OPTIONS section.
! """
! return apply(self.tk.call, ('tix', configure) +
! self._options(cnf,kw) )
! 
! def tix_filedialog(self, dlgclass=None):
! """Returns the file selection dialog that may be
! shared among different modules of this application.
! This command will create a file selection dialog
! widget when it is called the first time. This dialog
! will be returned by all subsequent calls to tix
! filedialog. An optional dlgclass parameter can be
! passed to specified what type of file selection
! dialog widget is desired. Possible options are 'tix'
! 'FileSelectDialog' or 'tixExFileSelectDialog'.
! """
! if dlgclass is not None:
! return self.tk.call('tix', 'filedialog', dlgclass)
! else:
! return self.tk.call('tix', 'filedialog')
! 
! def tix_getbitmap(self, name):
! """Locates a bitmap file of the name name.xpm or name
! in one of the bitmap directories (self, see the
! tix_addbitmapdir command above). By using tix_getbitmap,
! you can advoid hard coding the pathnames of
! the bitmap files in your application. When successful,
! it returns the complete pathname of the bitmap
! file, prefixed with the character '@'. The returned
! value can be used to configure the -bitmap option
! of the TK and Tix widgets.
! """
! return self.tk.call('tix', 'getbitmap', name)
! 
! def tix_getimage(self, name):
! """Locates an image file of the name name.xpm,
! name.xbm or name.ppm in one of the bitmap directo
! ries (see the addbitmapdir command above). If more
! than one file with the same name (but different
! extensions) exist, then the image type is chosen
! according to the depth of the X display: xbm images
! are chosen on monochrome displays and color images
! are chosen on color displays. By using tix getim
! age, you can advoid hard coding the pathnames of
! the image files in your application. When success
! ful, this command returns the name of the newly
! created image, which can be used to configure the
! -image option of the TK and Tix widgets.
! """
! return self.tk.call('tix', 'getimage', name)
! 
! def tix_option_get(self, name):
! """Gets the options manitained by the Tix
! scheme mechanism. Available options are:
! 
! active_bg active_fg bg
! bold_font dark1_bg dark1_fg
! dark2_bg dark2_fg disabled_fg
! fg 	 fixed_font font
! inactive_bg inactive_fg input1_bg
! input2_bg italic_font light1_bg
! light1_fg light2_bg light2_fg
! menu_font output1_bg output2_bg
! select_bg select_fg selector
! """
! # could use self.tk.globalgetvar('tixOption', name)
! return self.tk.call('tix', 'option', 'get', name)
! 
! def tix_resetoptions(self, newScheme, newFontSet, newScmPrio=None):
! """Resets the scheme and fontset of the Tix application
! to newScheme and newFontSet, respectively.
! This affects only those widgets created after this
! call. Therefore, it is best to call the resetop
! tions command before the creation of any widgets in
! a Tix application.
! 
! The optional parameter newScmPrio can be given to
! reset the priority level of the TK options set by
! the Tix schemes.
! 
! Because of the way TK handles the X option database, after
! tixwish has started up, it is not possible to reset the
! color schemes and font sets using the tix config command.
! Instead, the tix resetoptions command must be used.
! """
! if newScmPrio is not None:
! return self.tk.call('tix', 'resetoptions', newScheme, newFontSet, newScmPrio)
! else:
! return self.tk.call('tix', 'resetoptions', newScheme, newFontSet)
! 
! class Tk(Tkinter.Tk, tixCommand):
 """Toplevel widget of Tix which represents mostly the main window
 of an application. It has an associated Tcl interpreter."""
! def __init__(self, screenName=None, baseName=None, className='Tix'):
 Tkinter.Tk.__init__(self, screenName, baseName, className)
 tixlib = os.environ.get('TIX_LIBRARY')
+ self.tk.eval('global auto_path; lappend auto_path [file dir [info nameof]]')
 if tixlib is not None:
 self.tk.eval('global auto_path; lappend auto_path {%s}' % tixlib)
 self.tk.eval('global tcl_pkgPath; lappend tcl_pkgPath {%s}' % tixlib)
 # Load Tix - this should work dynamically or statically
! # If it's static, lib/tix8.1/pkgIndex.tcl should have
! #		'load {} Tix'
! # If it's dynamic, lib/tix8.1/pkgIndex.tcl should have
! #		'load libtix8.1.8.3.so Tix'
 self.tk.eval('package require Tix')
 
+ 
 # The Tix 'tixForm' geometry manager
 class Form:
***************
*** 109,121 ****
 self.tk.call(
 'tixForm', 'slaves', self._w)))
 
 
 Tkinter.Widget.__bases__ = Tkinter.Widget.__bases__ + (Form,)
 
! class TixWidget(Widget):
 """A TixWidget class is used to package all (or most) Tix widgets.
 
 Widget initialization is extended in two ways:
! 1) It is possible to give a list of options which must be part of
 the creation command (so called Tix 'static' options). These cannot be
 given as a 'config' command later.
--- 252,266 ----
 self.tk.call(
 'tixForm', 'slaves', self._w)))
+ 
+ 
 
 
 Tkinter.Widget.__bases__ = Tkinter.Widget.__bases__ + (Form,)
 
! class TixWidget(Tkinter.Widget):
 """A TixWidget class is used to package all (or most) Tix widgets.
 
 Widget initialization is extended in two ways:
! 1) It is possible to give a list of options which must be part of
 the creation command (so called Tix 'static' options). These cannot be
 given as a 'config' command later.
***************
*** 170,180 ****
 raise AttributeError, name
 
- # Set a variable without calling its action routine
 def set_silent(self, value):
 self.tk.call('tixSetSilent', self._w, value)
 
- # Return the named subwidget (which must have been created by
- # the sub-class).
 def subwidget(self, name):
 n = self._subwidget_name(name)
 if not n:
--- 315,325 ----
 raise AttributeError, name
 
 def set_silent(self, value):
+ """Set a variable without calling its action routine"""
 self.tk.call('tixSetSilent', self._w, value)
 
 def subwidget(self, name):
+ """Return the named subwidget (which must have been created by
+ the sub-class)."""
 n = self._subwidget_name(name)
 if not n:
***************
*** 184,189 ****
 return self._nametowidget(n)
 
- # Return all subwidgets
 def subwidgets_all(self):
 names = self._subwidget_names()
 if not names:
--- 329,334 ----
 return self._nametowidget(n)
 
 def subwidgets_all(self):
+ """Return all subwidgets."""
 names = self._subwidget_names()
 if not names:
***************
*** 199,204 ****
 return retlist
 
- # Get a subwidget name (returns a String, not a Widget !)
 def _subwidget_name(self,name):
 try:
 return self.tk.call(self._w, 'subwidget', name)
--- 344,349 ----
 return retlist
 
 def _subwidget_name(self,name):
+ """Get a subwidget name (returns a String, not a Widget !)"""
 try:
 return self.tk.call(self._w, 'subwidget', name)
***************
*** 206,211 ****
 return None
 
- # Return the name of all subwidgets
 def _subwidget_names(self):
 try:
 x = self.tk.call(self._w, 'subwidgets', '-all')
--- 351,356 ----
 return None
 
 def _subwidget_names(self):
+ """Return the name of all subwidgets."""
 try:
 x = self.tk.call(self._w, 'subwidgets', '-all')
***************
*** 214,219 ****
 return None
 
- # Set configuration options for all subwidgets (and self)
 def config_all(self, option, value):
 if option == '':
 return
--- 359,364 ----
 return None
 
 def config_all(self, option, value):
+ """Set configuration options for all subwidgets (and self)."""
 if option == '':
 return
***************
*** 361,365 ****
 
 class ButtonBox(TixWidget):
! """ButtonBox - A container for pushbuttons"""
 def __init__(self, master=None, cnf={}, **kw):
 TixWidget.__init__(self, master, 'tixButtonBox',
--- 506,512 ----
 
 class ButtonBox(TixWidget):
! """ButtonBox - A container for pushbuttons.
! Subwidgets are the buttons added with the add method.
! """
 def __init__(self, master=None, cnf={}, **kw):
 TixWidget.__init__(self, master, 'tixButtonBox',
***************
*** 379,383 ****
 
 class ComboBox(TixWidget):
! """ComboBox - an Entry field with a dropdown menu
 
 Subwidget Class
--- 526,532 ----
 
 class ComboBox(TixWidget):
! """ComboBox - an Entry field with a dropdown menu. The user can select a
! choice by either typing in the entry subwdget or selecting from the
! listbox subwidget.
 
 Subwidget Class
***************
*** 385,391 ****
 entry Entry
 arrow Button
! slistbox ScrolledListBox
! tick Button }
! cross Button } present if created with the fancy option"""
 
 def __init__ (self, master=None, cnf={}, **kw):
--- 534,540 ----
 entry Entry
 arrow Button
! slistbox ScrolledListBox
! tick Button 
! cross Button : present if created with the fancy option"""
 
 def __init__ (self, master=None, cnf={}, **kw):
***************
*** 418,422 ****
 
 class Control(TixWidget):
! """Control - An entry field with value change arrows.
 
 Subwidget Class
--- 567,574 ----
 
 class Control(TixWidget):
! """Control - An entry field with value change arrows. The user can
! adjust the value by pressing the two arrow buttons or by entering
! the value directly into the entry. The new value will be checked
! against the user-defined upper and lower limits.
 
 Subwidget Class
***************
*** 447,451 ****
 
 class DirList(TixWidget):
! """DirList - Directory Listing.
 
 Subwidget Class
--- 599,605 ----
 
 class DirList(TixWidget):
! """DirList - displays a list view of a directory, its previous
! directories and its sub-directories. The user can choose one of
! the directories displayed in the list or change to another directory.
 
 Subwidget Class
***************
*** 465,469 ****
 
 class DirTree(TixWidget):
! """DirList - Directory Listing in a hierarchical view.
 
 Subwidget Class
--- 619,626 ----
 
 class DirTree(TixWidget):
! """DirTree - Directory Listing in a hierarchical view.
! Displays a tree view of a directory, its previous directories and its
! sub-directories. The user can choose one of the directories displayed
! in the list or change to another directory.
 
 Subwidget Class
***************
*** 482,487 ****
--- 639,664 ----
 self.tk.call(self._w, 'chdir', dir)
 
+ class DirSelectBox(TixWidget):
+ """DirSelectBox - Motif style file select box.
+ It is generally used for
+ the user to choose a file. FileSelectBox stores the files mostly
+ recently selected into a ComboBox widget so that they can be quickly
+ selected again.
+ 
+ Subwidget Class
+ --------- -----
+ selection ComboBox
+ filter ComboBox
+ dirlist ScrolledListBox
+ filelist ScrolledListBox"""
+ 
+ def __init__(self, master, cnf={}, **kw):
+ TixWidget.__init__(self, master, 'tixDirSelectBox', ['options'], cnf, kw)
+ self.subwidget_list['dirlist'] = _dummyDirList(self, 'dirlist')
+ self.subwidget_list['dircbx'] = _dummyFileComboBox(self, 'dircbx')
+ 
 class ExFileSelectBox(TixWidget):
 """ExFileSelectBox - MS Windows style file select box.
+ It provides an convenient method for the user to select files.
 
 Subwidget Class
***************
*** 513,518 ****
--- 690,721 ----
 self.tk.call(self._w, 'invoke')
 
+ 
+ # Should inherit from a Dialog class
+ class DirSelectDialog(TixWidget):
+ """The DirSelectDialog widget presents the directories in the file
+ system in a dialog window. The user can use this dialog window to
+ navigate through the file system to select the desired directory.
+ 
+ Subwidgets Class
+ ---------- -----
+ dirbox DirSelectDialog"""
+ 
+ def __init__(self, master, cnf={}, **kw):
+ TixWidget.__init__(self, master, 'tixDirSelectDialog',
+ ['options'], cnf, kw)
+ self.subwidget_list['dirbox'] = _dummyDirSelectBox(self, 'dirbox')
+ # cancel and ok buttons are missing
+ 
+ def popup(self):
+ self.tk.call(self._w, 'popup')
+ 
+ def popdown(self):
+ self.tk.call(self._w, 'popdown')
+ 
+ 
+ # Should inherit from a Dialog class
 class ExFileSelectDialog(TixWidget):
 """ExFileSelectDialog - MS Windows style file select dialog.
+ It provides an convenient method for the user to select files.
 
 Subwidgets Class
***************
*** 533,537 ****
 class FileSelectBox(TixWidget):
 """ExFileSelectBox - Motif style file select box.
! 
 Subwidget Class
 --------- -----
--- 736,744 ----
 class FileSelectBox(TixWidget):
 """ExFileSelectBox - Motif style file select box.
! It is generally used for
! the user to choose a file. FileSelectBox stores the files mostly
! recently selected into a ComboBox widget so that they can be quickly
! selected again.
! 
 Subwidget Class
 --------- -----
***************
*** 554,557 ****
--- 761,765 ----
 self.tk.call(self._w, 'invoke')
 
+ # Should inherit from a Dialog class
 class FileSelectDialog(TixWidget):
 """FileSelectDialog - Motif style file select dialog.
***************
*** 575,579 ****
 
 class FileEntry(TixWidget):
! """FileEntry - Entry field with button that invokes a FileSelectDialog
 
 Subwidgets Class
--- 783,790 ----
 
 class FileEntry(TixWidget):
! """FileEntry - Entry field with button that invokes a FileSelectDialog.
! The user can type in the filename manually. Alternatively, the user can
! press the button widget that sits next to the entry, which will bring
! up a file selection dialog.
 
 Subwidgets Class
***************
*** 596,600 ****
 
 class HList(TixWidget):
! """HList - Hierarchy display.
 
 Subwidgets - None"""
--- 807,814 ----
 
 class HList(TixWidget):
! """HList - Hierarchy display widget can be used to display any data
! that have a hierarchical structure, for example, file system directory
! trees. The list entries are indented and connected by branch lines
! according to their places in the hierachy.
 
 Subwidgets - None"""
***************
*** 786,790 ****
 
 class LabelEntry(TixWidget):
! """LabelEntry - Entry field with label.
 
 Subwidgets Class
--- 1000,1006 ----
 
 class LabelEntry(TixWidget):
! """LabelEntry - Entry field with label. Packages an entry widget
! and a label into one mega widget. It can beused be used to simplify
! the creation of ``entry-form'' type of interface.
 
 Subwidgets Class
***************
*** 800,804 ****
 
 class LabelFrame(TixWidget):
! """LabelFrame - Labelled Frame container.
 
 Subwidgets Class
--- 1016,1023 ----
 
 class LabelFrame(TixWidget):
! """LabelFrame - Labelled Frame container. Packages a frame widget
! and a label into one mega widget. To create widgets inside a
! LabelFrame widget, one creates the new widgets relative to the
! frame subwidget and manage them inside the frame subwidget.
 
 Subwidgets Class
***************
*** 813,816 ****
--- 1032,1068 ----
 self.subwidget_list['frame'] = _dummyFrame(self, 'frame')
 
+ 
+ class ListNoteBook(TixWidget):
+ """A ListNoteBook widget is very similar to the TixNoteBook widget:
+ it can be used to display many windows in a limited space using a
+ notebook metaphor. The notebook is divided into a stack of pages
+ (windows). At one time only one of these pages can be shown.
+ The user can navigate through these pages by
+ choosing the name of the desired page in the hlist subwidget."""
+ 
+ def __init__(self, master, cnf={}, **kw):
+ TixWidget.__init__(self, master, 'tixDirList', ['options'], cnf, kw)
+ self.subwidget_list['hlist'] = _dummyHList(self, 'hlist')
+ self.subwidget_list['shlist'] = _dummyScrolledHList(self, 'vsb')
+ 
+ 
+ def add(self, name, cnf={}, **kw):
+ apply(self.tk.call,
+ (self._w, 'add', name) + self._options(cnf, kw))
+ self.subwidget_list[name] = TixSubWidget(self, name)
+ return self.subwidget_list[name]
+ 
+ def raise_page(self, name): # raise is a python keyword
+ self.tk.call(self._w, 'raise', name)
+ 
+ class Meter(TixWidget):
+ """The Meter widget can be used to show the progress of a background
+ job which may take a long time to execute.
+ """
+ 
+ def __init__(self, master=None, cnf={}, **kw):
+ TixWidget.__init__(self, master, 'tixMeter',
+ ['options'], cnf, kw)
+ 
 class NoteBook(TixWidget):
 """NoteBook - Multi-page container widget (tabbed notebook metaphor).
***************
*** 819,823 ****
 ---------- -----
 nbframe NoteBookFrame
! <pages> g/p widgets added dynamically"""
 
 def __init__ (self,master=None,cnf={}, **kw):
--- 1071,1075 ----
 ---------- -----
 nbframe NoteBookFrame
! <pages> page widgets added dynamically with the add method"""
 
 def __init__ (self,master=None,cnf={}, **kw):
***************
*** 857,861 ****
 
 class OptionMenu(TixWidget):
! """OptionMenu - Option menu widget.
 
 Subwidget Class
--- 1109,1113 ----
 
 class OptionMenu(TixWidget):
! """OptionMenu - creates a menu button of options.
 
 Subwidget Class
***************
*** 887,895 ****
 
 class PanedWindow(TixWidget):
! """PanedWindow - Multi-pane container widget. Panes are resizable.
 
 Subwidgets Class
 ---------- -----
! <panes> g/p widgets added dynamically"""
 
 def __init__(self, master, cnf={}, **kw):
--- 1139,1151 ----
 
 class PanedWindow(TixWidget):
! """PanedWindow - Multi-pane container widget
! allows the user to interactively manipulate the sizes of several
! panes. The panes can be arranged either vertically or horizontally.The
! user changes the sizes of the panes by dragging the resize handle
! between two panes.
 
 Subwidgets Class
 ---------- -----
! <panes> g/p widgets added dynamically with the add method."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 911,915 ****
 
 class PopupMenu(TixWidget):
! """PopupMenu widget.
 
 Subwidgets Class
--- 1167,1174 ----
 
 class PopupMenu(TixWidget):
! """PopupMenu widget can be used as a replacement of the tk_popup command.
! The advantage of the Tix PopupMenu widget is it requires less application
! code to manipulate.
! 
 
 Subwidgets Class
***************
*** 933,937 ****
 
 class ResizeHandle(TixWidget):
! """Incomplete - no documentation in Tix for this !!!"""
 
 def __init__(self, master, cnf={}, **kw):
--- 1192,1196 ----
 
 class ResizeHandle(TixWidget):
! """Internal widget to draw resize handles on Scrolled widgets."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 943,947 ****
 
 class ScrolledHList(TixWidget):
! """ScrolledHList - HList with scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
--- 1202,1206 ----
 
 class ScrolledHList(TixWidget):
! """ScrolledHList - HList with automatic scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 953,957 ****
 
 class ScrolledListBox(TixWidget):
! """ScrolledListBox - Listbox with scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
--- 1212,1216 ----
 
 class ScrolledListBox(TixWidget):
! """ScrolledListBox - Listbox with automatic scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 962,966 ****
 
 class ScrolledText(TixWidget):
! """ScrolledText - Text with scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
--- 1221,1225 ----
 
 class ScrolledText(TixWidget):
! """ScrolledText - Text with automatic scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 971,975 ****
 
 class ScrolledTList(TixWidget):
! """ScrolledTList - TList with scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
--- 1230,1234 ----
 
 class ScrolledTList(TixWidget):
! """ScrolledTList - TList with automatic scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 981,985 ****
 
 class ScrolledWindow(TixWidget):
! """ScrolledWindow - Window with scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
--- 1240,1244 ----
 
 class ScrolledWindow(TixWidget):
! """ScrolledWindow - Window with automatic scrollbars."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 990,996 ****
 
 class Select(TixWidget):
! """Select - Container for buttons. Can enforce radio buttons etc.
 
! Subwidgets are buttons added dynamically"""
 
 def __init__(self, master, cnf={}, **kw):
--- 1249,1256 ----
 
 class Select(TixWidget):
! """Select - Container of button subwidgets. It can be used to provide
! radio-box or check-box style of selection options for the user.
 
! Subwidgets are buttons added dynamically using the add method."""
 
 def __init__(self, master, cnf={}, **kw):
***************
*** 1026,1030 ****
 
 class TList(TixWidget):
! """TList - Hierarchy display.
 
 Subwidgets - None"""
--- 1286,1295 ----
 
 class TList(TixWidget):
! """TList - Hierarchy display widget which can be
! used to display data in a tabular format. The list entries of a TList
! widget are similar to the entries in the Tk listbox widget. The main
! differences are (1) the TList widget can display the list entries in a
! two dimensional format and (2) you can use graphical images as well as
! multiple colors and fonts for the list entries.
 
 Subwidgets - None"""
***************
*** 1112,1116 ****
 
 class Tree(TixWidget):
! """Tree - The tixTree widget (general purpose DirList like widget)"""
 
 def __init__(self, master=None, cnf={}, **kw):
--- 1377,1383 ----
 
 class Tree(TixWidget):
! """Tree - The tixTree widget can be used to display hierachical
! data in a tree form. The user can adjust
! the view of the tree by opening or closing parts of the tree."""
 
 def __init__(self, master=None, cnf={}, **kw):
***************
*** 1136,1139 ****
--- 1403,1445 ----
 self.tk.call(self._w, 'setmode', entrypath, mode)
 
+ 
+ # Could try subclassing Tree for CheckList - would need another arg to init
+ class CheckList(TixWidget):
+ """The CheckList widget
+ displays a list of items to be selected by the user. CheckList acts
+ similarly to the Tk checkbutton or radiobutton widgets, except it is
+ capable of handling many more items than checkbuttons or radiobuttons.
+ """
+ 
+ def __init__(self, master=None, cnf={}, **kw):
+ TixWidget.__init__(self, master, 'tixCheckList',
+ ['options'], cnf, kw)
+ self.subwidget_list['hlist'] = _dummyHList(self, 'hlist')
+ self.subwidget_list['vsb'] = _dummyScrollbar(self, 'vsb')
+ self.subwidget_list['hsb'] = _dummyScrollbar(self, 'hsb')
+ 
+ def autosetmode(self):
+ self.tk.call(self._w, 'autosetmode')
+ 
+ def close(self, entrypath):
+ self.tk.call(self._w, 'close', entrypath)
+ 
+ def getmode(self, entrypath):
+ return self.tk.call(self._w, 'getmode', entrypath)
+ 
+ def open(self, entrypath):
+ 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)
+ 
+ def getstatus(self, entrypath):
+ self.tk.call(self._w, 'getstatus', entrypath)
+ 
+ def setstatus(self, entrypath, mode='on'):
+ self.tk.call(self._w, 'setstatus', entrypath, mode)
+ 
+ 
 ###########################################################################
 ### The subclassing below is used to instantiate the subwidgets in each ###
***************
*** 1192,1195 ****
--- 1498,1508 ----
 TixSubWidget.__init__(self, master, name, destroy_physically)
 
+ class _dummyScrolledHList(ScrolledHList, TixSubWidget):
+ def __init__(self, master, name, destroy_physically=1):
+ TixSubWidget.__init__(self, master, name, destroy_physically)
+ self.subwidget_list['hlist'] = _dummyHList(self, 'hlist')
+ self.subwidget_list['vsb'] = _dummyScrollbar(self, 'vsb')
+ self.subwidget_list['hsb'] = _dummyScrollbar(self, 'hsb')
+ 
 class _dummyTList(TList, TixSubWidget):
 def __init__(self, master, name, destroy_physically=1):
***************
*** 1201,1206 ****
 self.subwidget_list['entry'] = _dummyEntry(self, 'entry')
 self.subwidget_list['arrow'] = _dummyButton(self, 'arrow')
 self.subwidget_list['slistbox'] = _dummyScrolledListBox(self,
! 'slistbox')
 self.subwidget_list['listbox'] = _dummyListbox(self, 'listbox',
 destroy_physically=0)
--- 1514,1522 ----
 self.subwidget_list['entry'] = _dummyEntry(self, 'entry')
 self.subwidget_list['arrow'] = _dummyButton(self, 'arrow')
+ # I'm not sure about this destroy_physically=0 in all cases;
+ # it may depend on if -dropdown is true; I've added as a trial
 self.subwidget_list['slistbox'] = _dummyScrolledListBox(self,
! 'slistbox',
! destroy_physically=0)
 self.subwidget_list['listbox'] = _dummyListbox(self, 'listbox',
 destroy_physically=0)
***************
*** 1213,1216 ****
--- 1529,1538 ----
 self.subwidget_list['hsb'] = _dummyScrollbar(self, 'hsb')
 
+ class _dummyDirSelectBox(DirSelectBox, TixSubWidget):
+ def __init__(self, master, name, destroy_physically=1):
+ TixSubWidget.__init__(self, master, name, destroy_physically)
+ self.subwidget_list['dirlist'] = _dummyDirList(self, 'dirlist')
+ self.subwidget_list['dircbx'] = _dummyFileComboBox(self, 'dircbx')
+ 
 class _dummyExFileSelectBox(ExFileSelectBox, TixSubWidget):
 def __init__(self, master, name, destroy_physically=1):
***************
*** 1233,1236 ****
--- 1555,1563 ----
 self.subwidget_list['selection'] = _dummyComboBox(self, 'selection')
 
+ class _dummyFileComboBox(ComboBox, TixSubWidget):
+ def __init__(self, master, name, destroy_physically=1):
+ TixSubWidget.__init__(self, master, name, destroy_physically)
+ self.subwidget_list['dircbx'] = _dummyComboBox(self, 'dircbx')
+ 
 class _dummyStdButtonBox(StdButtonBox, TixSubWidget):
 def __init__(self, master, name, destroy_physically=1):
***************
*** 1264,1266 ****
--- 1591,1603 ----
 s = s + '{{' + type + '} {' + type + ' - ' + dict[type] + '}} '
 return s
+ 
+ # Still to be done:
+ 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
+ scrollbars according to the canvas objects inside the canvas subwidget.
+ The scrollbars are adjusted so that the canvas is just large enough
+ to see all the objects.
+ """
+ pass
 

AltStyle によって変換されたページ (->オリジナル) /