From bbedd58eb5bf3856d6d7e3e7b2b4d455c31084d5 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Thu, 2 Aug 2007 15:44:40 +0000 Subject: [PATCH] Vanquish all remaining build warnings. --- Doc-26/TODO | 1 - Doc-26/c-api/concrete.rst | 4 +- Doc-26/c-api/intro.rst | 20 +- Doc-26/conf.py | 1 + Doc-26/distutils/apiref.rst | 130 +++- Doc-26/distutils/introduction.rst | 6 +- Doc-26/distutils/setupscript.rst | 6 +- Doc-26/distutils/sourcedist.rst | 2 +- Doc-26/distutils/sysconfig.rst | 112 --- Doc-26/extending/extending.rst | 10 +- Doc-26/extending/index.rst | 2 +- Doc-26/library/asttable.rst | 290 -------- Doc-26/library/compiler.rst | 291 +++++++- Doc-26/library/contextlib.rst | 2 - Doc-26/library/cookielib.rst | 8 +- Doc-26/library/idle.rst | 288 ++++++++ Doc-26/library/index.rst | 2 +- Doc-26/library/intro.rst | 2 +- Doc-26/library/othergui.rst | 93 +++ Doc-26/library/scrolledtext.rst | 32 + Doc-26/library/sqlite3.rst | 8 +- Doc-26/library/stdtypes.rst | 9 +- Doc-26/library/strings.rst | 2 +- Doc-26/library/tarfile.rst | 3 +- Doc-26/library/tix.rst | 602 +++++++++++++++ Doc-26/library/tk.rst | 40 + Doc-26/library/tkinter.rst | 1056 --------------------------- Doc-26/library/xml.dom.minidom.rst | 2 +- Doc-26/reference/compound_stmts.rst | 2 +- Doc-26/reference/datamodel.rst | 2 - Doc-26/reference/simple_stmts.rst | 2 +- Doc-3k/TODO | 1 - Doc-3k/c-api/concrete.rst | 4 +- Doc-3k/c-api/intro.rst | 20 +- Doc-3k/conf.py | 1 + Doc-3k/distutils/apiref.rst | 130 +++- Doc-3k/distutils/introduction.rst | 6 +- Doc-3k/distutils/setupscript.rst | 6 +- Doc-3k/distutils/sourcedist.rst | 2 +- Doc-3k/distutils/sysconfig.rst | 112 --- Doc-3k/extending/extending.rst | 10 +- Doc-3k/extending/index.rst | 2 +- Doc-3k/library/asttable.rst | 288 -------- Doc-3k/library/contextlib.rst | 2 - Doc-3k/library/cookielib.rst | 8 +- Doc-3k/library/idle.rst | 288 ++++++++ Doc-3k/library/index.rst | 2 +- Doc-3k/library/intro.rst | 2 +- Doc-3k/library/othergui.rst | 93 +++ Doc-3k/library/scrolledtext.rst | 32 + Doc-3k/library/sqlite3.rst | 8 +- Doc-3k/library/stdtypes.rst | 9 +- Doc-3k/library/strings.rst | 2 +- Doc-3k/library/tarfile.rst | 3 +- Doc-3k/library/tix.rst | 602 +++++++++++++++ Doc-3k/library/tk.rst | 40 + Doc-3k/library/tkinter.rst | 1056 --------------------------- Doc-3k/library/xml.dom.minidom.rst | 2 +- Doc-3k/reference/compound_stmts.rst | 2 +- Doc-3k/reference/datamodel.rst | 2 - Doc-3k/reference/simple_stmts.rst | 2 +- 61 files changed, 2708 insertions(+), 3059 deletions(-) delete mode 100644 Doc-26/distutils/sysconfig.rst delete mode 100644 Doc-26/library/asttable.rst create mode 100644 Doc-26/library/idle.rst create mode 100644 Doc-26/library/othergui.rst create mode 100644 Doc-26/library/scrolledtext.rst create mode 100644 Doc-26/library/tix.rst create mode 100644 Doc-26/library/tk.rst delete mode 100644 Doc-3k/distutils/sysconfig.rst delete mode 100644 Doc-3k/library/asttable.rst create mode 100644 Doc-3k/library/idle.rst create mode 100644 Doc-3k/library/othergui.rst create mode 100644 Doc-3k/library/scrolledtext.rst create mode 100644 Doc-3k/library/tix.rst create mode 100644 Doc-3k/library/tk.rst diff --git a/Doc-26/TODO b/Doc-26/TODO index d032f3c8c..9f5603b1d 100644 --- a/Doc-26/TODO +++ b/Doc-26/TODO @@ -2,7 +2,6 @@ To do after conversion ====================== * fix all references and links marked with `XXX` -* fix all duplicate labels and undefined label references * split very large files and add toctrees * integrate standalone HOWTOs * find out which files get "comments disabled" metadata diff --git a/Doc-26/c-api/concrete.rst b/Doc-26/c-api/concrete.rst index 953f8f9dc..e71c6518e 100644 --- a/Doc-26/c-api/concrete.rst +++ b/Doc-26/c-api/concrete.rst @@ -2934,7 +2934,7 @@ Slice Objects .. versionadded:: 2.3 -.. _weakref-objects: +.. _weakrefobjects: Weak Reference Objects ---------------------- @@ -3168,7 +3168,7 @@ than explicitly calling :cfunc:`PyGen_New`. *NULL*. -.. _datetime-objects: +.. _datetimeobjects: DateTime Objects ---------------- diff --git a/Doc-26/c-api/intro.rst b/Doc-26/c-api/intro.rst index 7501647d3..a6d4b91a9 100644 --- a/Doc-26/c-api/intro.rst +++ b/Doc-26/c-api/intro.rst @@ -1,7 +1,7 @@ .. highlightlang:: c -.. _intro: +.. _api-intro: ************ Introduction @@ -30,7 +30,7 @@ familiar with writing an extension before attempting to embed Python in a real application. -.. _includes: +.. _api-includes: Include Files ============= @@ -80,7 +80,7 @@ header files do properly declare the entry points to be ``extern "C"``, so there is no need to do anything special to use the API from C++. -.. _objects: +.. _api-objects: Objects, Types and Reference Counts =================================== @@ -107,7 +107,7 @@ that type; for instance, ``PyList_Check(a)`` is true if (and only if) the object pointed to by *a* is a Python list. -.. _refcounts: +.. _api-refcounts: Reference Counts ---------------- @@ -170,7 +170,7 @@ This leaves the caller with the responsibility to call :cfunc:`Py_DECREF` when they are done with the result; this soon becomes second nature. -.. _refcountdetails: +.. _api-refcountdetails: Reference Count Details ^^^^^^^^^^^^^^^^^^^^^^^ @@ -335,7 +335,7 @@ using :cfunc:`PySequence_GetItem`. :: .. index:: single: sum_sequence() -.. _types: +.. _api-types: Types ----- @@ -349,7 +349,7 @@ of a complex number. These will be discussed together with the functions that use them. -.. _exceptions: +.. _api-exceptions: Exceptions ========== @@ -501,7 +501,7 @@ return value is initialized to ``-1`` (failure) and only set to success after the final call made is successful. -.. _embedding: +.. _api-embedding: Embedding Python ================ @@ -525,8 +525,6 @@ the table of loaded modules, and creates the fundamental modules :mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also initializes the module search path (``sys.path``). -.. % - .. index:: single: PySys_SetArgv() :cfunc:`Py_Initialize` does not set the "script argument list" (``sys.argv``). @@ -579,7 +577,7 @@ does *not* free all memory allocated by the Python interpreter, e.g. memory allocated by extension modules currently cannot be released. -.. _debugging: +.. _api-debugging: Debugging Builds ================ diff --git a/Doc-26/conf.py b/Doc-26/conf.py index b54a53e0a..31f48c9cd 100644 --- a/Doc-26/conf.py +++ b/Doc-26/conf.py @@ -33,6 +33,7 @@ unused_files = [ 'whatsnew/2.5.rst', 'maclib/scrap.rst', 'library/xmllib.rst', + 'library/xml.etree.rst', ] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, diff --git a/Doc-26/distutils/apiref.rst b/Doc-26/distutils/apiref.rst index d60ae9f4e..ad58ac1d5 100644 --- a/Doc-26/distutils/apiref.rst +++ b/Doc-26/distutils/apiref.rst @@ -1415,7 +1415,118 @@ platform-specific functions for launching another program in a sub-process. Also provides :func:`find_executable` to search the path for a given executable name. -XXX: input{sysconfig} :XXX + +:mod:`distutils.sysconfig` --- System configuration information +=============================================================== + +.. module:: distutils.sysconfig + :synopsis: Low-level access to configuration information of the Python interpreter. +.. moduleauthor:: Fred L. Drake, Jr. +.. moduleauthor:: Greg Ward +.. sectionauthor:: Fred L. Drake, Jr. + + +The :mod:`distutils.sysconfig` module provides access to Python's low-level +configuration information. The specific configuration variables available +depend heavily on the platform and configuration. The specific variables depend +on the build process for the specific version of Python being run; the variables +are those found in the :file:`Makefile` and configuration header that are +installed with Python on Unix systems. The configuration header is called +:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h` +for earlier versions of Python. + +Some additional functions are provided which perform some useful manipulations +for other parts of the :mod:`distutils` package. + + +.. data:: PREFIX + + The result of ``os.path.normpath(sys.prefix)``. + + +.. data:: EXEC_PREFIX + + The result of ``os.path.normpath(sys.exec_prefix)``. + + +.. function:: get_config_var(name) + + Return the value of a single variable. This is equivalent to + ``get_config_vars().get(name)``. + + +.. function:: get_config_vars(...) + + Return a set of variable definitions. If there are no arguments, this returns a + dictionary mapping names of configuration variables to values. If arguments are + provided, they should be strings, and the return value will be a sequence giving + the associated values. If a given name does not have a corresponding value, + ``None`` will be included for that variable. + + +.. function:: get_config_h_filename() + + Return the full path name of the configuration header. For Unix, this will be + the header generated by the :program:`configure` script; for other platforms the + header will have been supplied directly by the Python source distribution. The + file is a platform-specific text file. + + +.. function:: get_makefile_filename() + + Return the full path name of the :file:`Makefile` used to build Python. For + Unix, this will be a file generated by the :program:`configure` script; the + meaning for other platforms will vary. The file is a platform-specific text + file, if it exists. This function is only useful on POSIX platforms. + + +.. function:: get_python_inc([plat_specific[, prefix]]) + + Return the directory for either the general or platform-dependent C include + files. If *plat_specific* is true, the platform-dependent include directory is + returned; if false or omitted, the platform-independent directory is returned. + If *prefix* is given, it is used as either the prefix instead of + :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if + *plat_specific* is true. + + +.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]]) + + Return the directory for either the general or platform-dependent library + installation. If *plat_specific* is true, the platform-dependent include + directory is returned; if false or omitted, the platform-independent directory + is returned. If *prefix* is given, it is used as either the prefix instead of + :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if + *plat_specific* is true. If *standard_lib* is true, the directory for the + standard library is returned rather than the directory for the installation of + third-party extensions. + +The following function is only intended for use within the :mod:`distutils` +package. + + +.. function:: customize_compiler(compiler) + + Do any platform-specific customization of a + :class:`distutils.ccompiler.CCompiler` instance. + + This function is only needed on Unix at this time, but should be called + consistently to support forward-compatibility. It inserts the information that + varies across Unix flavors and is stored in Python's :file:`Makefile`. This + information includes the selected compiler, compiler and linker options, and the + extension used by the linker for shared objects. + +This function is even more special-purpose, and should only be used from +Python's own build procedures. + + +.. function:: set_python_build() + + Inform the :mod:`distutils.sysconfig` module that it is being used as part of + the build process for Python. This changes a lot of relative locations for + files, allowing them to be located in the build area rather than in an installed + Python. + :mod:`distutils.text_file` --- The TextFile class ================================================= @@ -1870,20 +1981,3 @@ that command is always applicable. *sub_commands* is usually defined at the \*end\* of a class, because predicates can be unbound methods, so they must already have been defined. The canonical example is the :command:`install` command. - -.. % -.. % The ugly "%begin{latexonly}" pseudo-environments are really just to -.. % keep LaTeX2HTML quiet during the \renewcommand{} macros; they're -.. % not really valuable. -.. % -.. % begin{latexonly} -.. % end{latexonly} - -XXX: input{moddist.ind} :XXX -.. % Module Index -.. % begin{latexonly} -.. % end{latexonly} - -XXX: input{dist.ind} :XXX -.. % Index - diff --git a/Doc-26/distutils/introduction.rst b/Doc-26/distutils/introduction.rst index 35053fe14..4253ab7d8 100644 --- a/Doc-26/distutils/introduction.rst +++ b/Doc-26/distutils/introduction.rst @@ -1,4 +1,4 @@ -.. _intro: +.. _distutils-intro: **************************** An Introduction to Distutils @@ -10,7 +10,7 @@ information on installing Python modules, you should refer to the Installing Python Modules (XXX reference: ../inst/inst.html) manual. -.. _concepts: +.. _distutils-concepts: Concepts & Terminology ====================== @@ -41,7 +41,7 @@ their platform, without having to run a single setup script or compile a line of code. -.. _simple-example: +.. _distutils-simple-example: A Simple Example ================ diff --git a/Doc-26/distutils/setupscript.rst b/Doc-26/distutils/setupscript.rst index 495142f76..26f50e6cd 100644 --- a/Doc-26/distutils/setupscript.rst +++ b/Doc-26/distutils/setupscript.rst @@ -8,7 +8,7 @@ The setup script is the centre of all activity in building, distributing, and installing modules using the Distutils. The main purpose of the setup script is to describe your module distribution to the Distutils, so that the various commands that operate on your modules do the right thing. As we saw in section -:ref:`simple-example` above, the setup script consists mainly of a call to +:ref:`distutils-simple-example` above, the setup script consists mainly of a call to :func:`setup`, and most information supplied to the Distutils by the module developer is supplied as keyword arguments to :func:`setup`. @@ -33,7 +33,7 @@ the package into Python 1.5.2.) :: ) There are only two differences between this and the trivial one-file -distribution presented in section :ref:`simple-example`: more metadata, and the +distribution presented in section :ref:`distutils-simple-example`: more metadata, and the specification of pure Python modules by package, rather than by module. This is important since the Distutils consist of a couple of dozen modules split into (so far) two packages; an explicit list of every module would be tedious to @@ -114,7 +114,7 @@ Listing individual modules For a small module distribution, you might prefer to list all modules rather than listing packages---especially the case of a single module that goes in the "root package" (i.e., no package at all). This simplest case was shown in -section :ref:`simple-example`; here is a slightly more involved example:: +section :ref:`distutils-simple-example`; here is a slightly more involved example:: py_modules = ['mod1', 'pkg.mod2'] diff --git a/Doc-26/distutils/sourcedist.rst b/Doc-26/distutils/sourcedist.rst index f02258418..9f15870cc 100644 --- a/Doc-26/distutils/sourcedist.rst +++ b/Doc-26/distutils/sourcedist.rst @@ -4,7 +4,7 @@ Creating a Source Distribution ****************************** -As shown in section :ref:`simple-example`, you use the :command:`sdist` command +As shown in section :ref:`distutils-simple-example`, you use the :command:`sdist` command to create a source distribution. In the simplest case, :: python setup.py sdist diff --git a/Doc-26/distutils/sysconfig.rst b/Doc-26/distutils/sysconfig.rst deleted file mode 100644 index 8217f5c39..000000000 --- a/Doc-26/distutils/sysconfig.rst +++ /dev/null @@ -1,112 +0,0 @@ - -:mod:`distutils.sysconfig` --- System configuration information -=============================================================== - -.. module:: distutils.sysconfig - :synopsis: Low-level access to configuration information of the Python interpreter. -.. moduleauthor:: Fred L. Drake, Jr. -.. moduleauthor:: Greg Ward -.. sectionauthor:: Fred L. Drake, Jr. - - -The :mod:`distutils.sysconfig` module provides access to Python's low-level -configuration information. The specific configuration variables available -depend heavily on the platform and configuration. The specific variables depend -on the build process for the specific version of Python being run; the variables -are those found in the :file:`Makefile` and configuration header that are -installed with Python on Unix systems. The configuration header is called -:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h` -for earlier versions of Python. - -Some additional functions are provided which perform some useful manipulations -for other parts of the :mod:`distutils` package. - - -.. data:: PREFIX - - The result of ``os.path.normpath(sys.prefix)``. - - -.. data:: EXEC_PREFIX - - The result of ``os.path.normpath(sys.exec_prefix)``. - - -.. function:: get_config_var(name) - - Return the value of a single variable. This is equivalent to - ``get_config_vars().get(name)``. - - -.. function:: get_config_vars(...) - - Return a set of variable definitions. If there are no arguments, this returns a - dictionary mapping names of configuration variables to values. If arguments are - provided, they should be strings, and the return value will be a sequence giving - the associated values. If a given name does not have a corresponding value, - ``None`` will be included for that variable. - - -.. function:: get_config_h_filename() - - Return the full path name of the configuration header. For Unix, this will be - the header generated by the :program:`configure` script; for other platforms the - header will have been supplied directly by the Python source distribution. The - file is a platform-specific text file. - - -.. function:: get_makefile_filename() - - Return the full path name of the :file:`Makefile` used to build Python. For - Unix, this will be a file generated by the :program:`configure` script; the - meaning for other platforms will vary. The file is a platform-specific text - file, if it exists. This function is only useful on POSIX platforms. - - -.. function:: get_python_inc([plat_specific[, prefix]]) - - Return the directory for either the general or platform-dependent C include - files. If *plat_specific* is true, the platform-dependent include directory is - returned; if false or omitted, the platform-independent directory is returned. - If *prefix* is given, it is used as either the prefix instead of - :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if - *plat_specific* is true. - - -.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]]) - - Return the directory for either the general or platform-dependent library - installation. If *plat_specific* is true, the platform-dependent include - directory is returned; if false or omitted, the platform-independent directory - is returned. If *prefix* is given, it is used as either the prefix instead of - :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if - *plat_specific* is true. If *standard_lib* is true, the directory for the - standard library is returned rather than the directory for the installation of - third-party extensions. - -The following function is only intended for use within the :mod:`distutils` -package. - - -.. function:: customize_compiler(compiler) - - Do any platform-specific customization of a - :class:`distutils.ccompiler.CCompiler` instance. - - This function is only needed on Unix at this time, but should be called - consistently to support forward-compatibility. It inserts the information that - varies across Unix flavors and is stored in Python's :file:`Makefile`. This - information includes the selected compiler, compiler and linker options, and the - extension used by the linker for shared objects. - -This function is even more special-purpose, and should only be used from -Python's own build procedures. - - -.. function:: set_python_build() - - Inform the :mod:`distutils.sysconfig` module that it is being used as part of - the build process for Python. This changes a lot of relative locations for - files, allowing them to be located in the build area rather than in an installed - Python. - diff --git a/Doc-26/extending/extending.rst b/Doc-26/extending/extending.rst index a04aa12ec..fec6d9c3d 100644 --- a/Doc-26/extending/extending.rst +++ b/Doc-26/extending/extending.rst @@ -1,7 +1,7 @@ .. highlightlang:: c -.. _intro: +.. _extending-intro: ****************************** Extending Python with C or C++ @@ -21,7 +21,7 @@ The compilation of an extension module depends on its intended use as well as on your system setup; details are given in later chapters. -.. _simpleexample: +.. _extending-simpleexample: A Simple Example ================ @@ -103,7 +103,7 @@ latter case it also raises an appropriate exception so the calling function can return *NULL* immediately (as we saw in the example). -.. _errors: +.. _extending-errors: Intermezzo: Errors and Exceptions ================================= @@ -1109,8 +1109,8 @@ the module and retrieving its C API pointers; client modules only have to call this macro before accessing the C API. The exporting module is a modification of the :mod:`spam` module from section -:ref:`simpleexample`. The function :func:`spam.system` does not call the C -library function :cfunc:`system` directly, but a function +:ref:`extending-simpleexample`. The function :func:`spam.system` does not call +the C library function :cfunc:`system` directly, but a function :cfunc:`PySpam_System`, which would of course do something more complicated in reality (such as adding "spam" to every command). This function :cfunc:`PySpam_System` is also exported to other extension modules. diff --git a/Doc-26/extending/index.rst b/Doc-26/extending/index.rst index 13332dccb..6e8cf7906 100644 --- a/Doc-26/extending/index.rst +++ b/Doc-26/extending/index.rst @@ -17,7 +17,7 @@ operating system supports this feature. This document assumes basic knowledge about Python. For an informal introduction to the language, see :ref:`tutorial-index`. :ref:`reference-index` -gives a more formal definition of the language. :ref:`modules-index` documents +gives a more formal definition of the language. :ref:`library-index` documents the existing object types, functions and modules (both built-in and written in Python) that give the language its wide application range. diff --git a/Doc-26/library/asttable.rst b/Doc-26/library/asttable.rst deleted file mode 100644 index 61c178495..000000000 --- a/Doc-26/library/asttable.rst +++ /dev/null @@ -1,290 +0,0 @@ -+-----------------------+--------------------+---------------------------------+ -| Node type | Attribute | Value | -+=======================+====================+=================================+ -| :class:`Add` | :attr:`left` | left operand | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | right operand | -+-----------------------+--------------------+---------------------------------+ -| :class:`And` | :attr:`nodes` | list of operands | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssAttr` | | *attribute as target of | -| | | assignment* | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | expression on the left-hand | -| | | side of the dot | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`attrname` | the attribute name, a string | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | XXX | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssList` | :attr:`nodes` | list of list elements being | -| | | assigned to | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssName` | :attr:`name` | name being assigned to | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | XXX | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssTuple` | :attr:`nodes` | list of tuple elements being | -| | | assigned to | -+-----------------------+--------------------+---------------------------------+ -| :class:`Assert` | :attr:`test` | the expression to be tested | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`fail` | the value of the | -| | | :exc:`AssertionError` | -+-----------------------+--------------------+---------------------------------+ -| :class:`Assign` | :attr:`nodes` | a list of assignment targets, | -| | | one per equal sign | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | the value being assigned | -+-----------------------+--------------------+---------------------------------+ -| :class:`AugAssign` | :attr:`node` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`op` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Backquote` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Bitand` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Bitor` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Bitxor` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Break` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`CallFunc` | :attr:`node` | expression for the callee | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`args` | a list of arguments | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`star_args` | the extended \*-arg value | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`dstar_args` | the extended \*\*-arg value | -+-----------------------+--------------------+---------------------------------+ -| :class:`Class` | :attr:`name` | the name of the class, a string | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`bases` | a list of base classes | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`doc` | doc string, a string or | -| | | ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`code` | the body of the class statement | -+-----------------------+--------------------+---------------------------------+ -| :class:`Compare` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`ops` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Const` | :attr:`value` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Continue` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Decorators` | :attr:`nodes` | List of function decorator | -| | | expressions | -+-----------------------+--------------------+---------------------------------+ -| :class:`Dict` | :attr:`items` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Discard` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Div` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Ellipsis` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Expression` | :attr:`node` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Exec` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`locals` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`globals` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`FloorDiv` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`For` | :attr:`assign` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`list` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`From` | :attr:`modname` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`names` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Function` | :attr:`decorators` | :class:`Decorators` or ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`name` | name used in def, a string | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`argnames` | list of argument names, as | -| | | strings | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`defaults` | list of default values | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | xxx | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`doc` | doc string, a string or | -| | | ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`code` | the body of the function | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExpr` | :attr:`code` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExprFor` | :attr:`assign` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`iter` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`ifs` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExprIf` | :attr:`test` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExprInner` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`quals` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Getattr` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`attrname` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Global` | :attr:`names` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`If` | :attr:`tests` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Import` | :attr:`names` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Invert` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Keyword` | :attr:`name` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Lambda` | :attr:`argnames` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`defaults` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`code` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`LeftShift` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`List` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`ListComp` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`quals` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`ListCompFor` | :attr:`assign` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`list` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`ifs` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`ListCompIf` | :attr:`test` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Mod` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Module` | :attr:`doc` | doc string, a string or | -| | | ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`node` | body of the module, a | -| | | :class:`Stmt` | -+-----------------------+--------------------+---------------------------------+ -| :class:`Mul` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Name` | :attr:`name` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Not` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Or` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Pass` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Power` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Print` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`dest` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Printnl` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`dest` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Raise` | :attr:`expr1` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr2` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr3` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Return` | :attr:`value` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`RightShift` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Slice` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`lower` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`upper` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Sliceobj` | :attr:`nodes` | list of statements | -+-----------------------+--------------------+---------------------------------+ -| :class:`Stmt` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Sub` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Subscript` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`subs` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`TryExcept` | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`handlers` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`TryFinally` | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`final` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Tuple` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`UnaryAdd` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`UnarySub` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`While` | :attr:`test` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`With` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`vars` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Yield` | :attr:`value` | | -+-----------------------+--------------------+---------------------------------+ - diff --git a/Doc-26/library/compiler.rst b/Doc-26/library/compiler.rst index 29629faa6..40c4d236b 100644 --- a/Doc-26/library/compiler.rst +++ b/Doc-26/library/compiler.rst @@ -213,7 +213,296 @@ instance, the type is noted in the comment. The attributes are listed in the order in which they are returned by :meth:`getChildren` and :meth:`getChildNodes`. -XXX: input{asttable} :XXX ++-----------------------+--------------------+---------------------------------+ +| Node type | Attribute | Value | ++=======================+====================+=================================+ +| :class:`Add` | :attr:`left` | left operand | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | right operand | ++-----------------------+--------------------+---------------------------------+ +| :class:`And` | :attr:`nodes` | list of operands | ++-----------------------+--------------------+---------------------------------+ +| :class:`AssAttr` | | *attribute as target of | +| | | assignment* | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`expr` | expression on the left-hand | +| | | side of the dot | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`attrname` | the attribute name, a string | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`flags` | XXX | ++-----------------------+--------------------+---------------------------------+ +| :class:`AssList` | :attr:`nodes` | list of list elements being | +| | | assigned to | ++-----------------------+--------------------+---------------------------------+ +| :class:`AssName` | :attr:`name` | name being assigned to | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`flags` | XXX | ++-----------------------+--------------------+---------------------------------+ +| :class:`AssTuple` | :attr:`nodes` | list of tuple elements being | +| | | assigned to | ++-----------------------+--------------------+---------------------------------+ +| :class:`Assert` | :attr:`test` | the expression to be tested | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`fail` | the value of the | +| | | :exc:`AssertionError` | ++-----------------------+--------------------+---------------------------------+ +| :class:`Assign` | :attr:`nodes` | a list of assignment targets, | +| | | one per equal sign | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`expr` | the value being assigned | ++-----------------------+--------------------+---------------------------------+ +| :class:`AugAssign` | :attr:`node` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`op` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Backquote` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Bitand` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Bitor` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Bitxor` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Break` | | | ++-----------------------+--------------------+---------------------------------+ +| :class:`CallFunc` | :attr:`node` | expression for the callee | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`args` | a list of arguments | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`star_args` | the extended \*-arg value | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`dstar_args` | the extended \*\*-arg value | ++-----------------------+--------------------+---------------------------------+ +| :class:`Class` | :attr:`name` | the name of the class, a string | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`bases` | a list of base classes | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`doc` | doc string, a string or | +| | | ``None`` | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`code` | the body of the class statement | ++-----------------------+--------------------+---------------------------------+ +| :class:`Compare` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`ops` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Const` | :attr:`value` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Continue` | | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Decorators` | :attr:`nodes` | List of function decorator | +| | | expressions | ++-----------------------+--------------------+---------------------------------+ +| :class:`Dict` | :attr:`items` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Discard` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Div` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Ellipsis` | | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Expression` | :attr:`node` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Exec` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`locals` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`globals` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`FloorDiv` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`For` | :attr:`assign` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`list` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`body` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`else_` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`From` | :attr:`modname` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`names` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Function` | :attr:`decorators` | :class:`Decorators` or ``None`` | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`name` | name used in def, a string | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`argnames` | list of argument names, as | +| | | strings | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`defaults` | list of default values | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`flags` | xxx | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`doc` | doc string, a string or | +| | | ``None`` | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`code` | the body of the function | ++-----------------------+--------------------+---------------------------------+ +| :class:`GenExpr` | :attr:`code` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`GenExprFor` | :attr:`assign` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`iter` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`ifs` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`GenExprIf` | :attr:`test` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`GenExprInner` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`quals` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Getattr` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`attrname` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Global` | :attr:`names` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`If` | :attr:`tests` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`else_` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Import` | :attr:`names` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Invert` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Keyword` | :attr:`name` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Lambda` | :attr:`argnames` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`defaults` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`flags` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`code` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`LeftShift` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`List` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`ListComp` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`quals` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`ListCompFor` | :attr:`assign` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`list` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`ifs` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`ListCompIf` | :attr:`test` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Mod` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Module` | :attr:`doc` | doc string, a string or | +| | | ``None`` | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`node` | body of the module, a | +| | | :class:`Stmt` | ++-----------------------+--------------------+---------------------------------+ +| :class:`Mul` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Name` | :attr:`name` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Not` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Or` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Pass` | | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Power` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Print` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`dest` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Printnl` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`dest` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Raise` | :attr:`expr1` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`expr2` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`expr3` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Return` | :attr:`value` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`RightShift` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Slice` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`flags` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`lower` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`upper` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Sliceobj` | :attr:`nodes` | list of statements | ++-----------------------+--------------------+---------------------------------+ +| :class:`Stmt` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Sub` | :attr:`left` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`right` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Subscript` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`flags` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`subs` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`TryExcept` | :attr:`body` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`handlers` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`else_` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`TryFinally` | :attr:`body` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`final` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Tuple` | :attr:`nodes` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`UnaryAdd` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`UnarySub` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`While` | :attr:`test` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`body` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`else_` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`With` | :attr:`expr` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`vars` | | ++-----------------------+--------------------+---------------------------------+ +| | :attr:`body` | | ++-----------------------+--------------------+---------------------------------+ +| :class:`Yield` | :attr:`value` | | ++-----------------------+--------------------+---------------------------------+ + Assignment nodes ---------------- diff --git a/Doc-26/library/contextlib.rst b/Doc-26/library/contextlib.rst index 3ff355593..5cdf7c669 100644 --- a/Doc-26/library/contextlib.rst +++ b/Doc-26/library/contextlib.rst @@ -82,8 +82,6 @@ Functions provided: :meth:`__exit__` methods should avoid raising exceptions, and in particular they should not re-raise a passed-in exception. -.. _context-closing: - .. function:: closing(thing) diff --git a/Doc-26/library/cookielib.rst b/Doc-26/library/cookielib.rst index 828fa1191..40c3f6d0f 100644 --- a/Doc-26/library/cookielib.rst +++ b/Doc-26/library/cookielib.rst @@ -32,9 +32,8 @@ introduced with RFC 2965. :mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are conventionally referred to as :dfn:`attributes`. To distinguish them from Python attributes, the documentation for this module uses the term - :dfn:`cookie-attribute` instead + :dfn:`cookie-attribute` instead. -. The module defines the following exception: @@ -47,9 +46,8 @@ The module defines the following exception: .. note:: For backwards-compatibility with Python 2.4 (which raised an :exc:`IOError`), - :exc:`LoadError` is a subclass of :exc:`IOError` + :exc:`LoadError` is a subclass of :exc:`IOError`. - . The following classes are provided: @@ -601,7 +599,7 @@ combinations of the above flags: Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``. -.. _cookie-objects: +.. _cookielib-cookie-objects: Cookie Objects -------------- diff --git a/Doc-26/library/idle.rst b/Doc-26/library/idle.rst new file mode 100644 index 000000000..44b59e9f8 --- /dev/null +++ b/Doc-26/library/idle.rst @@ -0,0 +1,288 @@ +.. _idle: + +Idle +==== + +.. moduleauthor:: Guido van Rossum + + +.. % \declaremodule{standard}{idle} +.. % \modulesynopsis{A Python Integrated Development Environment} + +.. index:: + single: Idle + single: Python Editor + single: Integrated Development Environment + +Idle is the Python IDE built with the :mod:`Tkinter` GUI toolkit. + +IDLE has the following features: + +* coded in 100% pure Python, using the :mod:`Tkinter` GUI toolkit + +* cross-platform: works on Windows and Unix (on Mac OS, there are currently + problems with Tcl/Tk) + +* multi-window text editor with multiple undo, Python colorizing and many other + features, e.g. smart indent and call tips + +* Python shell window (a.k.a. interactive interpreter) + +* debugger (not complete, but you can set breakpoints, view and step) + + +Menus +----- + + +File menu +^^^^^^^^^ + +New window + create a new editing window + +Open... + open an existing file + +Open module... + open an existing module (searches sys.path) + +Class browser + show classes and methods in current file + +Path browser + show sys.path directories, modules, classes and methods + +.. index:: + single: Class browser + single: Path browser + +Save + save current window to the associated file (unsaved windows have a \* before and + after the window title) + +Save As... + save current window to new file, which becomes the associated file + +Save Copy As... + save current window to different file without changing the associated file + +Close + close current window (asks to save if unsaved) + +Exit + close all windows and quit IDLE (asks to save if unsaved) + + +Edit menu +^^^^^^^^^ + +Undo + Undo last change to current window (max 1000 changes) + +Redo + Redo last undone change to current window + +Cut + Copy selection into system-wide clipboard; then delete selection + +Copy + Copy selection into system-wide clipboard + +Paste + Insert system-wide clipboard into window + +Select All + Select the entire contents of the edit buffer + +Find... + Open a search dialog box with many options + +Find again + Repeat last search + +Find selection + Search for the string in the selection + +Find in Files... + Open a search dialog box for searching files + +Replace... + Open a search-and-replace dialog box + +Go to line + Ask for a line number and show that line + +Indent region + Shift selected lines right 4 spaces + +Dedent region + Shift selected lines left 4 spaces + +Comment out region + Insert ## in front of selected lines + +Uncomment region + Remove leading # or ## from selected lines + +Tabify region + Turns *leading* stretches of spaces into tabs + +Untabify region + Turn *all* tabs into the right number of spaces + +Expand word + Expand the word you have typed to match another word in the same buffer; repeat + to get a different expansion + +Format Paragraph + Reformat the current blank-line-separated paragraph + +Import module + Import or reload the current module + +Run script + Execute the current file in the __main__ namespace + +.. index:: + single: Import module + single: Run script + + +Windows menu +^^^^^^^^^^^^ + +Zoom Height + toggles the window between normal size (24x80) and maximum height. + +The rest of this menu lists the names of all open windows; select one to bring +it to the foreground (deiconifying it if necessary). + + +Debug menu (in the Python Shell window only) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Go to file/line + look around the insert point for a filename and linenumber, open the file, and + show the line. + +Open stack viewer + show the stack traceback of the last exception + +Debugger toggle + Run commands in the shell under the debugger + +JIT Stack viewer toggle + Open stack viewer on traceback + +.. index:: + single: stack viewer + single: debugger + + +Basic editing and navigation +---------------------------- + +* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right + +* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around + +* :kbd:`Home`/:kbd:`End` go to begin/end of line + +* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file + +* Some :program:`Emacs` bindings may also work, including :kbd:`C-B`, + :kbd:`C-P`, :kbd:`C-A`, :kbd:`C-E`, :kbd:`C-D`, :kbd:`C-L` + + +Automatic indentation +^^^^^^^^^^^^^^^^^^^^^ + +After a block-opening statement, the next line is indented by 4 spaces (in the +Python Shell window by one tab). After certain keywords (break, return etc.) +the next line is dedented. In leading indentation, :kbd:`Backspace` deletes up +to 4 spaces if they are there. :kbd:`Tab` inserts 1-4 spaces (in the Python +Shell window one tab). See also the indent/dedent region commands in the edit +menu. + + +Python Shell window +^^^^^^^^^^^^^^^^^^^ + +* :kbd:`C-C` interrupts executing command + +* :kbd:`C-D` sends end-of-file; closes window if typed at a ``>>>`` prompt + +* :kbd:`Alt-p` retrieves previous command matching what you have typed + +* :kbd:`Alt-n` retrieves next + +* :kbd:`Return` while on any previous command retrieves that command + +* :kbd:`Alt-/` (Expand word) is also useful here + +.. index:: single: indentation + + +Syntax colors +------------- + +The coloring is applied in a background "thread," so you may occasionally see +uncolorized text. To change the color scheme, edit the ``[Colors]`` section in +:file:`config.txt`. + +Python syntax colors: + Keywords + orange + + Strings + green + + Comments + red + + Definitions + blue + +Shell colors: + Console output + brown + + stdout + blue + + stderr + dark green + + stdin + black + + +Command line usage +^^^^^^^^^^^^^^^^^^ + +:: + + idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ... + + -c command run this command + -d enable debugger + -e edit mode; arguments are files to be edited + -s run $IDLESTARTUP or $PYTHONSTARTUP first + -t title set title of shell window + +If there are arguments: + +#. If :option:`-e` is used, arguments are files opened for editing and + ``sys.argv`` reflects the arguments passed to IDLE itself. + +#. Otherwise, if :option:`-c` is used, all arguments are placed in + ``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``. + +#. Otherwise, if neither :option:`-e` nor :option:`-c` is used, the first + argument is a script which is executed with the remaining arguments in + ``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script + name is '-', no script is executed but an interactive Python session is started; + the arguments are still available in ``sys.argv``. + + diff --git a/Doc-26/library/index.rst b/Doc-26/library/index.rst index d8dd2d0a7..6d03e9b2f 100644 --- a/Doc-26/library/index.rst +++ b/Doc-26/library/index.rst @@ -51,7 +51,7 @@ documented in the Reference Manual. ipc.rst internet.rst mm.rst - tkinter.rst + tk.rst i18n.rst frameworks.rst development.rst diff --git a/Doc-26/library/intro.rst b/Doc-26/library/intro.rst index 4d7ed8318..33bdefd72 100644 --- a/Doc-26/library/intro.rst +++ b/Doc-26/library/intro.rst @@ -1,5 +1,5 @@ -.. _intro: +.. _library-intro: ************ Introduction diff --git a/Doc-26/library/othergui.rst b/Doc-26/library/othergui.rst new file mode 100644 index 000000000..14ad7e17c --- /dev/null +++ b/Doc-26/library/othergui.rst @@ -0,0 +1,93 @@ +.. _other-gui-packages: + +Other Graphical User Interface Packages +======================================= + +There are an number of extension widget sets to :mod:`Tkinter`. + + +.. seealso:: + + `Python megawidgets `_ + is a toolkit for building high-level compound widgets in Python using the + :mod:`Tkinter` module. It consists of a set of base classes and a library of + flexible and extensible megawidgets built on this foundation. These megawidgets + include notebooks, comboboxes, selection widgets, paned widgets, scrolled + widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT, the + busy, graph, stripchart, tabset and vector commands are be available. + + The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr + Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the + megawidgets are direct translations from the itcl to Python. It offers most of + the range of widgets that ``[incr Widgets]`` does, and is almost as complete as + Tix, lacking however Tix's fast :class:`HList` widget for drawing trees. + + `Tkinter3000 Widget Construction Kit (WCK) `_ + is a library that allows you to write new Tkinter widgets in pure Python. The + WCK framework gives you full control over widget creation, configuration, screen + appearance, and event handling. WCK widgets can be very fast and light-weight, + since they can operate directly on Python data structures, without having to + transfer data through the Tk/Tcl layer. + + .. % + +Other GUI packages are also available for Python: + + +.. seealso:: + + `wxPython `_ + wxPython is a cross-platform GUI toolkit for Python that is built around the + popular `wxWidgets `_ C++ toolkit.  It provides a + native look and feel for applications on Windows, Mac OS X, and Unix systems by + using each platform's native widgets where ever possible, (GTK+ on Unix-like + systems).  In addition to an extensive set of widgets, wxPython provides classes + for online documentation and context sensitive help, printing, HTML viewing, + low-level device context drawing, drag and drop, system clipboard access, an + XML-based resource format and more, including an ever growing library of user- + contributed modules.  Both the wxWidgets and wxPython projects are under active + development and continuous improvement, and have active and helpful user and + developer communities. + + `wxPython in Action `_ + The wxPython book, by Noel Rappin and Robin Dunn. + + PyQt + PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an + extensive C++ GUI toolkit that is available for Unix, Windows and Mac OS X. + :program:`sip` is a tool for generating bindings for C++ libraries as Python + classes, and is specifically designed for Python. An online manual is available + at http://www.opendocspublishing.com/pyqt/ (errata are located at + http://www.valdyas.org/python/book.html). + + `PyKDE `_ + PyKDE is a :program:`sip`\ -wrapped interface to the KDE desktop libraries. KDE + is a desktop environment for Unix computers; the graphical components are based + on Qt. + + `FXPy `_ + is a Python extension module which provides an interface to the `FOX + `_ GUI. FOX is a C++ based Toolkit for + developing Graphical User Interfaces easily and effectively. It offers a wide, + and growing, collection of Controls, and provides state of the art facilities + such as drag and drop, selection, as well as OpenGL widgets for 3D graphical + manipulation. FOX also implements icons, images, and user-convenience features + such as status line help, and tooltips. + + Even though FOX offers a large collection of controls already, FOX leverages C++ + to allow programmers to easily build additional Controls and GUI elements, + simply by taking existing controls, and creating a derived class which simply + adds or redefines the desired behavior. + + `PyGTK `_ + is a set of bindings for the `GTK `_ widget set. It + provides an object oriented interface that is slightly higher level than the C + one. It automatically does all the type casting and reference counting that you + would have to do normally with the C API. There are also `bindings + `_ to `GNOME `_, and + a `tutorial + `_ is + available. + +.. % XXX Reference URLs that compare the different UI packages + diff --git a/Doc-26/library/scrolledtext.rst b/Doc-26/library/scrolledtext.rst new file mode 100644 index 000000000..85456b98f --- /dev/null +++ b/Doc-26/library/scrolledtext.rst @@ -0,0 +1,32 @@ +:mod:`ScrolledText` --- Scrolled Text Widget +============================================ + +.. module:: ScrolledText + :platform: Tk + :synopsis: Text widget with a vertical scroll bar. +.. sectionauthor:: Fred L. Drake, Jr. + + +The :mod:`ScrolledText` module provides a class of the same name which +implements a basic text widget which has a vertical scroll bar configured to do +the "right thing." Using the :class:`ScrolledText` class is a lot easier than +setting up a text widget and scroll bar directly. The constructor is the same +as that of the :class:`Tkinter.Text` class. + +The text widget and scrollbar are packed together in a :class:`Frame`, and the +methods of the :class:`Grid` and :class:`Pack` geometry managers are acquired +from the :class:`Frame` object. This allows the :class:`ScrolledText` widget to +be used directly to achieve most normal geometry management behavior. + +Should more specific control be necessary, the following attributes are +available: + + +.. attribute:: ScrolledText.frame + + The frame which surrounds the text and scroll bar widgets. + + +.. attribute:: ScrolledText.vbar + + The scroll bar widget. diff --git a/Doc-26/library/sqlite3.rst b/Doc-26/library/sqlite3.rst index 29d673ae1..4fdaee07d 100644 --- a/Doc-26/library/sqlite3.rst +++ b/Doc-26/library/sqlite3.rst @@ -148,9 +148,8 @@ Module functions and constants for the lock to go away until raising an exception. The default for the timeout parameter is 5.0 (five seconds). - For the *isolation_level* parameter, please see the :attr:`isolation_level` - property of :class:`Connection` objects in section - :ref:`sqlite3-connection-isolationlevel`. + For the *isolation_level* parameter, please see the + :attr:`Connection.isolation_level` property of :class:`Connection` objects. SQLite natively supports only the types TEXT, INTEGER, FLOAT, BLOB and NULL. If you want to use other types you must add support for them yourself. The @@ -221,9 +220,6 @@ Connection Objects A :class:`Connection` instance has the following attributes and methods: -.. _sqlite3-connection-isolationlevel: - - .. attribute:: Connection.isolation_level Get or set the current isolation level. None for autocommit mode or one of diff --git a/Doc-26/library/stdtypes.rst b/Doc-26/library/stdtypes.rst index 6d22e6575..a5d6de7c8 100644 --- a/Doc-26/library/stdtypes.rst +++ b/Doc-26/library/stdtypes.rst @@ -1,5 +1,5 @@ -.. _types: +.. _bltin-types: ************** Built-in Types @@ -120,7 +120,7 @@ Notes: interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error. -.. _comparisons: +.. _stdcomparisons: Comparisons =========== @@ -1781,9 +1781,8 @@ Files have the following methods: Not all "file-like" types in Python support use as a context manager for the :keyword:`with` statement. If your code is intended to work with any file-like - object, you can use the :func:`closing` function in the :mod:`contextlib` module - instead of using the object directly. See section :ref:`context-closing` for - details. + object, you can use the function :func:`contextlib.closing` instead of using + the object directly. .. method:: file.flush() diff --git a/Doc-26/library/strings.rst b/Doc-26/library/strings.rst index decf90485..3a96e569a 100644 --- a/Doc-26/library/strings.rst +++ b/Doc-26/library/strings.rst @@ -1,5 +1,5 @@ -.. _strings: +.. _stringservices: *************** String Services diff --git a/Doc-26/library/tarfile.rst b/Doc-26/library/tarfile.rst index f2cd8add9..a0cd67329 100644 --- a/Doc-26/library/tarfile.rst +++ b/Doc-26/library/tarfile.rst @@ -1,3 +1,4 @@ +.. _tarfile-mod: :mod:`tarfile` --- Read and write tar archive files =================================================== @@ -286,7 +287,7 @@ object, see :ref:`tarinfo-objects` for details. .. method:: TarFile.open(...) Alternative constructor. The :func:`open` function on module level is actually a - shortcut to this classmethod. See section :ref:`module-tarfile` for details. + shortcut to this classmethod. See section :ref:`tarfile-mod` for details. .. method:: TarFile.getmember(name) diff --git a/Doc-26/library/tix.rst b/Doc-26/library/tix.rst new file mode 100644 index 000000000..9137e932f --- /dev/null +++ b/Doc-26/library/tix.rst @@ -0,0 +1,602 @@ +:mod:`Tix` --- Extension widgets for Tk +======================================= + +.. module:: Tix + :synopsis: Tk Extension Widgets for Tkinter +.. sectionauthor:: Mike Clarkson + + +.. index:: single: Tix + +The :mod:`Tix` (Tk Interface Extension) module provides an additional rich set +of widgets. Although the standard Tk library has many useful widgets, they are +far from complete. The :mod:`Tix` library provides most of the commonly needed +widgets that are missing from standard Tk: :class:`HList`, :class:`ComboBox`, +:class:`Control` (a.k.a. SpinBox) and an assortment of scrollable widgets. +:mod:`Tix` also includes many more widgets that are generally useful in a wide +range of applications: :class:`NoteBook`, :class:`FileEntry`, +:class:`PanedWindow`, etc; there are more than 40 of them. + +With all these new widgets, you can introduce new interaction techniques into +applications, creating more useful and more intuitive user interfaces. You can +design your application by choosing the most appropriate widgets to match the +special needs of your application and users. + + +.. seealso:: + + `Tix Homepage `_ + The home page for :mod:`Tix`. This includes links to additional documentation + and downloads. + + `Tix Man Pages `_ + On-line version of the man pages and reference material. + + `Tix Programming Guide `_ + On-line version of the programmer's reference material. + + `Tix Development Applications `_ + Tix applications for development of Tix and Tkinter programs. Tide applications + work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to + remotely modify and debug Tix/Tk/Tkinter applications. + + +Using Tix +--------- + + +.. class:: Tix(screenName[, baseName[, className]]) + + Toplevel widget of Tix which represents mostly the main window of an + application. It has an associated Tcl interpreter. + + Classes in the :mod:`Tix` module subclasses the classes in the :mod:`Tkinter` + module. The former imports the latter, so to use :mod:`Tix` with Tkinter, all + you need to do is to import one module. In general, you can just import + :mod:`Tix`, and replace the toplevel call to :class:`Tkinter.Tk` with + :class:`Tix.Tk`:: + + import Tix + from Tkconstants import * + root = Tix.Tk() + +To use :mod:`Tix`, you must have the :mod:`Tix` widgets installed, usually +alongside your installation of the Tk widgets. To test your installation, try +the following:: + + import Tix + root = Tix.Tk() + root.tk.eval('package require Tix') + +If this fails, you have a Tk installation problem which must be resolved before +proceeding. Use the environment variable :envvar:`TIX_LIBRARY` to point to the +installed :mod:`Tix` library directory, and make sure you have the dynamic +object library (:file:`tix8183.dll` or :file:`libtix8183.so`) in the same +directory that contains your Tk dynamic object library (:file:`tk8183.dll` or +:file:`libtk8183.so`). The directory with the dynamic object library should also +have a file called :file:`pkgIndex.tcl` (case sensitive), which contains the +line:: + + package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix] + +.. % $ <-- bow to font-lock + + +Tix Widgets +----------- + +`Tix `_ +introduces over 40 widget classes to the :mod:`Tkinter` repertoire. There is a +demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the +standard distribution. + +.. % The Python sample code is still being added to Python, hence commented out + + +Basic Widgets +^^^^^^^^^^^^^ + + +.. class:: Balloon() + + A `Balloon + `_ that + pops up over a widget to provide help. When the user moves the cursor inside a + widget to which a Balloon widget has been bound, a small pop-up window with a + descriptive message will be shown on the screen. + +.. % Python Demo of: +.. % \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl} + + +.. class:: ButtonBox() + + The `ButtonBox + `_ + widget creates a box of buttons, such as is commonly used for ``Ok Cancel``. + +.. % Python Demo of: +.. % \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl} + + +.. class:: ComboBox() + + The `ComboBox + `_ + widget is similar to the combo box control in MS Windows. The user can select a + choice by either typing in the entry subwdget or selecting from the listbox + subwidget. + +.. % Python Demo of: +.. % \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl} + + +.. class:: Control() + + The `Control + `_ + widget is also known as the :class:`SpinBox` widget. 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. + +.. % Python Demo of: +.. % \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl} + + +.. class:: LabelEntry() + + The `LabelEntry + `_ + widget packages an entry widget and a label into one mega widget. It can be used + be used to simplify the creation of "entry-form" type of interface. + +.. % Python Demo of: +.. % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} + + +.. class:: LabelFrame() + + The `LabelFrame + `_ + widget 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 + :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget. + +.. % Python Demo of: +.. % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} + + +.. class:: Meter() + + The `Meter + `_ widget + can be used to show the progress of a background job which may take a long time + to execute. + +.. % Python Demo of: +.. % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} + + +.. class:: OptionMenu() + + The `OptionMenu + `_ + creates a menu button of options. + +.. % Python Demo of: +.. % \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl} + + +.. class:: PopupMenu() + + The `PopupMenu + `_ + widget can be used as a replacement of the ``tk_popup`` command. The advantage + of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code + to manipulate. + +.. % Python Demo of: +.. % \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl} + + +.. class:: Select() + + The `Select + `_ widget + is a container of button subwidgets. It can be used to provide radio-box or + check-box style of selection options for the user. + +.. % Python Demo of: +.. % \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl} + + +.. class:: StdButtonBox() + + The `StdButtonBox + `_ + widget is a group of standard buttons for Motif-like dialog boxes. + +.. % Python Demo of: +.. % \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl} + + +File Selectors +^^^^^^^^^^^^^^ + + +.. class:: DirList() + + The `DirList + `_ + widget 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. + +.. % Python Demo of: +.. % \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl} + + +.. class:: DirTree() + + The `DirTree + `_ + widget 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. + +.. % Python Demo of: +.. % \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl} + + +.. class:: DirSelectDialog() + + 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. + +.. % Python Demo of: +.. % \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl} + + +.. class:: DirSelectBox() + + The :class:`DirSelectBox` is similar to the standard Motif(TM) directory- + selection box. It is generally used for the user to choose a directory. + DirSelectBox stores the directories mostly recently selected into a ComboBox + widget so that they can be quickly selected again. + + +.. class:: ExFileSelectBox() + + The `ExFileSelectBox + `_ + widget is usually embedded in a tixExFileSelectDialog widget. It provides an + convenient method for the user to select files. The style of the + :class:`ExFileSelectBox` widget is very similar to the standard file dialog on + MS Windows 3.1. + +.. % Python Demo of: +.. % \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl} + + +.. class:: FileSelectBox() + + The `FileSelectBox + `_ + is similar to the standard Motif(TM) file-selection box. It is generally used + for the user to choose a file. FileSelectBox stores the files mostly recently + selected into a :class:`ComboBox` widget so that they can be quickly selected + again. + +.. % Python Demo of: +.. % \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl} + + +.. class:: FileEntry() + + The `FileEntry + `_ + widget can be used to input a filename. 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. + +.. % Python Demo of: +.. % \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl} + + +Hierachical ListBox +^^^^^^^^^^^^^^^^^^^ + + +.. class:: HList() + + The `HList + `_ 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 hierarchy. + +.. % Python Demo of: +.. % \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl} + + +.. class:: CheckList() + + 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. + +.. % Python Demo of: +.. % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl} + + +.. class:: Tree() + + The `Tree + `_ widget + can be used to display hierarchical data in a tree form. The user can adjust the + view of the tree by opening or closing parts of the tree. + +.. % Python Demo of: +.. % \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl} +.. % Python Demo of: +.. % \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl} + + +Tabular ListBox +^^^^^^^^^^^^^^^ + + +.. class:: TList() + + The `TList + `_ widget + can be used to display data in a tabular format. The list entries of a + :class:`TList` widget are similar to the entries in the Tk listbox widget. The + main differences are (1) the :class:`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. + +.. % Python Demo of: +.. % \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} +.. % Grid has yet to be added to Python +.. % \subsubsection{Grid Widget} +.. % Python Demo of: +.. % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} +.. % Python Demo of: +.. % \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl} + + +Manager Widgets +^^^^^^^^^^^^^^^ + + +.. class:: PanedWindow() + + The `PanedWindow + `_ + 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. + +.. % Python Demo of: +.. % \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl} + + +.. class:: ListNoteBook() + + The `ListNoteBook + `_ + widget is very similar to the :class:`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 :attr:`hlist` subwidget. + +.. % Python Demo of: +.. % \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl} + + +.. class:: NoteBook() + + The `NoteBook + `_ + widget can be used to display many windows in a limited space using a notebook + metaphor. The notebook is divided into a stack of pages. At one time only one of + these pages can be shown. The user can navigate through these pages by choosing + the visual "tabs" at the top of the NoteBook widget. + +.. % Python Demo of: +.. % \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl} + +.. % \subsubsection{Scrolled Widgets} +.. % Python Demo of: +.. % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} +.. % Python Demo of: +.. % \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} + + +Image Types +^^^^^^^^^^^ + +The :mod:`Tix` module adds: + +* `pixmap `_ + capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images + from XPM files. + + .. % Python Demo of: + .. % \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl} + .. % Python Demo of: + .. % \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl} + +* `Compound + `_ image + types can be used to create images that consists of multiple horizontal lines; + each line is composed of a series of items (texts, bitmaps, images or spaces) + arranged from left to right. For example, a compound image can be used to + display a bitmap and a text string simultaneously in a Tk :class:`Button` + widget. + + .. % Python Demo of: + .. % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl} + .. % Python Demo of: + .. % \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl} + .. % Python Demo of: + .. % \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl} + .. % Python Demo of: + .. % \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl} + + +Miscellaneous Widgets +^^^^^^^^^^^^^^^^^^^^^ + + +.. class:: InputOnly() + + The `InputOnly + `_ + widgets are to accept inputs from the user, which can be done with the ``bind`` + command (Unix only). + + +Form Geometry Manager +^^^^^^^^^^^^^^^^^^^^^ + +In addition, :mod:`Tix` augments :mod:`Tkinter` by providing: + + +.. class:: Form() + + The `Form + `_ geometry + manager based on attachment rules for all Tk widgets. + +.. % begin{latexonly} +.. % \subsection{Tix Class Structure} +.. % +.. % \begin{figure}[hbtp] +.. % \centerline{\epsfig{file=hierarchy.png,width=.9\textwidth}} +.. % \vspace{.5cm} +.. % \caption{The Class Hierarchy of Tix Widgets} +.. % \end{figure} +.. % end{latexonly} + + +Tix Commands +------------ + + +.. class:: tixCommand() + + The `tix commands + `_ provide + access to miscellaneous elements of :mod:`Tix`'s internal state and the + :mod:`Tix` application context. Most of the information manipulated by these + methods pertains to the application as a whole, or to a screen or display, + rather than to a particular window. + + To view the current settings, the common usage is:: + + import Tix + root = Tix.Tk() + print root.tix_configure() + + +.. method:: tixCommand.tix_configure([cnf,] **kw) + + Query or modify the configuration options of the Tix application context. If no + option is specified, returns a dictionary all of the available options. If + option is specified with no value, then the method 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 method modifies the given option(s) to have the + given value(s); in this case the method returns an empty string. Option may be + any of the configuration options. + + +.. method:: tixCommand.tix_cget(option) + + Returns the current value of the configuration option given by *option*. Option + may be any of the configuration options. + + +.. method:: tixCommand.tix_getbitmap(name) + + Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap + directories (see the :meth:`tix_addbitmapdir` method). By using + :meth:`tix_getbitmap`, you can avoid 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. + + +.. method:: tixCommand.tix_addbitmapdir(directory) + + Tix maintains a list of directories under which the :meth:`tix_getimage` and + :meth:`tix_getbitmap` methods will search for image files. The standard bitmap + directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method + adds *directory* into this list. By using this method, the image files of an + applications can also be located using the :meth:`tix_getimage` or + :meth:`tix_getbitmap` method. + + +.. method:: tixCommand.tix_filedialog([dlgclass]) + + Returns the file selection dialog that may be shared among different calls from + this application. This method will create a file selection dialog widget when + it is called the first time. This dialog will be returned by all subsequent + calls to :meth:`tix_filedialog`. An optional dlgclass parameter can be passed + as a string to specified what type of file selection dialog widget is desired. + Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``. + + +.. method:: tixCommand.tix_getimage(self, name) + + Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or + :file:`name.ppm` in one of the bitmap directories (see the + :meth:`tix_addbitmapdir` method 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 :meth:`tix_getimage`, you can + avoid hard coding the pathnames of the image files in your application. When + successful, this method returns the name of the newly created image, which can + be used to configure the ``image`` option of the Tk and Tix widgets. + + +.. method:: tixCommand.tix_option_get(name) + + Gets the options maintained by the Tix scheme mechanism. + + +.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio]) + + 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 resetoptions method 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 Tix has been has + imported and inited, it is not possible to reset the color schemes and font sets + using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions` + method must be used. diff --git a/Doc-26/library/tk.rst b/Doc-26/library/tk.rst new file mode 100644 index 000000000..59aecfead --- /dev/null +++ b/Doc-26/library/tk.rst @@ -0,0 +1,40 @@ +.. _tkinter: + +********************************* +Graphical User Interfaces with Tk +********************************* + +.. index:: + single: GUI + single: Graphical User Interface + single: Tkinter + single: Tk + +Tk/Tcl has long been an integral part of Python. It provides a robust and +platform independent windowing toolkit, that is available to Python programmers +using the :mod:`Tkinter` module, and its extension, the :mod:`Tix` module. + +The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To +use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to +consult the Tk documentation, and occasionally the Tcl documentation. +:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python +classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe +mechanism which allows Python and Tcl to interact. + +Tk is not the only GUI for Python; see section :ref:`other-gui-packages` for +more information on other GUI toolkits for Python. + +.. toctree:: + + tkinter.rst + tix.rst + scrolledtext.rst + turtle.rst + idle.rst + othergui.rst + +.. % Other sections I have in mind are +.. % Tkinter internals +.. % Freezing Tkinter applications + + diff --git a/Doc-26/library/tkinter.rst b/Doc-26/library/tkinter.rst index d3445f8c5..d3f22de3e 100644 --- a/Doc-26/library/tkinter.rst +++ b/Doc-26/library/tkinter.rst @@ -1,38 +1,3 @@ - -.. _tkinter: - -********************************* -Graphical User Interfaces with Tk -********************************* - -.. index:: - single: GUI - single: Graphical User Interface - single: Tkinter - single: Tk - -Tk/Tcl has long been an integral part of Python. It provides a robust and -platform independent windowing toolkit, that is available to Python programmers -using the :mod:`Tkinter` module, and its extension, the :mod:`Tix` module. - -The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To -use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to -consult the Tk documentation, and occasionally the Tcl documentation. -:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python -classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe -mechanism which allows Python and Tcl to interact. - -Tk is not the only GUI for Python; see section :ref:`other-gui-packages` for -more information on other GUI toolkits for Python. - -.. % Other sections I have in mind are -.. % Tkinter internals -.. % Freezing Tkinter applications - - -.. toctree:: - - :mod:`Tkinter` --- Python interface to Tcl/Tk ============================================= @@ -873,1024 +838,3 @@ reference to the image. When the last Python reference to the image object is deleted, the image data is deleted as well, and Tk will display an empty box wherever the image was used. - -:mod:`Tix` --- Extension widgets for Tk -======================================= - -.. module:: Tix - :synopsis: Tk Extension Widgets for Tkinter -.. sectionauthor:: Mike Clarkson - - -.. index:: single: Tix - -The :mod:`Tix` (Tk Interface Extension) module provides an additional rich set -of widgets. Although the standard Tk library has many useful widgets, they are -far from complete. The :mod:`Tix` library provides most of the commonly needed -widgets that are missing from standard Tk: :class:`HList`, :class:`ComboBox`, -:class:`Control` (a.k.a. SpinBox) and an assortment of scrollable widgets. -:mod:`Tix` also includes many more widgets that are generally useful in a wide -range of applications: :class:`NoteBook`, :class:`FileEntry`, -:class:`PanedWindow`, etc; there are more than 40 of them. - -With all these new widgets, you can introduce new interaction techniques into -applications, creating more useful and more intuitive user interfaces. You can -design your application by choosing the most appropriate widgets to match the -special needs of your application and users. - - -.. seealso:: - - `Tix Homepage `_ - The home page for :mod:`Tix`. This includes links to additional documentation - and downloads. - - `Tix Man Pages `_ - On-line version of the man pages and reference material. - - `Tix Programming Guide `_ - On-line version of the programmer's reference material. - - `Tix Development Applications `_ - Tix applications for development of Tix and Tkinter programs. Tide applications - work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to - remotely modify and debug Tix/Tk/Tkinter applications. - - -Using Tix ---------- - - -.. class:: Tix(screenName[, baseName[, className]]) - - Toplevel widget of Tix which represents mostly the main window of an - application. It has an associated Tcl interpreter. - - Classes in the :mod:`Tix` module subclasses the classes in the :mod:`Tkinter` - module. The former imports the latter, so to use :mod:`Tix` with Tkinter, all - you need to do is to import one module. In general, you can just import - :mod:`Tix`, and replace the toplevel call to :class:`Tkinter.Tk` with - :class:`Tix.Tk`:: - - import Tix - from Tkconstants import * - root = Tix.Tk() - -To use :mod:`Tix`, you must have the :mod:`Tix` widgets installed, usually -alongside your installation of the Tk widgets. To test your installation, try -the following:: - - import Tix - root = Tix.Tk() - root.tk.eval('package require Tix') - -If this fails, you have a Tk installation problem which must be resolved before -proceeding. Use the environment variable :envvar:`TIX_LIBRARY` to point to the -installed :mod:`Tix` library directory, and make sure you have the dynamic -object library (:file:`tix8183.dll` or :file:`libtix8183.so`) in the same -directory that contains your Tk dynamic object library (:file:`tk8183.dll` or -:file:`libtk8183.so`). The directory with the dynamic object library should also -have a file called :file:`pkgIndex.tcl` (case sensitive), which contains the -line:: - - package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix] - -.. % $ <-- bow to font-lock - - -Tix Widgets ------------ - -`Tix `_ -introduces over 40 widget classes to the :mod:`Tkinter` repertoire. There is a -demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the -standard distribution. - -.. % The Python sample code is still being added to Python, hence commented out - - -Basic Widgets -^^^^^^^^^^^^^ - - -.. class:: Balloon() - - A `Balloon - `_ that - pops up over a widget to provide help. When the user moves the cursor inside a - widget to which a Balloon widget has been bound, a small pop-up window with a - descriptive message will be shown on the screen. - -.. % Python Demo of: -.. % \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl} - - -.. class:: ButtonBox() - - The `ButtonBox - `_ - widget creates a box of buttons, such as is commonly used for ``Ok Cancel``. - -.. % Python Demo of: -.. % \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl} - - -.. class:: ComboBox() - - The `ComboBox - `_ - widget is similar to the combo box control in MS Windows. The user can select a - choice by either typing in the entry subwdget or selecting from the listbox - subwidget. - -.. % Python Demo of: -.. % \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl} - - -.. class:: Control() - - The `Control - `_ - widget is also known as the :class:`SpinBox` widget. 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. - -.. % Python Demo of: -.. % \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl} - - -.. class:: LabelEntry() - - The `LabelEntry - `_ - widget packages an entry widget and a label into one mega widget. It can be used - be used to simplify the creation of "entry-form" type of interface. - -.. % Python Demo of: -.. % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} - - -.. class:: LabelFrame() - - The `LabelFrame - `_ - widget 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 - :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget. - -.. % Python Demo of: -.. % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} - - -.. class:: Meter() - - The `Meter - `_ widget - can be used to show the progress of a background job which may take a long time - to execute. - -.. % Python Demo of: -.. % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} - - -.. class:: OptionMenu() - - The `OptionMenu - `_ - creates a menu button of options. - -.. % Python Demo of: -.. % \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl} - - -.. class:: PopupMenu() - - The `PopupMenu - `_ - widget can be used as a replacement of the ``tk_popup`` command. The advantage - of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code - to manipulate. - -.. % Python Demo of: -.. % \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl} - - -.. class:: Select() - - The `Select - `_ widget - is a container of button subwidgets. It can be used to provide radio-box or - check-box style of selection options for the user. - -.. % Python Demo of: -.. % \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl} - - -.. class:: StdButtonBox() - - The `StdButtonBox - `_ - widget is a group of standard buttons for Motif-like dialog boxes. - -.. % Python Demo of: -.. % \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl} - - -File Selectors -^^^^^^^^^^^^^^ - - -.. class:: DirList() - - The `DirList - `_ - widget 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. - -.. % Python Demo of: -.. % \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl} - - -.. class:: DirTree() - - The `DirTree - `_ - widget 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. - -.. % Python Demo of: -.. % \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl} - - -.. class:: DirSelectDialog() - - 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. - -.. % Python Demo of: -.. % \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl} - - -.. class:: DirSelectBox() - - The :class:`DirSelectBox` is similar to the standard Motif(TM) directory- - selection box. It is generally used for the user to choose a directory. - DirSelectBox stores the directories mostly recently selected into a ComboBox - widget so that they can be quickly selected again. - - -.. class:: ExFileSelectBox() - - The `ExFileSelectBox - `_ - widget is usually embedded in a tixExFileSelectDialog widget. It provides an - convenient method for the user to select files. The style of the - :class:`ExFileSelectBox` widget is very similar to the standard file dialog on - MS Windows 3.1. - -.. % Python Demo of: -.. % \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl} - - -.. class:: FileSelectBox() - - The `FileSelectBox - `_ - is similar to the standard Motif(TM) file-selection box. It is generally used - for the user to choose a file. FileSelectBox stores the files mostly recently - selected into a :class:`ComboBox` widget so that they can be quickly selected - again. - -.. % Python Demo of: -.. % \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl} - - -.. class:: FileEntry() - - The `FileEntry - `_ - widget can be used to input a filename. 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. - -.. % Python Demo of: -.. % \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl} - - -Hierachical ListBox -^^^^^^^^^^^^^^^^^^^ - - -.. class:: HList() - - The `HList - `_ 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 hierarchy. - -.. % Python Demo of: -.. % \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl} - - -.. class:: CheckList() - - 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. - -.. % Python Demo of: -.. % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl} - - -.. class:: Tree() - - The `Tree - `_ widget - can be used to display hierarchical data in a tree form. The user can adjust the - view of the tree by opening or closing parts of the tree. - -.. % Python Demo of: -.. % \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl} -.. % Python Demo of: -.. % \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl} - - -Tabular ListBox -^^^^^^^^^^^^^^^ - - -.. class:: TList() - - The `TList - `_ widget - can be used to display data in a tabular format. The list entries of a - :class:`TList` widget are similar to the entries in the Tk listbox widget. The - main differences are (1) the :class:`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. - -.. % Python Demo of: -.. % \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} -.. % Grid has yet to be added to Python -.. % \subsubsection{Grid Widget} -.. % Python Demo of: -.. % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} -.. % Python Demo of: -.. % \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl} - - -Manager Widgets -^^^^^^^^^^^^^^^ - - -.. class:: PanedWindow() - - The `PanedWindow - `_ - 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. - -.. % Python Demo of: -.. % \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl} - - -.. class:: ListNoteBook() - - The `ListNoteBook - `_ - widget is very similar to the :class:`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 :attr:`hlist` subwidget. - -.. % Python Demo of: -.. % \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl} - - -.. class:: NoteBook() - - The `NoteBook - `_ - widget can be used to display many windows in a limited space using a notebook - metaphor. The notebook is divided into a stack of pages. At one time only one of - these pages can be shown. The user can navigate through these pages by choosing - the visual "tabs" at the top of the NoteBook widget. - -.. % Python Demo of: -.. % \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl} - -.. % \subsubsection{Scrolled Widgets} -.. % Python Demo of: -.. % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} -.. % Python Demo of: -.. % \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} - - -Image Types -^^^^^^^^^^^ - -The :mod:`Tix` module adds: - -* `pixmap `_ - capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images - from XPM files. - - .. % Python Demo of: - .. % \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl} - .. % Python Demo of: - .. % \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl} - -* `Compound - `_ image - types can be used to create images that consists of multiple horizontal lines; - each line is composed of a series of items (texts, bitmaps, images or spaces) - arranged from left to right. For example, a compound image can be used to - display a bitmap and a text string simultaneously in a Tk :class:`Button` - widget. - - .. % Python Demo of: - .. % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl} - .. % Python Demo of: - .. % \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl} - .. % Python Demo of: - .. % \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl} - .. % Python Demo of: - .. % \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl} - - -Miscellaneous Widgets -^^^^^^^^^^^^^^^^^^^^^ - - -.. class:: InputOnly() - - The `InputOnly - `_ - widgets are to accept inputs from the user, which can be done with the ``bind`` - command (Unix only). - - -Form Geometry Manager -^^^^^^^^^^^^^^^^^^^^^ - -In addition, :mod:`Tix` augments :mod:`Tkinter` by providing: - - -.. class:: Form() - - The `Form - `_ geometry - manager based on attachment rules for all Tk widgets. - -.. % begin{latexonly} -.. % \subsection{Tix Class Structure} -.. % -.. % \begin{figure}[hbtp] -.. % \centerline{\epsfig{file=hierarchy.png,width=.9\textwidth}} -.. % \vspace{.5cm} -.. % \caption{The Class Hierarchy of Tix Widgets} -.. % \end{figure} -.. % end{latexonly} - - -Tix Commands ------------- - - -.. class:: tixCommand() - - The `tix commands - `_ provide - access to miscellaneous elements of :mod:`Tix`'s internal state and the - :mod:`Tix` application context. Most of the information manipulated by these - methods pertains to the application as a whole, or to a screen or display, - rather than to a particular window. - - To view the current settings, the common usage is:: - - import Tix - root = Tix.Tk() - print root.tix_configure() - - -.. method:: tixCommand.tix_configure([cnf,] **kw) - - Query or modify the configuration options of the Tix application context. If no - option is specified, returns a dictionary all of the available options. If - option is specified with no value, then the method 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 method modifies the given option(s) to have the - given value(s); in this case the method returns an empty string. Option may be - any of the configuration options. - - -.. method:: tixCommand.tix_cget(option) - - Returns the current value of the configuration option given by *option*. Option - may be any of the configuration options. - - -.. method:: tixCommand.tix_getbitmap(name) - - Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap - directories (see the :meth:`tix_addbitmapdir` method). By using - :meth:`tix_getbitmap`, you can avoid 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. - - -.. method:: tixCommand.tix_addbitmapdir(directory) - - Tix maintains a list of directories under which the :meth:`tix_getimage` and - :meth:`tix_getbitmap` methods will search for image files. The standard bitmap - directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method - adds *directory* into this list. By using this method, the image files of an - applications can also be located using the :meth:`tix_getimage` or - :meth:`tix_getbitmap` method. - - -.. method:: tixCommand.tix_filedialog([dlgclass]) - - Returns the file selection dialog that may be shared among different calls from - this application. This method will create a file selection dialog widget when - it is called the first time. This dialog will be returned by all subsequent - calls to :meth:`tix_filedialog`. An optional dlgclass parameter can be passed - as a string to specified what type of file selection dialog widget is desired. - Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``. - - -.. method:: tixCommand.tix_getimage(self, name) - - Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or - :file:`name.ppm` in one of the bitmap directories (see the - :meth:`tix_addbitmapdir` method 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 :meth:`tix_getimage`, you can - avoid hard coding the pathnames of the image files in your application. When - successful, this method returns the name of the newly created image, which can - be used to configure the ``image`` option of the Tk and Tix widgets. - - -.. method:: tixCommand.tix_option_get(name) - - Gets the options maintained by the Tix scheme mechanism. - - -.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio]) - - 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 resetoptions method 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 Tix has been has - imported and inited, it is not possible to reset the color schemes and font sets - using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions` - method must be used. - - -:mod:`ScrolledText` --- Scrolled Text Widget -============================================ - -.. module:: ScrolledText - :platform: Tk - :synopsis: Text widget with a vertical scroll bar. -.. sectionauthor:: Fred L. Drake, Jr. - - -The :mod:`ScrolledText` module provides a class of the same name which -implements a basic text widget which has a vertical scroll bar configured to do -the "right thing." Using the :class:`ScrolledText` class is a lot easier than -setting up a text widget and scroll bar directly. The constructor is the same -as that of the :class:`Tkinter.Text` class. - -The text widget and scrollbar are packed together in a :class:`Frame`, and the -methods of the :class:`Grid` and :class:`Pack` geometry managers are acquired -from the :class:`Frame` object. This allows the :class:`ScrolledText` widget to -be used directly to achieve most normal geometry management behavior. - -Should more specific control be necessary, the following attributes are -available: - - -.. attribute:: ScrolledText.frame - - The frame which surrounds the text and scroll bar widgets. - - -.. attribute:: ScrolledText.vbar - - The scroll bar widget. - -XXX: input{libturtle} :XXX - -.. _idle: - -Idle -==== - -.. moduleauthor:: Guido van Rossum - - -.. % \declaremodule{standard}{idle} -.. % \modulesynopsis{A Python Integrated Development Environment} - -.. index:: - single: Idle - single: Python Editor - single: Integrated Development Environment - -Idle is the Python IDE built with the :mod:`Tkinter` GUI toolkit. - -IDLE has the following features: - -* coded in 100% pure Python, using the :mod:`Tkinter` GUI toolkit - -* cross-platform: works on Windows and Unix (on Mac OS, there are currently - problems with Tcl/Tk) - -* multi-window text editor with multiple undo, Python colorizing and many other - features, e.g. smart indent and call tips - -* Python shell window (a.k.a. interactive interpreter) - -* debugger (not complete, but you can set breakpoints, view and step) - - -Menus ------ - - -File menu -^^^^^^^^^ - -New window - create a new editing window - -Open... - open an existing file - -Open module... - open an existing module (searches sys.path) - -Class browser - show classes and methods in current file - -Path browser - show sys.path directories, modules, classes and methods - -.. index:: - single: Class browser - single: Path browser - -Save - save current window to the associated file (unsaved windows have a \* before and - after the window title) - -Save As... - save current window to new file, which becomes the associated file - -Save Copy As... - save current window to different file without changing the associated file - -Close - close current window (asks to save if unsaved) - -Exit - close all windows and quit IDLE (asks to save if unsaved) - - -Edit menu -^^^^^^^^^ - -Undo - Undo last change to current window (max 1000 changes) - -Redo - Redo last undone change to current window - -Cut - Copy selection into system-wide clipboard; then delete selection - -Copy - Copy selection into system-wide clipboard - -Paste - Insert system-wide clipboard into window - -Select All - Select the entire contents of the edit buffer - -Find... - Open a search dialog box with many options - -Find again - Repeat last search - -Find selection - Search for the string in the selection - -Find in Files... - Open a search dialog box for searching files - -Replace... - Open a search-and-replace dialog box - -Go to line - Ask for a line number and show that line - -Indent region - Shift selected lines right 4 spaces - -Dedent region - Shift selected lines left 4 spaces - -Comment out region - Insert ## in front of selected lines - -Uncomment region - Remove leading # or ## from selected lines - -Tabify region - Turns *leading* stretches of spaces into tabs - -Untabify region - Turn *all* tabs into the right number of spaces - -Expand word - Expand the word you have typed to match another word in the same buffer; repeat - to get a different expansion - -Format Paragraph - Reformat the current blank-line-separated paragraph - -Import module - Import or reload the current module - -Run script - Execute the current file in the __main__ namespace - -.. index:: - single: Import module - single: Run script - - -Windows menu -^^^^^^^^^^^^ - -Zoom Height - toggles the window between normal size (24x80) and maximum height. - -The rest of this menu lists the names of all open windows; select one to bring -it to the foreground (deiconifying it if necessary). - - -Debug menu (in the Python Shell window only) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Go to file/line - look around the insert point for a filename and linenumber, open the file, and - show the line. - -Open stack viewer - show the stack traceback of the last exception - -Debugger toggle - Run commands in the shell under the debugger - -JIT Stack viewer toggle - Open stack viewer on traceback - -.. index:: - single: stack viewer - single: debugger - - -Basic editing and navigation ----------------------------- - -* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right - -* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around - -* :kbd:`Home`/:kbd:`End` go to begin/end of line - -* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file - -* Some :program:`Emacs` bindings may also work, including :kbd:`C-B`, - :kbd:`C-P`, :kbd:`C-A`, :kbd:`C-E`, :kbd:`C-D`, :kbd:`C-L` - - -Automatic indentation -^^^^^^^^^^^^^^^^^^^^^ - -After a block-opening statement, the next line is indented by 4 spaces (in the -Python Shell window by one tab). After certain keywords (break, return etc.) -the next line is dedented. In leading indentation, :kbd:`Backspace` deletes up -to 4 spaces if they are there. :kbd:`Tab` inserts 1-4 spaces (in the Python -Shell window one tab). See also the indent/dedent region commands in the edit -menu. - - -Python Shell window -^^^^^^^^^^^^^^^^^^^ - -* :kbd:`C-C` interrupts executing command - -* :kbd:`C-D` sends end-of-file; closes window if typed at a ``>>>`` prompt - -* :kbd:`Alt-p` retrieves previous command matching what you have typed - -* :kbd:`Alt-n` retrieves next - -* :kbd:`Return` while on any previous command retrieves that command - -* :kbd:`Alt-/` (Expand word) is also useful here - -.. index:: single: indentation - - -Syntax colors -------------- - -The coloring is applied in a background "thread," so you may occasionally see -uncolorized text. To change the color scheme, edit the ``[Colors]`` section in -:file:`config.txt`. - -Python syntax colors: - Keywords - orange - - Strings - green - - Comments - red - - Definitions - blue - -Shell colors: - Console output - brown - - stdout - blue - - stderr - dark green - - stdin - black - - -Command line usage -^^^^^^^^^^^^^^^^^^ - -:: - - idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ... - - -c command run this command - -d enable debugger - -e edit mode; arguments are files to be edited - -s run $IDLESTARTUP or $PYTHONSTARTUP first - -t title set title of shell window - -If there are arguments: - -#. If :option:`-e` is used, arguments are files opened for editing and - ``sys.argv`` reflects the arguments passed to IDLE itself. - -#. Otherwise, if :option:`-c` is used, all arguments are placed in - ``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``. - -#. Otherwise, if neither :option:`-e` nor :option:`-c` is used, the first - argument is a script which is executed with the remaining arguments in - ``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script - name is '-', no script is executed but an interactive Python session is started; - the arguments are still available in ``sys.argv``. - - -.. _other-gui-packages: - -Other Graphical User Interface Packages -======================================= - -There are an number of extension widget sets to :mod:`Tkinter`. - - -.. seealso:: - - `Python megawidgets `_ - is a toolkit for building high-level compound widgets in Python using the - :mod:`Tkinter` module. It consists of a set of base classes and a library of - flexible and extensible megawidgets built on this foundation. These megawidgets - include notebooks, comboboxes, selection widgets, paned widgets, scrolled - widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT, the - busy, graph, stripchart, tabset and vector commands are be available. - - The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr - Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the - megawidgets are direct translations from the itcl to Python. It offers most of - the range of widgets that ``[incr Widgets]`` does, and is almost as complete as - Tix, lacking however Tix's fast :class:`HList` widget for drawing trees. - - `Tkinter3000 Widget Construction Kit (WCK) `_ - is a library that allows you to write new Tkinter widgets in pure Python. The - WCK framework gives you full control over widget creation, configuration, screen - appearance, and event handling. WCK widgets can be very fast and light-weight, - since they can operate directly on Python data structures, without having to - transfer data through the Tk/Tcl layer. - - .. % - -Other GUI packages are also available for Python: - - -.. seealso:: - - `wxPython `_ - wxPython is a cross-platform GUI toolkit for Python that is built around the - popular `wxWidgets `_ C++ toolkit.  It provides a - native look and feel for applications on Windows, Mac OS X, and Unix systems by - using each platform's native widgets where ever possible, (GTK+ on Unix-like - systems).  In addition to an extensive set of widgets, wxPython provides classes - for online documentation and context sensitive help, printing, HTML viewing, - low-level device context drawing, drag and drop, system clipboard access, an - XML-based resource format and more, including an ever growing library of user- - contributed modules.  Both the wxWidgets and wxPython projects are under active - development and continuous improvement, and have active and helpful user and - developer communities. - - `wxPython in Action `_ - The wxPython book, by Noel Rappin and Robin Dunn. - - PyQt - PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an - extensive C++ GUI toolkit that is available for Unix, Windows and Mac OS X. - :program:`sip` is a tool for generating bindings for C++ libraries as Python - classes, and is specifically designed for Python. An online manual is available - at http://www.opendocspublishing.com/pyqt/ (errata are located at - http://www.valdyas.org/python/book.html). - - `PyKDE `_ - PyKDE is a :program:`sip`\ -wrapped interface to the KDE desktop libraries. KDE - is a desktop environment for Unix computers; the graphical components are based - on Qt. - - `FXPy `_ - is a Python extension module which provides an interface to the `FOX - `_ GUI. FOX is a C++ based Toolkit for - developing Graphical User Interfaces easily and effectively. It offers a wide, - and growing, collection of Controls, and provides state of the art facilities - such as drag and drop, selection, as well as OpenGL widgets for 3D graphical - manipulation. FOX also implements icons, images, and user-convenience features - such as status line help, and tooltips. - - Even though FOX offers a large collection of controls already, FOX leverages C++ - to allow programmers to easily build additional Controls and GUI elements, - simply by taking existing controls, and creating a derived class which simply - adds or redefines the desired behavior. - - `PyGTK `_ - is a set of bindings for the `GTK `_ widget set. It - provides an object oriented interface that is slightly higher level than the C - one. It automatically does all the type casting and reference counting that you - would have to do normally with the C API. There are also `bindings - `_ to `GNOME `_, and - a `tutorial - `_ is - available. - -.. % XXX Reference URLs that compare the different UI packages - diff --git a/Doc-26/library/xml.dom.minidom.rst b/Doc-26/library/xml.dom.minidom.rst index 0cd99152d..d7a5e61c1 100644 --- a/Doc-26/library/xml.dom.minidom.rst +++ b/Doc-26/library/xml.dom.minidom.rst @@ -108,7 +108,7 @@ essentially useless. The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`. -.. _dom-objects: +.. _minidom-objects: DOM Objects ----------- diff --git a/Doc-26/reference/compound_stmts.rst b/Doc-26/reference/compound_stmts.rst index cb4a47815..87d9d68da 100644 --- a/Doc-26/reference/compound_stmts.rst +++ b/Doc-26/reference/compound_stmts.rst @@ -272,7 +272,7 @@ Before an except clause's suite is executed, details about the exception are assigned to three variables in the :mod:`sys` module: ``sys.exc_type`` receives the object identifying the exception; ``sys.exc_value`` receives the exception's parameter; ``sys.exc_traceback`` receives a traceback object (see section -:ref:`traceback`) identifying the point in the program where the exception +:ref:`types`) identifying the point in the program where the exception occurred. These details are also available through the :func:`sys.exc_info` function, which returns a tuple ``(exc_type, exc_value, exc_traceback)``. Use of the corresponding variables is deprecated in favor of this function, since diff --git a/Doc-26/reference/datamodel.rst b/Doc-26/reference/datamodel.rst index 7353f6d80..0ee4f9804 100644 --- a/Doc-26/reference/datamodel.rst +++ b/Doc-26/reference/datamodel.rst @@ -988,8 +988,6 @@ Internal types can implement a Jump command (aka Set Next Statement) by writing to f_lineno. Traceback objects - .. _traceback: - .. index:: object: traceback pair: stack; trace diff --git a/Doc-26/reference/simple_stmts.rst b/Doc-26/reference/simple_stmts.rst index ef31ac558..1b44d29ef 100644 --- a/Doc-26/reference/simple_stmts.rst +++ b/Doc-26/reference/simple_stmts.rst @@ -563,7 +563,7 @@ constructor is used as the exception value. .. index:: object: traceback If a third object is present and not ``None``, it must be a traceback object -(see section :ref:`traceback`), and it is substituted instead of the current +(see section :ref:`types`), and it is substituted instead of the current location as the place where the exception occurred. If the third object is present and not a traceback object or ``None``, a :exc:`TypeError` exception is raised. The three-expression form of :keyword:`raise` is useful to re-raise an diff --git a/Doc-3k/TODO b/Doc-3k/TODO index d032f3c8c..9f5603b1d 100644 --- a/Doc-3k/TODO +++ b/Doc-3k/TODO @@ -2,7 +2,6 @@ To do after conversion ====================== * fix all references and links marked with `XXX` -* fix all duplicate labels and undefined label references * split very large files and add toctrees * integrate standalone HOWTOs * find out which files get "comments disabled" metadata diff --git a/Doc-3k/c-api/concrete.rst b/Doc-3k/c-api/concrete.rst index 9db1f00c3..21b48db44 100644 --- a/Doc-3k/c-api/concrete.rst +++ b/Doc-3k/c-api/concrete.rst @@ -3051,7 +3051,7 @@ Slice Objects .. versionadded:: 2.3 -.. _weakref-objects: +.. _weakrefobjects: Weak Reference Objects ---------------------- @@ -3285,7 +3285,7 @@ than explicitly calling :cfunc:`PyGen_New`. *NULL*. -.. _datetime-objects: +.. _datetimeobjects: DateTime Objects ---------------- diff --git a/Doc-3k/c-api/intro.rst b/Doc-3k/c-api/intro.rst index 74ffa4b3c..6600ef39f 100644 --- a/Doc-3k/c-api/intro.rst +++ b/Doc-3k/c-api/intro.rst @@ -1,7 +1,7 @@ .. highlightlang:: c -.. _intro: +.. _api-intro: ************ Introduction @@ -30,7 +30,7 @@ familiar with writing an extension before attempting to embed Python in a real application. -.. _includes: +.. _api-includes: Include Files ============= @@ -80,7 +80,7 @@ header files do properly declare the entry points to be ``extern "C"``, so there is no need to do anything special to use the API from C++. -.. _objects: +.. _api-objects: Objects, Types and Reference Counts =================================== @@ -107,7 +107,7 @@ that type; for instance, ``PyList_Check(a)`` is true if (and only if) the object pointed to by *a* is a Python list. -.. _refcounts: +.. _api-refcounts: Reference Counts ---------------- @@ -170,7 +170,7 @@ This leaves the caller with the responsibility to call :cfunc:`Py_DECREF` when they are done with the result; this soon becomes second nature. -.. _refcountdetails: +.. _api-refcountdetails: Reference Count Details ^^^^^^^^^^^^^^^^^^^^^^^ @@ -335,7 +335,7 @@ using :cfunc:`PySequence_GetItem`. :: .. index:: single: sum_sequence() -.. _types: +.. _api-types: Types ----- @@ -349,7 +349,7 @@ of a complex number. These will be discussed together with the functions that use them. -.. _exceptions: +.. _api-exceptions: Exceptions ========== @@ -496,7 +496,7 @@ return value is initialized to ``-1`` (failure) and only set to success after the final call made is successful. -.. _embedding: +.. _api-embedding: Embedding Python ================ @@ -520,8 +520,6 @@ the table of loaded modules, and creates the fundamental modules :mod:`__builtin__`, :mod:`__main__`, :mod:`sys`, and :mod:`exceptions`. It also initializes the module search path (``sys.path``). -.. % - .. index:: single: PySys_SetArgv() :cfunc:`Py_Initialize` does not set the "script argument list" (``sys.argv``). @@ -574,7 +572,7 @@ does *not* free all memory allocated by the Python interpreter, e.g. memory allocated by extension modules currently cannot be released. -.. _debugging: +.. _api-debugging: Debugging Builds ================ diff --git a/Doc-3k/conf.py b/Doc-3k/conf.py index 711606668..62ef42130 100644 --- a/Doc-3k/conf.py +++ b/Doc-3k/conf.py @@ -34,6 +34,7 @@ unused_files = [ 'whatsnew/2.6.rst', 'maclib/scrap.rst', 'library/xmllib.rst', + 'library/xml.etree.rst', ] # If not '', a 'Last updated on:' timestamp is inserted at every page bottom, diff --git a/Doc-3k/distutils/apiref.rst b/Doc-3k/distutils/apiref.rst index d60ae9f4e..ad58ac1d5 100644 --- a/Doc-3k/distutils/apiref.rst +++ b/Doc-3k/distutils/apiref.rst @@ -1415,7 +1415,118 @@ platform-specific functions for launching another program in a sub-process. Also provides :func:`find_executable` to search the path for a given executable name. -XXX: input{sysconfig} :XXX + +:mod:`distutils.sysconfig` --- System configuration information +=============================================================== + +.. module:: distutils.sysconfig + :synopsis: Low-level access to configuration information of the Python interpreter. +.. moduleauthor:: Fred L. Drake, Jr. +.. moduleauthor:: Greg Ward +.. sectionauthor:: Fred L. Drake, Jr. + + +The :mod:`distutils.sysconfig` module provides access to Python's low-level +configuration information. The specific configuration variables available +depend heavily on the platform and configuration. The specific variables depend +on the build process for the specific version of Python being run; the variables +are those found in the :file:`Makefile` and configuration header that are +installed with Python on Unix systems. The configuration header is called +:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h` +for earlier versions of Python. + +Some additional functions are provided which perform some useful manipulations +for other parts of the :mod:`distutils` package. + + +.. data:: PREFIX + + The result of ``os.path.normpath(sys.prefix)``. + + +.. data:: EXEC_PREFIX + + The result of ``os.path.normpath(sys.exec_prefix)``. + + +.. function:: get_config_var(name) + + Return the value of a single variable. This is equivalent to + ``get_config_vars().get(name)``. + + +.. function:: get_config_vars(...) + + Return a set of variable definitions. If there are no arguments, this returns a + dictionary mapping names of configuration variables to values. If arguments are + provided, they should be strings, and the return value will be a sequence giving + the associated values. If a given name does not have a corresponding value, + ``None`` will be included for that variable. + + +.. function:: get_config_h_filename() + + Return the full path name of the configuration header. For Unix, this will be + the header generated by the :program:`configure` script; for other platforms the + header will have been supplied directly by the Python source distribution. The + file is a platform-specific text file. + + +.. function:: get_makefile_filename() + + Return the full path name of the :file:`Makefile` used to build Python. For + Unix, this will be a file generated by the :program:`configure` script; the + meaning for other platforms will vary. The file is a platform-specific text + file, if it exists. This function is only useful on POSIX platforms. + + +.. function:: get_python_inc([plat_specific[, prefix]]) + + Return the directory for either the general or platform-dependent C include + files. If *plat_specific* is true, the platform-dependent include directory is + returned; if false or omitted, the platform-independent directory is returned. + If *prefix* is given, it is used as either the prefix instead of + :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if + *plat_specific* is true. + + +.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]]) + + Return the directory for either the general or platform-dependent library + installation. If *plat_specific* is true, the platform-dependent include + directory is returned; if false or omitted, the platform-independent directory + is returned. If *prefix* is given, it is used as either the prefix instead of + :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if + *plat_specific* is true. If *standard_lib* is true, the directory for the + standard library is returned rather than the directory for the installation of + third-party extensions. + +The following function is only intended for use within the :mod:`distutils` +package. + + +.. function:: customize_compiler(compiler) + + Do any platform-specific customization of a + :class:`distutils.ccompiler.CCompiler` instance. + + This function is only needed on Unix at this time, but should be called + consistently to support forward-compatibility. It inserts the information that + varies across Unix flavors and is stored in Python's :file:`Makefile`. This + information includes the selected compiler, compiler and linker options, and the + extension used by the linker for shared objects. + +This function is even more special-purpose, and should only be used from +Python's own build procedures. + + +.. function:: set_python_build() + + Inform the :mod:`distutils.sysconfig` module that it is being used as part of + the build process for Python. This changes a lot of relative locations for + files, allowing them to be located in the build area rather than in an installed + Python. + :mod:`distutils.text_file` --- The TextFile class ================================================= @@ -1870,20 +1981,3 @@ that command is always applicable. *sub_commands* is usually defined at the \*end\* of a class, because predicates can be unbound methods, so they must already have been defined. The canonical example is the :command:`install` command. - -.. % -.. % The ugly "%begin{latexonly}" pseudo-environments are really just to -.. % keep LaTeX2HTML quiet during the \renewcommand{} macros; they're -.. % not really valuable. -.. % -.. % begin{latexonly} -.. % end{latexonly} - -XXX: input{moddist.ind} :XXX -.. % Module Index -.. % begin{latexonly} -.. % end{latexonly} - -XXX: input{dist.ind} :XXX -.. % Index - diff --git a/Doc-3k/distutils/introduction.rst b/Doc-3k/distutils/introduction.rst index 35053fe14..4253ab7d8 100644 --- a/Doc-3k/distutils/introduction.rst +++ b/Doc-3k/distutils/introduction.rst @@ -1,4 +1,4 @@ -.. _intro: +.. _distutils-intro: **************************** An Introduction to Distutils @@ -10,7 +10,7 @@ information on installing Python modules, you should refer to the Installing Python Modules (XXX reference: ../inst/inst.html) manual. -.. _concepts: +.. _distutils-concepts: Concepts & Terminology ====================== @@ -41,7 +41,7 @@ their platform, without having to run a single setup script or compile a line of code. -.. _simple-example: +.. _distutils-simple-example: A Simple Example ================ diff --git a/Doc-3k/distutils/setupscript.rst b/Doc-3k/distutils/setupscript.rst index 495142f76..26f50e6cd 100644 --- a/Doc-3k/distutils/setupscript.rst +++ b/Doc-3k/distutils/setupscript.rst @@ -8,7 +8,7 @@ The setup script is the centre of all activity in building, distributing, and installing modules using the Distutils. The main purpose of the setup script is to describe your module distribution to the Distutils, so that the various commands that operate on your modules do the right thing. As we saw in section -:ref:`simple-example` above, the setup script consists mainly of a call to +:ref:`distutils-simple-example` above, the setup script consists mainly of a call to :func:`setup`, and most information supplied to the Distutils by the module developer is supplied as keyword arguments to :func:`setup`. @@ -33,7 +33,7 @@ the package into Python 1.5.2.) :: ) There are only two differences between this and the trivial one-file -distribution presented in section :ref:`simple-example`: more metadata, and the +distribution presented in section :ref:`distutils-simple-example`: more metadata, and the specification of pure Python modules by package, rather than by module. This is important since the Distutils consist of a couple of dozen modules split into (so far) two packages; an explicit list of every module would be tedious to @@ -114,7 +114,7 @@ Listing individual modules For a small module distribution, you might prefer to list all modules rather than listing packages---especially the case of a single module that goes in the "root package" (i.e., no package at all). This simplest case was shown in -section :ref:`simple-example`; here is a slightly more involved example:: +section :ref:`distutils-simple-example`; here is a slightly more involved example:: py_modules = ['mod1', 'pkg.mod2'] diff --git a/Doc-3k/distutils/sourcedist.rst b/Doc-3k/distutils/sourcedist.rst index f02258418..9f15870cc 100644 --- a/Doc-3k/distutils/sourcedist.rst +++ b/Doc-3k/distutils/sourcedist.rst @@ -4,7 +4,7 @@ Creating a Source Distribution ****************************** -As shown in section :ref:`simple-example`, you use the :command:`sdist` command +As shown in section :ref:`distutils-simple-example`, you use the :command:`sdist` command to create a source distribution. In the simplest case, :: python setup.py sdist diff --git a/Doc-3k/distutils/sysconfig.rst b/Doc-3k/distutils/sysconfig.rst deleted file mode 100644 index 8217f5c39..000000000 --- a/Doc-3k/distutils/sysconfig.rst +++ /dev/null @@ -1,112 +0,0 @@ - -:mod:`distutils.sysconfig` --- System configuration information -=============================================================== - -.. module:: distutils.sysconfig - :synopsis: Low-level access to configuration information of the Python interpreter. -.. moduleauthor:: Fred L. Drake, Jr. -.. moduleauthor:: Greg Ward -.. sectionauthor:: Fred L. Drake, Jr. - - -The :mod:`distutils.sysconfig` module provides access to Python's low-level -configuration information. The specific configuration variables available -depend heavily on the platform and configuration. The specific variables depend -on the build process for the specific version of Python being run; the variables -are those found in the :file:`Makefile` and configuration header that are -installed with Python on Unix systems. The configuration header is called -:file:`pyconfig.h` for Python versions starting with 2.2, and :file:`config.h` -for earlier versions of Python. - -Some additional functions are provided which perform some useful manipulations -for other parts of the :mod:`distutils` package. - - -.. data:: PREFIX - - The result of ``os.path.normpath(sys.prefix)``. - - -.. data:: EXEC_PREFIX - - The result of ``os.path.normpath(sys.exec_prefix)``. - - -.. function:: get_config_var(name) - - Return the value of a single variable. This is equivalent to - ``get_config_vars().get(name)``. - - -.. function:: get_config_vars(...) - - Return a set of variable definitions. If there are no arguments, this returns a - dictionary mapping names of configuration variables to values. If arguments are - provided, they should be strings, and the return value will be a sequence giving - the associated values. If a given name does not have a corresponding value, - ``None`` will be included for that variable. - - -.. function:: get_config_h_filename() - - Return the full path name of the configuration header. For Unix, this will be - the header generated by the :program:`configure` script; for other platforms the - header will have been supplied directly by the Python source distribution. The - file is a platform-specific text file. - - -.. function:: get_makefile_filename() - - Return the full path name of the :file:`Makefile` used to build Python. For - Unix, this will be a file generated by the :program:`configure` script; the - meaning for other platforms will vary. The file is a platform-specific text - file, if it exists. This function is only useful on POSIX platforms. - - -.. function:: get_python_inc([plat_specific[, prefix]]) - - Return the directory for either the general or platform-dependent C include - files. If *plat_specific* is true, the platform-dependent include directory is - returned; if false or omitted, the platform-independent directory is returned. - If *prefix* is given, it is used as either the prefix instead of - :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if - *plat_specific* is true. - - -.. function:: get_python_lib([plat_specific[, standard_lib[, prefix]]]) - - Return the directory for either the general or platform-dependent library - installation. If *plat_specific* is true, the platform-dependent include - directory is returned; if false or omitted, the platform-independent directory - is returned. If *prefix* is given, it is used as either the prefix instead of - :const:`PREFIX`, or as the exec-prefix instead of :const:`EXEC_PREFIX` if - *plat_specific* is true. If *standard_lib* is true, the directory for the - standard library is returned rather than the directory for the installation of - third-party extensions. - -The following function is only intended for use within the :mod:`distutils` -package. - - -.. function:: customize_compiler(compiler) - - Do any platform-specific customization of a - :class:`distutils.ccompiler.CCompiler` instance. - - This function is only needed on Unix at this time, but should be called - consistently to support forward-compatibility. It inserts the information that - varies across Unix flavors and is stored in Python's :file:`Makefile`. This - information includes the selected compiler, compiler and linker options, and the - extension used by the linker for shared objects. - -This function is even more special-purpose, and should only be used from -Python's own build procedures. - - -.. function:: set_python_build() - - Inform the :mod:`distutils.sysconfig` module that it is being used as part of - the build process for Python. This changes a lot of relative locations for - files, allowing them to be located in the build area rather than in an installed - Python. - diff --git a/Doc-3k/extending/extending.rst b/Doc-3k/extending/extending.rst index 56112d288..16873cabd 100644 --- a/Doc-3k/extending/extending.rst +++ b/Doc-3k/extending/extending.rst @@ -1,7 +1,7 @@ .. highlightlang:: c -.. _intro: +.. _extending-intro: ****************************** Extending Python with C or C++ @@ -21,7 +21,7 @@ The compilation of an extension module depends on its intended use as well as on your system setup; details are given in later chapters. -.. _simpleexample: +.. _extending-simpleexample: A Simple Example ================ @@ -103,7 +103,7 @@ latter case it also raises an appropriate exception so the calling function can return *NULL* immediately (as we saw in the example). -.. _errors: +.. _extending-errors: Intermezzo: Errors and Exceptions ================================= @@ -1107,8 +1107,8 @@ the module and retrieving its C API pointers; client modules only have to call this macro before accessing the C API. The exporting module is a modification of the :mod:`spam` module from section -:ref:`simpleexample`. The function :func:`spam.system` does not call the C -library function :cfunc:`system` directly, but a function +:ref:`extending-simpleexample`. The function :func:`spam.system` does not call +the C library function :cfunc:`system` directly, but a function :cfunc:`PySpam_System`, which would of course do something more complicated in reality (such as adding "spam" to every command). This function :cfunc:`PySpam_System` is also exported to other extension modules. diff --git a/Doc-3k/extending/index.rst b/Doc-3k/extending/index.rst index 13332dccb..6e8cf7906 100644 --- a/Doc-3k/extending/index.rst +++ b/Doc-3k/extending/index.rst @@ -17,7 +17,7 @@ operating system supports this feature. This document assumes basic knowledge about Python. For an informal introduction to the language, see :ref:`tutorial-index`. :ref:`reference-index` -gives a more formal definition of the language. :ref:`modules-index` documents +gives a more formal definition of the language. :ref:`library-index` documents the existing object types, functions and modules (both built-in and written in Python) that give the language its wide application range. diff --git a/Doc-3k/library/asttable.rst b/Doc-3k/library/asttable.rst deleted file mode 100644 index 3d2bf614f..000000000 --- a/Doc-3k/library/asttable.rst +++ /dev/null @@ -1,288 +0,0 @@ -+-----------------------+--------------------+---------------------------------+ -| Node type | Attribute | Value | -+=======================+====================+=================================+ -| :class:`Add` | :attr:`left` | left operand | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | right operand | -+-----------------------+--------------------+---------------------------------+ -| :class:`And` | :attr:`nodes` | list of operands | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssAttr` | | *attribute as target of | -| | | assignment* | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | expression on the left-hand | -| | | side of the dot | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`attrname` | the attribute name, a string | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | XXX | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssList` | :attr:`nodes` | list of list elements being | -| | | assigned to | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssName` | :attr:`name` | name being assigned to | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | XXX | -+-----------------------+--------------------+---------------------------------+ -| :class:`AssTuple` | :attr:`nodes` | list of tuple elements being | -| | | assigned to | -+-----------------------+--------------------+---------------------------------+ -| :class:`Assert` | :attr:`test` | the expression to be tested | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`fail` | the value of the | -| | | :exc:`AssertionError` | -+-----------------------+--------------------+---------------------------------+ -| :class:`Assign` | :attr:`nodes` | a list of assignment targets, | -| | | one per equal sign | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | the value being assigned | -+-----------------------+--------------------+---------------------------------+ -| :class:`AugAssign` | :attr:`node` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`op` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Bitand` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Bitor` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Bitxor` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Break` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`CallFunc` | :attr:`node` | expression for the callee | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`args` | a list of arguments | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`star_args` | the extended \*-arg value | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`dstar_args` | the extended \*\*-arg value | -+-----------------------+--------------------+---------------------------------+ -| :class:`Class` | :attr:`name` | the name of the class, a string | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`bases` | a list of base classes | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`doc` | doc string, a string or | -| | | ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`code` | the body of the class statement | -+-----------------------+--------------------+---------------------------------+ -| :class:`Compare` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`ops` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Const` | :attr:`value` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Continue` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Decorators` | :attr:`nodes` | List of function decorator | -| | | expressions | -+-----------------------+--------------------+---------------------------------+ -| :class:`Dict` | :attr:`items` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Discard` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Div` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Ellipsis` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Expression` | :attr:`node` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Exec` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`locals` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`globals` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`FloorDiv` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`For` | :attr:`assign` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`list` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`From` | :attr:`modname` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`names` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Function` | :attr:`decorators` | :class:`Decorators` or ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`name` | name used in def, a string | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`argnames` | list of argument names, as | -| | | strings | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`defaults` | list of default values | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | xxx | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`doc` | doc string, a string or | -| | | ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`code` | the body of the function | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExpr` | :attr:`code` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExprFor` | :attr:`assign` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`iter` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`ifs` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExprIf` | :attr:`test` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`GenExprInner` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`quals` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Getattr` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`attrname` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Global` | :attr:`names` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`If` | :attr:`tests` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Import` | :attr:`names` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Invert` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Keyword` | :attr:`name` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Lambda` | :attr:`argnames` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`defaults` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`code` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`LeftShift` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`List` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`ListComp` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`quals` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`ListCompFor` | :attr:`assign` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`list` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`ifs` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`ListCompIf` | :attr:`test` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Mod` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Module` | :attr:`doc` | doc string, a string or | -| | | ``None`` | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`node` | body of the module, a | -| | | :class:`Stmt` | -+-----------------------+--------------------+---------------------------------+ -| :class:`Mul` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Name` | :attr:`name` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Not` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Or` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Pass` | | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Power` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Print` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`dest` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Printnl` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`dest` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Raise` | :attr:`expr1` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr2` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`expr3` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Return` | :attr:`value` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`RightShift` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Slice` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`lower` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`upper` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Sliceobj` | :attr:`nodes` | list of statements | -+-----------------------+--------------------+---------------------------------+ -| :class:`Stmt` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Sub` | :attr:`left` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`right` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Subscript` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`flags` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`subs` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`TryExcept` | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`handlers` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`TryFinally` | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`final` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Tuple` | :attr:`nodes` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`UnaryAdd` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`UnarySub` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`While` | :attr:`test` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`else_` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`With` | :attr:`expr` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`vars` | | -+-----------------------+--------------------+---------------------------------+ -| | :attr:`body` | | -+-----------------------+--------------------+---------------------------------+ -| :class:`Yield` | :attr:`value` | | -+-----------------------+--------------------+---------------------------------+ - diff --git a/Doc-3k/library/contextlib.rst b/Doc-3k/library/contextlib.rst index 3ff355593..5cdf7c669 100644 --- a/Doc-3k/library/contextlib.rst +++ b/Doc-3k/library/contextlib.rst @@ -82,8 +82,6 @@ Functions provided: :meth:`__exit__` methods should avoid raising exceptions, and in particular they should not re-raise a passed-in exception. -.. _context-closing: - .. function:: closing(thing) diff --git a/Doc-3k/library/cookielib.rst b/Doc-3k/library/cookielib.rst index 828fa1191..40c3f6d0f 100644 --- a/Doc-3k/library/cookielib.rst +++ b/Doc-3k/library/cookielib.rst @@ -32,9 +32,8 @@ introduced with RFC 2965. :mailheader:`Set-Cookie2` headers (eg. ``domain`` and ``expires``) are conventionally referred to as :dfn:`attributes`. To distinguish them from Python attributes, the documentation for this module uses the term - :dfn:`cookie-attribute` instead + :dfn:`cookie-attribute` instead. -. The module defines the following exception: @@ -47,9 +46,8 @@ The module defines the following exception: .. note:: For backwards-compatibility with Python 2.4 (which raised an :exc:`IOError`), - :exc:`LoadError` is a subclass of :exc:`IOError` + :exc:`LoadError` is a subclass of :exc:`IOError`. - . The following classes are provided: @@ -601,7 +599,7 @@ combinations of the above flags: Equivalent to ``DomainStrictNoDots|DomainStrictNonDomain``. -.. _cookie-objects: +.. _cookielib-cookie-objects: Cookie Objects -------------- diff --git a/Doc-3k/library/idle.rst b/Doc-3k/library/idle.rst new file mode 100644 index 000000000..44b59e9f8 --- /dev/null +++ b/Doc-3k/library/idle.rst @@ -0,0 +1,288 @@ +.. _idle: + +Idle +==== + +.. moduleauthor:: Guido van Rossum + + +.. % \declaremodule{standard}{idle} +.. % \modulesynopsis{A Python Integrated Development Environment} + +.. index:: + single: Idle + single: Python Editor + single: Integrated Development Environment + +Idle is the Python IDE built with the :mod:`Tkinter` GUI toolkit. + +IDLE has the following features: + +* coded in 100% pure Python, using the :mod:`Tkinter` GUI toolkit + +* cross-platform: works on Windows and Unix (on Mac OS, there are currently + problems with Tcl/Tk) + +* multi-window text editor with multiple undo, Python colorizing and many other + features, e.g. smart indent and call tips + +* Python shell window (a.k.a. interactive interpreter) + +* debugger (not complete, but you can set breakpoints, view and step) + + +Menus +----- + + +File menu +^^^^^^^^^ + +New window + create a new editing window + +Open... + open an existing file + +Open module... + open an existing module (searches sys.path) + +Class browser + show classes and methods in current file + +Path browser + show sys.path directories, modules, classes and methods + +.. index:: + single: Class browser + single: Path browser + +Save + save current window to the associated file (unsaved windows have a \* before and + after the window title) + +Save As... + save current window to new file, which becomes the associated file + +Save Copy As... + save current window to different file without changing the associated file + +Close + close current window (asks to save if unsaved) + +Exit + close all windows and quit IDLE (asks to save if unsaved) + + +Edit menu +^^^^^^^^^ + +Undo + Undo last change to current window (max 1000 changes) + +Redo + Redo last undone change to current window + +Cut + Copy selection into system-wide clipboard; then delete selection + +Copy + Copy selection into system-wide clipboard + +Paste + Insert system-wide clipboard into window + +Select All + Select the entire contents of the edit buffer + +Find... + Open a search dialog box with many options + +Find again + Repeat last search + +Find selection + Search for the string in the selection + +Find in Files... + Open a search dialog box for searching files + +Replace... + Open a search-and-replace dialog box + +Go to line + Ask for a line number and show that line + +Indent region + Shift selected lines right 4 spaces + +Dedent region + Shift selected lines left 4 spaces + +Comment out region + Insert ## in front of selected lines + +Uncomment region + Remove leading # or ## from selected lines + +Tabify region + Turns *leading* stretches of spaces into tabs + +Untabify region + Turn *all* tabs into the right number of spaces + +Expand word + Expand the word you have typed to match another word in the same buffer; repeat + to get a different expansion + +Format Paragraph + Reformat the current blank-line-separated paragraph + +Import module + Import or reload the current module + +Run script + Execute the current file in the __main__ namespace + +.. index:: + single: Import module + single: Run script + + +Windows menu +^^^^^^^^^^^^ + +Zoom Height + toggles the window between normal size (24x80) and maximum height. + +The rest of this menu lists the names of all open windows; select one to bring +it to the foreground (deiconifying it if necessary). + + +Debug menu (in the Python Shell window only) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Go to file/line + look around the insert point for a filename and linenumber, open the file, and + show the line. + +Open stack viewer + show the stack traceback of the last exception + +Debugger toggle + Run commands in the shell under the debugger + +JIT Stack viewer toggle + Open stack viewer on traceback + +.. index:: + single: stack viewer + single: debugger + + +Basic editing and navigation +---------------------------- + +* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right + +* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around + +* :kbd:`Home`/:kbd:`End` go to begin/end of line + +* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file + +* Some :program:`Emacs` bindings may also work, including :kbd:`C-B`, + :kbd:`C-P`, :kbd:`C-A`, :kbd:`C-E`, :kbd:`C-D`, :kbd:`C-L` + + +Automatic indentation +^^^^^^^^^^^^^^^^^^^^^ + +After a block-opening statement, the next line is indented by 4 spaces (in the +Python Shell window by one tab). After certain keywords (break, return etc.) +the next line is dedented. In leading indentation, :kbd:`Backspace` deletes up +to 4 spaces if they are there. :kbd:`Tab` inserts 1-4 spaces (in the Python +Shell window one tab). See also the indent/dedent region commands in the edit +menu. + + +Python Shell window +^^^^^^^^^^^^^^^^^^^ + +* :kbd:`C-C` interrupts executing command + +* :kbd:`C-D` sends end-of-file; closes window if typed at a ``>>>`` prompt + +* :kbd:`Alt-p` retrieves previous command matching what you have typed + +* :kbd:`Alt-n` retrieves next + +* :kbd:`Return` while on any previous command retrieves that command + +* :kbd:`Alt-/` (Expand word) is also useful here + +.. index:: single: indentation + + +Syntax colors +------------- + +The coloring is applied in a background "thread," so you may occasionally see +uncolorized text. To change the color scheme, edit the ``[Colors]`` section in +:file:`config.txt`. + +Python syntax colors: + Keywords + orange + + Strings + green + + Comments + red + + Definitions + blue + +Shell colors: + Console output + brown + + stdout + blue + + stderr + dark green + + stdin + black + + +Command line usage +^^^^^^^^^^^^^^^^^^ + +:: + + idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ... + + -c command run this command + -d enable debugger + -e edit mode; arguments are files to be edited + -s run $IDLESTARTUP or $PYTHONSTARTUP first + -t title set title of shell window + +If there are arguments: + +#. If :option:`-e` is used, arguments are files opened for editing and + ``sys.argv`` reflects the arguments passed to IDLE itself. + +#. Otherwise, if :option:`-c` is used, all arguments are placed in + ``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``. + +#. Otherwise, if neither :option:`-e` nor :option:`-c` is used, the first + argument is a script which is executed with the remaining arguments in + ``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script + name is '-', no script is executed but an interactive Python session is started; + the arguments are still available in ``sys.argv``. + + diff --git a/Doc-3k/library/index.rst b/Doc-3k/library/index.rst index b1aa035f7..c874dfff5 100644 --- a/Doc-3k/library/index.rst +++ b/Doc-3k/library/index.rst @@ -51,7 +51,7 @@ documented in the Reference Manual. ipc.rst internet.rst mm.rst - tkinter.rst + tk.rst i18n.rst frameworks.rst development.rst diff --git a/Doc-3k/library/intro.rst b/Doc-3k/library/intro.rst index 4d7ed8318..33bdefd72 100644 --- a/Doc-3k/library/intro.rst +++ b/Doc-3k/library/intro.rst @@ -1,5 +1,5 @@ -.. _intro: +.. _library-intro: ************ Introduction diff --git a/Doc-3k/library/othergui.rst b/Doc-3k/library/othergui.rst new file mode 100644 index 000000000..14ad7e17c --- /dev/null +++ b/Doc-3k/library/othergui.rst @@ -0,0 +1,93 @@ +.. _other-gui-packages: + +Other Graphical User Interface Packages +======================================= + +There are an number of extension widget sets to :mod:`Tkinter`. + + +.. seealso:: + + `Python megawidgets `_ + is a toolkit for building high-level compound widgets in Python using the + :mod:`Tkinter` module. It consists of a set of base classes and a library of + flexible and extensible megawidgets built on this foundation. These megawidgets + include notebooks, comboboxes, selection widgets, paned widgets, scrolled + widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT, the + busy, graph, stripchart, tabset and vector commands are be available. + + The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr + Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the + megawidgets are direct translations from the itcl to Python. It offers most of + the range of widgets that ``[incr Widgets]`` does, and is almost as complete as + Tix, lacking however Tix's fast :class:`HList` widget for drawing trees. + + `Tkinter3000 Widget Construction Kit (WCK) `_ + is a library that allows you to write new Tkinter widgets in pure Python. The + WCK framework gives you full control over widget creation, configuration, screen + appearance, and event handling. WCK widgets can be very fast and light-weight, + since they can operate directly on Python data structures, without having to + transfer data through the Tk/Tcl layer. + + .. % + +Other GUI packages are also available for Python: + + +.. seealso:: + + `wxPython `_ + wxPython is a cross-platform GUI toolkit for Python that is built around the + popular `wxWidgets `_ C++ toolkit.  It provides a + native look and feel for applications on Windows, Mac OS X, and Unix systems by + using each platform's native widgets where ever possible, (GTK+ on Unix-like + systems).  In addition to an extensive set of widgets, wxPython provides classes + for online documentation and context sensitive help, printing, HTML viewing, + low-level device context drawing, drag and drop, system clipboard access, an + XML-based resource format and more, including an ever growing library of user- + contributed modules.  Both the wxWidgets and wxPython projects are under active + development and continuous improvement, and have active and helpful user and + developer communities. + + `wxPython in Action `_ + The wxPython book, by Noel Rappin and Robin Dunn. + + PyQt + PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an + extensive C++ GUI toolkit that is available for Unix, Windows and Mac OS X. + :program:`sip` is a tool for generating bindings for C++ libraries as Python + classes, and is specifically designed for Python. An online manual is available + at http://www.opendocspublishing.com/pyqt/ (errata are located at + http://www.valdyas.org/python/book.html). + + `PyKDE `_ + PyKDE is a :program:`sip`\ -wrapped interface to the KDE desktop libraries. KDE + is a desktop environment for Unix computers; the graphical components are based + on Qt. + + `FXPy `_ + is a Python extension module which provides an interface to the `FOX + `_ GUI. FOX is a C++ based Toolkit for + developing Graphical User Interfaces easily and effectively. It offers a wide, + and growing, collection of Controls, and provides state of the art facilities + such as drag and drop, selection, as well as OpenGL widgets for 3D graphical + manipulation. FOX also implements icons, images, and user-convenience features + such as status line help, and tooltips. + + Even though FOX offers a large collection of controls already, FOX leverages C++ + to allow programmers to easily build additional Controls and GUI elements, + simply by taking existing controls, and creating a derived class which simply + adds or redefines the desired behavior. + + `PyGTK `_ + is a set of bindings for the `GTK `_ widget set. It + provides an object oriented interface that is slightly higher level than the C + one. It automatically does all the type casting and reference counting that you + would have to do normally with the C API. There are also `bindings + `_ to `GNOME `_, and + a `tutorial + `_ is + available. + +.. % XXX Reference URLs that compare the different UI packages + diff --git a/Doc-3k/library/scrolledtext.rst b/Doc-3k/library/scrolledtext.rst new file mode 100644 index 000000000..85456b98f --- /dev/null +++ b/Doc-3k/library/scrolledtext.rst @@ -0,0 +1,32 @@ +:mod:`ScrolledText` --- Scrolled Text Widget +============================================ + +.. module:: ScrolledText + :platform: Tk + :synopsis: Text widget with a vertical scroll bar. +.. sectionauthor:: Fred L. Drake, Jr. + + +The :mod:`ScrolledText` module provides a class of the same name which +implements a basic text widget which has a vertical scroll bar configured to do +the "right thing." Using the :class:`ScrolledText` class is a lot easier than +setting up a text widget and scroll bar directly. The constructor is the same +as that of the :class:`Tkinter.Text` class. + +The text widget and scrollbar are packed together in a :class:`Frame`, and the +methods of the :class:`Grid` and :class:`Pack` geometry managers are acquired +from the :class:`Frame` object. This allows the :class:`ScrolledText` widget to +be used directly to achieve most normal geometry management behavior. + +Should more specific control be necessary, the following attributes are +available: + + +.. attribute:: ScrolledText.frame + + The frame which surrounds the text and scroll bar widgets. + + +.. attribute:: ScrolledText.vbar + + The scroll bar widget. diff --git a/Doc-3k/library/sqlite3.rst b/Doc-3k/library/sqlite3.rst index 29d673ae1..4fdaee07d 100644 --- a/Doc-3k/library/sqlite3.rst +++ b/Doc-3k/library/sqlite3.rst @@ -148,9 +148,8 @@ Module functions and constants for the lock to go away until raising an exception. The default for the timeout parameter is 5.0 (five seconds). - For the *isolation_level* parameter, please see the :attr:`isolation_level` - property of :class:`Connection` objects in section - :ref:`sqlite3-connection-isolationlevel`. + For the *isolation_level* parameter, please see the + :attr:`Connection.isolation_level` property of :class:`Connection` objects. SQLite natively supports only the types TEXT, INTEGER, FLOAT, BLOB and NULL. If you want to use other types you must add support for them yourself. The @@ -221,9 +220,6 @@ Connection Objects A :class:`Connection` instance has the following attributes and methods: -.. _sqlite3-connection-isolationlevel: - - .. attribute:: Connection.isolation_level Get or set the current isolation level. None for autocommit mode or one of diff --git a/Doc-3k/library/stdtypes.rst b/Doc-3k/library/stdtypes.rst index bdc0f14d2..29f727c2d 100644 --- a/Doc-3k/library/stdtypes.rst +++ b/Doc-3k/library/stdtypes.rst @@ -1,5 +1,5 @@ -.. _types: +.. _bltin-types: ************** Built-in Types @@ -120,7 +120,7 @@ Notes: interpreted as ``not (a == b)``, and ``a == not b`` is a syntax error. -.. _comparisons: +.. _stdcomparisons: Comparisons =========== @@ -1764,9 +1764,8 @@ Files have the following methods: Not all "file-like" types in Python support use as a context manager for the :keyword:`with` statement. If your code is intended to work with any file-like - object, you can use the :func:`closing` function in the :mod:`contextlib` module - instead of using the object directly. See section :ref:`context-closing` for - details. + object, you can use the function :func:`contextlib.closing` instead of using + the object directly. .. method:: file.flush() diff --git a/Doc-3k/library/strings.rst b/Doc-3k/library/strings.rst index decf90485..3a96e569a 100644 --- a/Doc-3k/library/strings.rst +++ b/Doc-3k/library/strings.rst @@ -1,5 +1,5 @@ -.. _strings: +.. _stringservices: *************** String Services diff --git a/Doc-3k/library/tarfile.rst b/Doc-3k/library/tarfile.rst index f2cd8add9..a0cd67329 100644 --- a/Doc-3k/library/tarfile.rst +++ b/Doc-3k/library/tarfile.rst @@ -1,3 +1,4 @@ +.. _tarfile-mod: :mod:`tarfile` --- Read and write tar archive files =================================================== @@ -286,7 +287,7 @@ object, see :ref:`tarinfo-objects` for details. .. method:: TarFile.open(...) Alternative constructor. The :func:`open` function on module level is actually a - shortcut to this classmethod. See section :ref:`module-tarfile` for details. + shortcut to this classmethod. See section :ref:`tarfile-mod` for details. .. method:: TarFile.getmember(name) diff --git a/Doc-3k/library/tix.rst b/Doc-3k/library/tix.rst new file mode 100644 index 000000000..9137e932f --- /dev/null +++ b/Doc-3k/library/tix.rst @@ -0,0 +1,602 @@ +:mod:`Tix` --- Extension widgets for Tk +======================================= + +.. module:: Tix + :synopsis: Tk Extension Widgets for Tkinter +.. sectionauthor:: Mike Clarkson + + +.. index:: single: Tix + +The :mod:`Tix` (Tk Interface Extension) module provides an additional rich set +of widgets. Although the standard Tk library has many useful widgets, they are +far from complete. The :mod:`Tix` library provides most of the commonly needed +widgets that are missing from standard Tk: :class:`HList`, :class:`ComboBox`, +:class:`Control` (a.k.a. SpinBox) and an assortment of scrollable widgets. +:mod:`Tix` also includes many more widgets that are generally useful in a wide +range of applications: :class:`NoteBook`, :class:`FileEntry`, +:class:`PanedWindow`, etc; there are more than 40 of them. + +With all these new widgets, you can introduce new interaction techniques into +applications, creating more useful and more intuitive user interfaces. You can +design your application by choosing the most appropriate widgets to match the +special needs of your application and users. + + +.. seealso:: + + `Tix Homepage `_ + The home page for :mod:`Tix`. This includes links to additional documentation + and downloads. + + `Tix Man Pages `_ + On-line version of the man pages and reference material. + + `Tix Programming Guide `_ + On-line version of the programmer's reference material. + + `Tix Development Applications `_ + Tix applications for development of Tix and Tkinter programs. Tide applications + work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to + remotely modify and debug Tix/Tk/Tkinter applications. + + +Using Tix +--------- + + +.. class:: Tix(screenName[, baseName[, className]]) + + Toplevel widget of Tix which represents mostly the main window of an + application. It has an associated Tcl interpreter. + + Classes in the :mod:`Tix` module subclasses the classes in the :mod:`Tkinter` + module. The former imports the latter, so to use :mod:`Tix` with Tkinter, all + you need to do is to import one module. In general, you can just import + :mod:`Tix`, and replace the toplevel call to :class:`Tkinter.Tk` with + :class:`Tix.Tk`:: + + import Tix + from Tkconstants import * + root = Tix.Tk() + +To use :mod:`Tix`, you must have the :mod:`Tix` widgets installed, usually +alongside your installation of the Tk widgets. To test your installation, try +the following:: + + import Tix + root = Tix.Tk() + root.tk.eval('package require Tix') + +If this fails, you have a Tk installation problem which must be resolved before +proceeding. Use the environment variable :envvar:`TIX_LIBRARY` to point to the +installed :mod:`Tix` library directory, and make sure you have the dynamic +object library (:file:`tix8183.dll` or :file:`libtix8183.so`) in the same +directory that contains your Tk dynamic object library (:file:`tk8183.dll` or +:file:`libtk8183.so`). The directory with the dynamic object library should also +have a file called :file:`pkgIndex.tcl` (case sensitive), which contains the +line:: + + package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix] + +.. % $ <-- bow to font-lock + + +Tix Widgets +----------- + +`Tix `_ +introduces over 40 widget classes to the :mod:`Tkinter` repertoire. There is a +demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the +standard distribution. + +.. % The Python sample code is still being added to Python, hence commented out + + +Basic Widgets +^^^^^^^^^^^^^ + + +.. class:: Balloon() + + A `Balloon + `_ that + pops up over a widget to provide help. When the user moves the cursor inside a + widget to which a Balloon widget has been bound, a small pop-up window with a + descriptive message will be shown on the screen. + +.. % Python Demo of: +.. % \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl} + + +.. class:: ButtonBox() + + The `ButtonBox + `_ + widget creates a box of buttons, such as is commonly used for ``Ok Cancel``. + +.. % Python Demo of: +.. % \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl} + + +.. class:: ComboBox() + + The `ComboBox + `_ + widget is similar to the combo box control in MS Windows. The user can select a + choice by either typing in the entry subwdget or selecting from the listbox + subwidget. + +.. % Python Demo of: +.. % \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl} + + +.. class:: Control() + + The `Control + `_ + widget is also known as the :class:`SpinBox` widget. 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. + +.. % Python Demo of: +.. % \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl} + + +.. class:: LabelEntry() + + The `LabelEntry + `_ + widget packages an entry widget and a label into one mega widget. It can be used + be used to simplify the creation of "entry-form" type of interface. + +.. % Python Demo of: +.. % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} + + +.. class:: LabelFrame() + + The `LabelFrame + `_ + widget 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 + :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget. + +.. % Python Demo of: +.. % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} + + +.. class:: Meter() + + The `Meter + `_ widget + can be used to show the progress of a background job which may take a long time + to execute. + +.. % Python Demo of: +.. % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} + + +.. class:: OptionMenu() + + The `OptionMenu + `_ + creates a menu button of options. + +.. % Python Demo of: +.. % \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl} + + +.. class:: PopupMenu() + + The `PopupMenu + `_ + widget can be used as a replacement of the ``tk_popup`` command. The advantage + of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code + to manipulate. + +.. % Python Demo of: +.. % \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl} + + +.. class:: Select() + + The `Select + `_ widget + is a container of button subwidgets. It can be used to provide radio-box or + check-box style of selection options for the user. + +.. % Python Demo of: +.. % \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl} + + +.. class:: StdButtonBox() + + The `StdButtonBox + `_ + widget is a group of standard buttons for Motif-like dialog boxes. + +.. % Python Demo of: +.. % \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl} + + +File Selectors +^^^^^^^^^^^^^^ + + +.. class:: DirList() + + The `DirList + `_ + widget 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. + +.. % Python Demo of: +.. % \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl} + + +.. class:: DirTree() + + The `DirTree + `_ + widget 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. + +.. % Python Demo of: +.. % \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl} + + +.. class:: DirSelectDialog() + + 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. + +.. % Python Demo of: +.. % \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl} + + +.. class:: DirSelectBox() + + The :class:`DirSelectBox` is similar to the standard Motif(TM) directory- + selection box. It is generally used for the user to choose a directory. + DirSelectBox stores the directories mostly recently selected into a ComboBox + widget so that they can be quickly selected again. + + +.. class:: ExFileSelectBox() + + The `ExFileSelectBox + `_ + widget is usually embedded in a tixExFileSelectDialog widget. It provides an + convenient method for the user to select files. The style of the + :class:`ExFileSelectBox` widget is very similar to the standard file dialog on + MS Windows 3.1. + +.. % Python Demo of: +.. % \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl} + + +.. class:: FileSelectBox() + + The `FileSelectBox + `_ + is similar to the standard Motif(TM) file-selection box. It is generally used + for the user to choose a file. FileSelectBox stores the files mostly recently + selected into a :class:`ComboBox` widget so that they can be quickly selected + again. + +.. % Python Demo of: +.. % \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl} + + +.. class:: FileEntry() + + The `FileEntry + `_ + widget can be used to input a filename. 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. + +.. % Python Demo of: +.. % \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl} + + +Hierachical ListBox +^^^^^^^^^^^^^^^^^^^ + + +.. class:: HList() + + The `HList + `_ 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 hierarchy. + +.. % Python Demo of: +.. % \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl} + + +.. class:: CheckList() + + 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. + +.. % Python Demo of: +.. % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl} + + +.. class:: Tree() + + The `Tree + `_ widget + can be used to display hierarchical data in a tree form. The user can adjust the + view of the tree by opening or closing parts of the tree. + +.. % Python Demo of: +.. % \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl} +.. % Python Demo of: +.. % \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl} + + +Tabular ListBox +^^^^^^^^^^^^^^^ + + +.. class:: TList() + + The `TList + `_ widget + can be used to display data in a tabular format. The list entries of a + :class:`TList` widget are similar to the entries in the Tk listbox widget. The + main differences are (1) the :class:`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. + +.. % Python Demo of: +.. % \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} +.. % Grid has yet to be added to Python +.. % \subsubsection{Grid Widget} +.. % Python Demo of: +.. % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} +.. % Python Demo of: +.. % \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl} + + +Manager Widgets +^^^^^^^^^^^^^^^ + + +.. class:: PanedWindow() + + The `PanedWindow + `_ + 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. + +.. % Python Demo of: +.. % \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl} + + +.. class:: ListNoteBook() + + The `ListNoteBook + `_ + widget is very similar to the :class:`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 :attr:`hlist` subwidget. + +.. % Python Demo of: +.. % \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl} + + +.. class:: NoteBook() + + The `NoteBook + `_ + widget can be used to display many windows in a limited space using a notebook + metaphor. The notebook is divided into a stack of pages. At one time only one of + these pages can be shown. The user can navigate through these pages by choosing + the visual "tabs" at the top of the NoteBook widget. + +.. % Python Demo of: +.. % \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl} + +.. % \subsubsection{Scrolled Widgets} +.. % Python Demo of: +.. % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} +.. % Python Demo of: +.. % \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} +.. % Python Demo of: +.. % \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} + + +Image Types +^^^^^^^^^^^ + +The :mod:`Tix` module adds: + +* `pixmap `_ + capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images + from XPM files. + + .. % Python Demo of: + .. % \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl} + .. % Python Demo of: + .. % \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl} + +* `Compound + `_ image + types can be used to create images that consists of multiple horizontal lines; + each line is composed of a series of items (texts, bitmaps, images or spaces) + arranged from left to right. For example, a compound image can be used to + display a bitmap and a text string simultaneously in a Tk :class:`Button` + widget. + + .. % Python Demo of: + .. % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl} + .. % Python Demo of: + .. % \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl} + .. % Python Demo of: + .. % \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl} + .. % Python Demo of: + .. % \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl} + + +Miscellaneous Widgets +^^^^^^^^^^^^^^^^^^^^^ + + +.. class:: InputOnly() + + The `InputOnly + `_ + widgets are to accept inputs from the user, which can be done with the ``bind`` + command (Unix only). + + +Form Geometry Manager +^^^^^^^^^^^^^^^^^^^^^ + +In addition, :mod:`Tix` augments :mod:`Tkinter` by providing: + + +.. class:: Form() + + The `Form + `_ geometry + manager based on attachment rules for all Tk widgets. + +.. % begin{latexonly} +.. % \subsection{Tix Class Structure} +.. % +.. % \begin{figure}[hbtp] +.. % \centerline{\epsfig{file=hierarchy.png,width=.9\textwidth}} +.. % \vspace{.5cm} +.. % \caption{The Class Hierarchy of Tix Widgets} +.. % \end{figure} +.. % end{latexonly} + + +Tix Commands +------------ + + +.. class:: tixCommand() + + The `tix commands + `_ provide + access to miscellaneous elements of :mod:`Tix`'s internal state and the + :mod:`Tix` application context. Most of the information manipulated by these + methods pertains to the application as a whole, or to a screen or display, + rather than to a particular window. + + To view the current settings, the common usage is:: + + import Tix + root = Tix.Tk() + print root.tix_configure() + + +.. method:: tixCommand.tix_configure([cnf,] **kw) + + Query or modify the configuration options of the Tix application context. If no + option is specified, returns a dictionary all of the available options. If + option is specified with no value, then the method 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 method modifies the given option(s) to have the + given value(s); in this case the method returns an empty string. Option may be + any of the configuration options. + + +.. method:: tixCommand.tix_cget(option) + + Returns the current value of the configuration option given by *option*. Option + may be any of the configuration options. + + +.. method:: tixCommand.tix_getbitmap(name) + + Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap + directories (see the :meth:`tix_addbitmapdir` method). By using + :meth:`tix_getbitmap`, you can avoid 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. + + +.. method:: tixCommand.tix_addbitmapdir(directory) + + Tix maintains a list of directories under which the :meth:`tix_getimage` and + :meth:`tix_getbitmap` methods will search for image files. The standard bitmap + directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method + adds *directory* into this list. By using this method, the image files of an + applications can also be located using the :meth:`tix_getimage` or + :meth:`tix_getbitmap` method. + + +.. method:: tixCommand.tix_filedialog([dlgclass]) + + Returns the file selection dialog that may be shared among different calls from + this application. This method will create a file selection dialog widget when + it is called the first time. This dialog will be returned by all subsequent + calls to :meth:`tix_filedialog`. An optional dlgclass parameter can be passed + as a string to specified what type of file selection dialog widget is desired. + Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``. + + +.. method:: tixCommand.tix_getimage(self, name) + + Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or + :file:`name.ppm` in one of the bitmap directories (see the + :meth:`tix_addbitmapdir` method 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 :meth:`tix_getimage`, you can + avoid hard coding the pathnames of the image files in your application. When + successful, this method returns the name of the newly created image, which can + be used to configure the ``image`` option of the Tk and Tix widgets. + + +.. method:: tixCommand.tix_option_get(name) + + Gets the options maintained by the Tix scheme mechanism. + + +.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio]) + + 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 resetoptions method 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 Tix has been has + imported and inited, it is not possible to reset the color schemes and font sets + using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions` + method must be used. diff --git a/Doc-3k/library/tk.rst b/Doc-3k/library/tk.rst new file mode 100644 index 000000000..59aecfead --- /dev/null +++ b/Doc-3k/library/tk.rst @@ -0,0 +1,40 @@ +.. _tkinter: + +********************************* +Graphical User Interfaces with Tk +********************************* + +.. index:: + single: GUI + single: Graphical User Interface + single: Tkinter + single: Tk + +Tk/Tcl has long been an integral part of Python. It provides a robust and +platform independent windowing toolkit, that is available to Python programmers +using the :mod:`Tkinter` module, and its extension, the :mod:`Tix` module. + +The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To +use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to +consult the Tk documentation, and occasionally the Tcl documentation. +:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python +classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe +mechanism which allows Python and Tcl to interact. + +Tk is not the only GUI for Python; see section :ref:`other-gui-packages` for +more information on other GUI toolkits for Python. + +.. toctree:: + + tkinter.rst + tix.rst + scrolledtext.rst + turtle.rst + idle.rst + othergui.rst + +.. % Other sections I have in mind are +.. % Tkinter internals +.. % Freezing Tkinter applications + + diff --git a/Doc-3k/library/tkinter.rst b/Doc-3k/library/tkinter.rst index d3445f8c5..d3f22de3e 100644 --- a/Doc-3k/library/tkinter.rst +++ b/Doc-3k/library/tkinter.rst @@ -1,38 +1,3 @@ - -.. _tkinter: - -********************************* -Graphical User Interfaces with Tk -********************************* - -.. index:: - single: GUI - single: Graphical User Interface - single: Tkinter - single: Tk - -Tk/Tcl has long been an integral part of Python. It provides a robust and -platform independent windowing toolkit, that is available to Python programmers -using the :mod:`Tkinter` module, and its extension, the :mod:`Tix` module. - -The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To -use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to -consult the Tk documentation, and occasionally the Tcl documentation. -:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python -classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe -mechanism which allows Python and Tcl to interact. - -Tk is not the only GUI for Python; see section :ref:`other-gui-packages` for -more information on other GUI toolkits for Python. - -.. % Other sections I have in mind are -.. % Tkinter internals -.. % Freezing Tkinter applications - - -.. toctree:: - - :mod:`Tkinter` --- Python interface to Tcl/Tk ============================================= @@ -873,1024 +838,3 @@ reference to the image. When the last Python reference to the image object is deleted, the image data is deleted as well, and Tk will display an empty box wherever the image was used. - -:mod:`Tix` --- Extension widgets for Tk -======================================= - -.. module:: Tix - :synopsis: Tk Extension Widgets for Tkinter -.. sectionauthor:: Mike Clarkson - - -.. index:: single: Tix - -The :mod:`Tix` (Tk Interface Extension) module provides an additional rich set -of widgets. Although the standard Tk library has many useful widgets, they are -far from complete. The :mod:`Tix` library provides most of the commonly needed -widgets that are missing from standard Tk: :class:`HList`, :class:`ComboBox`, -:class:`Control` (a.k.a. SpinBox) and an assortment of scrollable widgets. -:mod:`Tix` also includes many more widgets that are generally useful in a wide -range of applications: :class:`NoteBook`, :class:`FileEntry`, -:class:`PanedWindow`, etc; there are more than 40 of them. - -With all these new widgets, you can introduce new interaction techniques into -applications, creating more useful and more intuitive user interfaces. You can -design your application by choosing the most appropriate widgets to match the -special needs of your application and users. - - -.. seealso:: - - `Tix Homepage `_ - The home page for :mod:`Tix`. This includes links to additional documentation - and downloads. - - `Tix Man Pages `_ - On-line version of the man pages and reference material. - - `Tix Programming Guide `_ - On-line version of the programmer's reference material. - - `Tix Development Applications `_ - Tix applications for development of Tix and Tkinter programs. Tide applications - work under Tk or Tkinter, and include :program:`TixInspect`, an inspector to - remotely modify and debug Tix/Tk/Tkinter applications. - - -Using Tix ---------- - - -.. class:: Tix(screenName[, baseName[, className]]) - - Toplevel widget of Tix which represents mostly the main window of an - application. It has an associated Tcl interpreter. - - Classes in the :mod:`Tix` module subclasses the classes in the :mod:`Tkinter` - module. The former imports the latter, so to use :mod:`Tix` with Tkinter, all - you need to do is to import one module. In general, you can just import - :mod:`Tix`, and replace the toplevel call to :class:`Tkinter.Tk` with - :class:`Tix.Tk`:: - - import Tix - from Tkconstants import * - root = Tix.Tk() - -To use :mod:`Tix`, you must have the :mod:`Tix` widgets installed, usually -alongside your installation of the Tk widgets. To test your installation, try -the following:: - - import Tix - root = Tix.Tk() - root.tk.eval('package require Tix') - -If this fails, you have a Tk installation problem which must be resolved before -proceeding. Use the environment variable :envvar:`TIX_LIBRARY` to point to the -installed :mod:`Tix` library directory, and make sure you have the dynamic -object library (:file:`tix8183.dll` or :file:`libtix8183.so`) in the same -directory that contains your Tk dynamic object library (:file:`tk8183.dll` or -:file:`libtk8183.so`). The directory with the dynamic object library should also -have a file called :file:`pkgIndex.tcl` (case sensitive), which contains the -line:: - - package ifneeded Tix 8.1 [list load "[file join $dir tix8183.dll]" Tix] - -.. % $ <-- bow to font-lock - - -Tix Widgets ------------ - -`Tix `_ -introduces over 40 widget classes to the :mod:`Tkinter` repertoire. There is a -demo of all the :mod:`Tix` widgets in the :file:`Demo/tix` directory of the -standard distribution. - -.. % The Python sample code is still being added to Python, hence commented out - - -Basic Widgets -^^^^^^^^^^^^^ - - -.. class:: Balloon() - - A `Balloon - `_ that - pops up over a widget to provide help. When the user moves the cursor inside a - widget to which a Balloon widget has been bound, a small pop-up window with a - descriptive message will be shown on the screen. - -.. % Python Demo of: -.. % \ulink{Balloon}{http://tix.sourceforge.net/dist/current/demos/samples/Balloon.tcl} - - -.. class:: ButtonBox() - - The `ButtonBox - `_ - widget creates a box of buttons, such as is commonly used for ``Ok Cancel``. - -.. % Python Demo of: -.. % \ulink{ButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/BtnBox.tcl} - - -.. class:: ComboBox() - - The `ComboBox - `_ - widget is similar to the combo box control in MS Windows. The user can select a - choice by either typing in the entry subwdget or selecting from the listbox - subwidget. - -.. % Python Demo of: -.. % \ulink{ComboBox}{http://tix.sourceforge.net/dist/current/demos/samples/ComboBox.tcl} - - -.. class:: Control() - - The `Control - `_ - widget is also known as the :class:`SpinBox` widget. 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. - -.. % Python Demo of: -.. % \ulink{Control}{http://tix.sourceforge.net/dist/current/demos/samples/Control.tcl} - - -.. class:: LabelEntry() - - The `LabelEntry - `_ - widget packages an entry widget and a label into one mega widget. It can be used - be used to simplify the creation of "entry-form" type of interface. - -.. % Python Demo of: -.. % \ulink{LabelEntry}{http://tix.sourceforge.net/dist/current/demos/samples/LabEntry.tcl} - - -.. class:: LabelFrame() - - The `LabelFrame - `_ - widget 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 - :attr:`frame` subwidget and manage them inside the :attr:`frame` subwidget. - -.. % Python Demo of: -.. % \ulink{LabelFrame}{http://tix.sourceforge.net/dist/current/demos/samples/LabFrame.tcl} - - -.. class:: Meter() - - The `Meter - `_ widget - can be used to show the progress of a background job which may take a long time - to execute. - -.. % Python Demo of: -.. % \ulink{Meter}{http://tix.sourceforge.net/dist/current/demos/samples/Meter.tcl} - - -.. class:: OptionMenu() - - The `OptionMenu - `_ - creates a menu button of options. - -.. % Python Demo of: -.. % \ulink{OptionMenu}{http://tix.sourceforge.net/dist/current/demos/samples/OptMenu.tcl} - - -.. class:: PopupMenu() - - The `PopupMenu - `_ - widget can be used as a replacement of the ``tk_popup`` command. The advantage - of the :mod:`Tix` :class:`PopupMenu` widget is it requires less application code - to manipulate. - -.. % Python Demo of: -.. % \ulink{PopupMenu}{http://tix.sourceforge.net/dist/current/demos/samples/PopMenu.tcl} - - -.. class:: Select() - - The `Select - `_ widget - is a container of button subwidgets. It can be used to provide radio-box or - check-box style of selection options for the user. - -.. % Python Demo of: -.. % \ulink{Select}{http://tix.sourceforge.net/dist/current/demos/samples/Select.tcl} - - -.. class:: StdButtonBox() - - The `StdButtonBox - `_ - widget is a group of standard buttons for Motif-like dialog boxes. - -.. % Python Demo of: -.. % \ulink{StdButtonBox}{http://tix.sourceforge.net/dist/current/demos/samples/StdBBox.tcl} - - -File Selectors -^^^^^^^^^^^^^^ - - -.. class:: DirList() - - The `DirList - `_ - widget 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. - -.. % Python Demo of: -.. % \ulink{DirList}{http://tix.sourceforge.net/dist/current/demos/samples/DirList.tcl} - - -.. class:: DirTree() - - The `DirTree - `_ - widget 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. - -.. % Python Demo of: -.. % \ulink{DirTree}{http://tix.sourceforge.net/dist/current/demos/samples/DirTree.tcl} - - -.. class:: DirSelectDialog() - - 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. - -.. % Python Demo of: -.. % \ulink{DirSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/DirDlg.tcl} - - -.. class:: DirSelectBox() - - The :class:`DirSelectBox` is similar to the standard Motif(TM) directory- - selection box. It is generally used for the user to choose a directory. - DirSelectBox stores the directories mostly recently selected into a ComboBox - widget so that they can be quickly selected again. - - -.. class:: ExFileSelectBox() - - The `ExFileSelectBox - `_ - widget is usually embedded in a tixExFileSelectDialog widget. It provides an - convenient method for the user to select files. The style of the - :class:`ExFileSelectBox` widget is very similar to the standard file dialog on - MS Windows 3.1. - -.. % Python Demo of: -.. % \ulink{ExFileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/EFileDlg.tcl} - - -.. class:: FileSelectBox() - - The `FileSelectBox - `_ - is similar to the standard Motif(TM) file-selection box. It is generally used - for the user to choose a file. FileSelectBox stores the files mostly recently - selected into a :class:`ComboBox` widget so that they can be quickly selected - again. - -.. % Python Demo of: -.. % \ulink{FileSelectDialog}{http://tix.sourceforge.net/dist/current/demos/samples/FileDlg.tcl} - - -.. class:: FileEntry() - - The `FileEntry - `_ - widget can be used to input a filename. 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. - -.. % Python Demo of: -.. % \ulink{FileEntry}{http://tix.sourceforge.net/dist/current/demos/samples/FileEnt.tcl} - - -Hierachical ListBox -^^^^^^^^^^^^^^^^^^^ - - -.. class:: HList() - - The `HList - `_ 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 hierarchy. - -.. % Python Demo of: -.. % \ulink{HList}{http://tix.sourceforge.net/dist/current/demos/samples/HList1.tcl} - - -.. class:: CheckList() - - 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. - -.. % Python Demo of: -.. % \ulink{ CheckList}{http://tix.sourceforge.net/dist/current/demos/samples/ChkList.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledHList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledHList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/SHList2.tcl} - - -.. class:: Tree() - - The `Tree - `_ widget - can be used to display hierarchical data in a tree form. The user can adjust the - view of the tree by opening or closing parts of the tree. - -.. % Python Demo of: -.. % \ulink{Tree}{http://tix.sourceforge.net/dist/current/demos/samples/Tree.tcl} -.. % Python Demo of: -.. % \ulink{Tree (Dynamic)}{http://tix.sourceforge.net/dist/current/demos/samples/DynTree.tcl} - - -Tabular ListBox -^^^^^^^^^^^^^^^ - - -.. class:: TList() - - The `TList - `_ widget - can be used to display data in a tabular format. The list entries of a - :class:`TList` widget are similar to the entries in the Tk listbox widget. The - main differences are (1) the :class:`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. - -.. % Python Demo of: -.. % \ulink{ScrolledTList (1)}{http://tix.sourceforge.net/dist/current/demos/samples/STList1.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledTList (2)}{http://tix.sourceforge.net/dist/current/demos/samples/STList2.tcl} -.. % Grid has yet to be added to Python -.. % \subsubsection{Grid Widget} -.. % Python Demo of: -.. % \ulink{Simple Grid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid0.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledGrid}{http://tix.sourceforge.net/dist/current/demos/samples/SGrid1.tcl} -.. % Python Demo of: -.. % \ulink{Editable Grid}{http://tix.sourceforge.net/dist/current/demos/samples/EditGrid.tcl} - - -Manager Widgets -^^^^^^^^^^^^^^^ - - -.. class:: PanedWindow() - - The `PanedWindow - `_ - 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. - -.. % Python Demo of: -.. % \ulink{PanedWindow}{http://tix.sourceforge.net/dist/current/demos/samples/PanedWin.tcl} - - -.. class:: ListNoteBook() - - The `ListNoteBook - `_ - widget is very similar to the :class:`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 :attr:`hlist` subwidget. - -.. % Python Demo of: -.. % \ulink{ListNoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/ListNBK.tcl} - - -.. class:: NoteBook() - - The `NoteBook - `_ - widget can be used to display many windows in a limited space using a notebook - metaphor. The notebook is divided into a stack of pages. At one time only one of - these pages can be shown. The user can navigate through these pages by choosing - the visual "tabs" at the top of the NoteBook widget. - -.. % Python Demo of: -.. % \ulink{NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/NoteBook.tcl} - -.. % \subsubsection{Scrolled Widgets} -.. % Python Demo of: -.. % \ulink{ScrolledListBox}{http://tix.sourceforge.net/dist/current/demos/samples/SListBox.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledText}{http://tix.sourceforge.net/dist/current/demos/samples/SText.tcl} -.. % Python Demo of: -.. % \ulink{ScrolledWindow}{http://tix.sourceforge.net/dist/current/demos/samples/SWindow.tcl} -.. % Python Demo of: -.. % \ulink{Canvas Object View}{http://tix.sourceforge.net/dist/current/demos/samples/CObjView.tcl} - - -Image Types -^^^^^^^^^^^ - -The :mod:`Tix` module adds: - -* `pixmap `_ - capabilities to all :mod:`Tix` and :mod:`Tkinter` widgets to create color images - from XPM files. - - .. % Python Demo of: - .. % \ulink{XPM Image In Button}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm.tcl} - .. % Python Demo of: - .. % \ulink{XPM Image In Menu}{http://tix.sourceforge.net/dist/current/demos/samples/Xpm1.tcl} - -* `Compound - `_ image - types can be used to create images that consists of multiple horizontal lines; - each line is composed of a series of items (texts, bitmaps, images or spaces) - arranged from left to right. For example, a compound image can be used to - display a bitmap and a text string simultaneously in a Tk :class:`Button` - widget. - - .. % Python Demo of: - .. % \ulink{Compound Image In Buttons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg.tcl} - .. % Python Demo of: - .. % \ulink{Compound Image In NoteBook}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg2.tcl} - .. % Python Demo of: - .. % \ulink{Compound Image Notebook Color Tabs}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg4.tcl} - .. % Python Demo of: - .. % \ulink{Compound Image Icons}{http://tix.sourceforge.net/dist/current/demos/samples/CmpImg3.tcl} - - -Miscellaneous Widgets -^^^^^^^^^^^^^^^^^^^^^ - - -.. class:: InputOnly() - - The `InputOnly - `_ - widgets are to accept inputs from the user, which can be done with the ``bind`` - command (Unix only). - - -Form Geometry Manager -^^^^^^^^^^^^^^^^^^^^^ - -In addition, :mod:`Tix` augments :mod:`Tkinter` by providing: - - -.. class:: Form() - - The `Form - `_ geometry - manager based on attachment rules for all Tk widgets. - -.. % begin{latexonly} -.. % \subsection{Tix Class Structure} -.. % -.. % \begin{figure}[hbtp] -.. % \centerline{\epsfig{file=hierarchy.png,width=.9\textwidth}} -.. % \vspace{.5cm} -.. % \caption{The Class Hierarchy of Tix Widgets} -.. % \end{figure} -.. % end{latexonly} - - -Tix Commands ------------- - - -.. class:: tixCommand() - - The `tix commands - `_ provide - access to miscellaneous elements of :mod:`Tix`'s internal state and the - :mod:`Tix` application context. Most of the information manipulated by these - methods pertains to the application as a whole, or to a screen or display, - rather than to a particular window. - - To view the current settings, the common usage is:: - - import Tix - root = Tix.Tk() - print root.tix_configure() - - -.. method:: tixCommand.tix_configure([cnf,] **kw) - - Query or modify the configuration options of the Tix application context. If no - option is specified, returns a dictionary all of the available options. If - option is specified with no value, then the method 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 method modifies the given option(s) to have the - given value(s); in this case the method returns an empty string. Option may be - any of the configuration options. - - -.. method:: tixCommand.tix_cget(option) - - Returns the current value of the configuration option given by *option*. Option - may be any of the configuration options. - - -.. method:: tixCommand.tix_getbitmap(name) - - Locates a bitmap file of the name ``name.xpm`` or ``name`` in one of the bitmap - directories (see the :meth:`tix_addbitmapdir` method). By using - :meth:`tix_getbitmap`, you can avoid 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. - - -.. method:: tixCommand.tix_addbitmapdir(directory) - - Tix maintains a list of directories under which the :meth:`tix_getimage` and - :meth:`tix_getbitmap` methods will search for image files. The standard bitmap - directory is :file:`$TIX_LIBRARY/bitmaps`. The :meth:`tix_addbitmapdir` method - adds *directory* into this list. By using this method, the image files of an - applications can also be located using the :meth:`tix_getimage` or - :meth:`tix_getbitmap` method. - - -.. method:: tixCommand.tix_filedialog([dlgclass]) - - Returns the file selection dialog that may be shared among different calls from - this application. This method will create a file selection dialog widget when - it is called the first time. This dialog will be returned by all subsequent - calls to :meth:`tix_filedialog`. An optional dlgclass parameter can be passed - as a string to specified what type of file selection dialog widget is desired. - Possible options are ``tix``, ``FileSelectDialog`` or ``tixExFileSelectDialog``. - - -.. method:: tixCommand.tix_getimage(self, name) - - Locates an image file of the name :file:`name.xpm`, :file:`name.xbm` or - :file:`name.ppm` in one of the bitmap directories (see the - :meth:`tix_addbitmapdir` method 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 :meth:`tix_getimage`, you can - avoid hard coding the pathnames of the image files in your application. When - successful, this method returns the name of the newly created image, which can - be used to configure the ``image`` option of the Tk and Tix widgets. - - -.. method:: tixCommand.tix_option_get(name) - - Gets the options maintained by the Tix scheme mechanism. - - -.. method:: tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio]) - - 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 resetoptions method 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 Tix has been has - imported and inited, it is not possible to reset the color schemes and font sets - using the :meth:`tix_config` method. Instead, the :meth:`tix_resetoptions` - method must be used. - - -:mod:`ScrolledText` --- Scrolled Text Widget -============================================ - -.. module:: ScrolledText - :platform: Tk - :synopsis: Text widget with a vertical scroll bar. -.. sectionauthor:: Fred L. Drake, Jr. - - -The :mod:`ScrolledText` module provides a class of the same name which -implements a basic text widget which has a vertical scroll bar configured to do -the "right thing." Using the :class:`ScrolledText` class is a lot easier than -setting up a text widget and scroll bar directly. The constructor is the same -as that of the :class:`Tkinter.Text` class. - -The text widget and scrollbar are packed together in a :class:`Frame`, and the -methods of the :class:`Grid` and :class:`Pack` geometry managers are acquired -from the :class:`Frame` object. This allows the :class:`ScrolledText` widget to -be used directly to achieve most normal geometry management behavior. - -Should more specific control be necessary, the following attributes are -available: - - -.. attribute:: ScrolledText.frame - - The frame which surrounds the text and scroll bar widgets. - - -.. attribute:: ScrolledText.vbar - - The scroll bar widget. - -XXX: input{libturtle} :XXX - -.. _idle: - -Idle -==== - -.. moduleauthor:: Guido van Rossum - - -.. % \declaremodule{standard}{idle} -.. % \modulesynopsis{A Python Integrated Development Environment} - -.. index:: - single: Idle - single: Python Editor - single: Integrated Development Environment - -Idle is the Python IDE built with the :mod:`Tkinter` GUI toolkit. - -IDLE has the following features: - -* coded in 100% pure Python, using the :mod:`Tkinter` GUI toolkit - -* cross-platform: works on Windows and Unix (on Mac OS, there are currently - problems with Tcl/Tk) - -* multi-window text editor with multiple undo, Python colorizing and many other - features, e.g. smart indent and call tips - -* Python shell window (a.k.a. interactive interpreter) - -* debugger (not complete, but you can set breakpoints, view and step) - - -Menus ------ - - -File menu -^^^^^^^^^ - -New window - create a new editing window - -Open... - open an existing file - -Open module... - open an existing module (searches sys.path) - -Class browser - show classes and methods in current file - -Path browser - show sys.path directories, modules, classes and methods - -.. index:: - single: Class browser - single: Path browser - -Save - save current window to the associated file (unsaved windows have a \* before and - after the window title) - -Save As... - save current window to new file, which becomes the associated file - -Save Copy As... - save current window to different file without changing the associated file - -Close - close current window (asks to save if unsaved) - -Exit - close all windows and quit IDLE (asks to save if unsaved) - - -Edit menu -^^^^^^^^^ - -Undo - Undo last change to current window (max 1000 changes) - -Redo - Redo last undone change to current window - -Cut - Copy selection into system-wide clipboard; then delete selection - -Copy - Copy selection into system-wide clipboard - -Paste - Insert system-wide clipboard into window - -Select All - Select the entire contents of the edit buffer - -Find... - Open a search dialog box with many options - -Find again - Repeat last search - -Find selection - Search for the string in the selection - -Find in Files... - Open a search dialog box for searching files - -Replace... - Open a search-and-replace dialog box - -Go to line - Ask for a line number and show that line - -Indent region - Shift selected lines right 4 spaces - -Dedent region - Shift selected lines left 4 spaces - -Comment out region - Insert ## in front of selected lines - -Uncomment region - Remove leading # or ## from selected lines - -Tabify region - Turns *leading* stretches of spaces into tabs - -Untabify region - Turn *all* tabs into the right number of spaces - -Expand word - Expand the word you have typed to match another word in the same buffer; repeat - to get a different expansion - -Format Paragraph - Reformat the current blank-line-separated paragraph - -Import module - Import or reload the current module - -Run script - Execute the current file in the __main__ namespace - -.. index:: - single: Import module - single: Run script - - -Windows menu -^^^^^^^^^^^^ - -Zoom Height - toggles the window between normal size (24x80) and maximum height. - -The rest of this menu lists the names of all open windows; select one to bring -it to the foreground (deiconifying it if necessary). - - -Debug menu (in the Python Shell window only) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -Go to file/line - look around the insert point for a filename and linenumber, open the file, and - show the line. - -Open stack viewer - show the stack traceback of the last exception - -Debugger toggle - Run commands in the shell under the debugger - -JIT Stack viewer toggle - Open stack viewer on traceback - -.. index:: - single: stack viewer - single: debugger - - -Basic editing and navigation ----------------------------- - -* :kbd:`Backspace` deletes to the left; :kbd:`Del` deletes to the right - -* Arrow keys and :kbd:`Page Up`/:kbd:`Page Down` to move around - -* :kbd:`Home`/:kbd:`End` go to begin/end of line - -* :kbd:`C-Home`/:kbd:`C-End` go to begin/end of file - -* Some :program:`Emacs` bindings may also work, including :kbd:`C-B`, - :kbd:`C-P`, :kbd:`C-A`, :kbd:`C-E`, :kbd:`C-D`, :kbd:`C-L` - - -Automatic indentation -^^^^^^^^^^^^^^^^^^^^^ - -After a block-opening statement, the next line is indented by 4 spaces (in the -Python Shell window by one tab). After certain keywords (break, return etc.) -the next line is dedented. In leading indentation, :kbd:`Backspace` deletes up -to 4 spaces if they are there. :kbd:`Tab` inserts 1-4 spaces (in the Python -Shell window one tab). See also the indent/dedent region commands in the edit -menu. - - -Python Shell window -^^^^^^^^^^^^^^^^^^^ - -* :kbd:`C-C` interrupts executing command - -* :kbd:`C-D` sends end-of-file; closes window if typed at a ``>>>`` prompt - -* :kbd:`Alt-p` retrieves previous command matching what you have typed - -* :kbd:`Alt-n` retrieves next - -* :kbd:`Return` while on any previous command retrieves that command - -* :kbd:`Alt-/` (Expand word) is also useful here - -.. index:: single: indentation - - -Syntax colors -------------- - -The coloring is applied in a background "thread," so you may occasionally see -uncolorized text. To change the color scheme, edit the ``[Colors]`` section in -:file:`config.txt`. - -Python syntax colors: - Keywords - orange - - Strings - green - - Comments - red - - Definitions - blue - -Shell colors: - Console output - brown - - stdout - blue - - stderr - dark green - - stdin - black - - -Command line usage -^^^^^^^^^^^^^^^^^^ - -:: - - idle.py [-c command] [-d] [-e] [-s] [-t title] [arg] ... - - -c command run this command - -d enable debugger - -e edit mode; arguments are files to be edited - -s run $IDLESTARTUP or $PYTHONSTARTUP first - -t title set title of shell window - -If there are arguments: - -#. If :option:`-e` is used, arguments are files opened for editing and - ``sys.argv`` reflects the arguments passed to IDLE itself. - -#. Otherwise, if :option:`-c` is used, all arguments are placed in - ``sys.argv[1:...]``, with ``sys.argv[0]`` set to ``'-c'``. - -#. Otherwise, if neither :option:`-e` nor :option:`-c` is used, the first - argument is a script which is executed with the remaining arguments in - ``sys.argv[1:...]`` and ``sys.argv[0]`` set to the script name. If the script - name is '-', no script is executed but an interactive Python session is started; - the arguments are still available in ``sys.argv``. - - -.. _other-gui-packages: - -Other Graphical User Interface Packages -======================================= - -There are an number of extension widget sets to :mod:`Tkinter`. - - -.. seealso:: - - `Python megawidgets `_ - is a toolkit for building high-level compound widgets in Python using the - :mod:`Tkinter` module. It consists of a set of base classes and a library of - flexible and extensible megawidgets built on this foundation. These megawidgets - include notebooks, comboboxes, selection widgets, paned widgets, scrolled - widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT, the - busy, graph, stripchart, tabset and vector commands are be available. - - The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr - Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the - megawidgets are direct translations from the itcl to Python. It offers most of - the range of widgets that ``[incr Widgets]`` does, and is almost as complete as - Tix, lacking however Tix's fast :class:`HList` widget for drawing trees. - - `Tkinter3000 Widget Construction Kit (WCK) `_ - is a library that allows you to write new Tkinter widgets in pure Python. The - WCK framework gives you full control over widget creation, configuration, screen - appearance, and event handling. WCK widgets can be very fast and light-weight, - since they can operate directly on Python data structures, without having to - transfer data through the Tk/Tcl layer. - - .. % - -Other GUI packages are also available for Python: - - -.. seealso:: - - `wxPython `_ - wxPython is a cross-platform GUI toolkit for Python that is built around the - popular `wxWidgets `_ C++ toolkit.  It provides a - native look and feel for applications on Windows, Mac OS X, and Unix systems by - using each platform's native widgets where ever possible, (GTK+ on Unix-like - systems).  In addition to an extensive set of widgets, wxPython provides classes - for online documentation and context sensitive help, printing, HTML viewing, - low-level device context drawing, drag and drop, system clipboard access, an - XML-based resource format and more, including an ever growing library of user- - contributed modules.  Both the wxWidgets and wxPython projects are under active - development and continuous improvement, and have active and helpful user and - developer communities. - - `wxPython in Action `_ - The wxPython book, by Noel Rappin and Robin Dunn. - - PyQt - PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an - extensive C++ GUI toolkit that is available for Unix, Windows and Mac OS X. - :program:`sip` is a tool for generating bindings for C++ libraries as Python - classes, and is specifically designed for Python. An online manual is available - at http://www.opendocspublishing.com/pyqt/ (errata are located at - http://www.valdyas.org/python/book.html). - - `PyKDE `_ - PyKDE is a :program:`sip`\ -wrapped interface to the KDE desktop libraries. KDE - is a desktop environment for Unix computers; the graphical components are based - on Qt. - - `FXPy `_ - is a Python extension module which provides an interface to the `FOX - `_ GUI. FOX is a C++ based Toolkit for - developing Graphical User Interfaces easily and effectively. It offers a wide, - and growing, collection of Controls, and provides state of the art facilities - such as drag and drop, selection, as well as OpenGL widgets for 3D graphical - manipulation. FOX also implements icons, images, and user-convenience features - such as status line help, and tooltips. - - Even though FOX offers a large collection of controls already, FOX leverages C++ - to allow programmers to easily build additional Controls and GUI elements, - simply by taking existing controls, and creating a derived class which simply - adds or redefines the desired behavior. - - `PyGTK `_ - is a set of bindings for the `GTK `_ widget set. It - provides an object oriented interface that is slightly higher level than the C - one. It automatically does all the type casting and reference counting that you - would have to do normally with the C API. There are also `bindings - `_ to `GNOME `_, and - a `tutorial - `_ is - available. - -.. % XXX Reference URLs that compare the different UI packages - diff --git a/Doc-3k/library/xml.dom.minidom.rst b/Doc-3k/library/xml.dom.minidom.rst index 0cd99152d..d7a5e61c1 100644 --- a/Doc-3k/library/xml.dom.minidom.rst +++ b/Doc-3k/library/xml.dom.minidom.rst @@ -108,7 +108,7 @@ essentially useless. The W3C recommendation for the DOM supported by :mod:`xml.dom.minidom`. -.. _dom-objects: +.. _minidom-objects: DOM Objects ----------- diff --git a/Doc-3k/reference/compound_stmts.rst b/Doc-3k/reference/compound_stmts.rst index 919ea6d33..01851b045 100644 --- a/Doc-3k/reference/compound_stmts.rst +++ b/Doc-3k/reference/compound_stmts.rst @@ -270,7 +270,7 @@ stored in the :mod:`sys` module and can be access via :func:`sys.exc_info`. :func:`sys.exc_info` returns a 3-tuple consisting of: ``exc_type`` receives the object identifying the exception; ``exc_value`` receives the exception's parameter; ``exc_traceback`` receives a traceback object (see section -:ref:`traceback`) identifying the point in the program where the exception +:ref:`types`) identifying the point in the program where the exception occurred. :func:`sys.exc_info` values are restored to their previous values (before the call) when returning from a function that handled an exception. diff --git a/Doc-3k/reference/datamodel.rst b/Doc-3k/reference/datamodel.rst index 9cc8e7d7f..d95173e8c 100644 --- a/Doc-3k/reference/datamodel.rst +++ b/Doc-3k/reference/datamodel.rst @@ -989,8 +989,6 @@ Internal types can implement a Jump command (aka Set Next Statement) by writing to f_lineno. Traceback objects - .. _traceback: - .. index:: object: traceback pair: stack; trace diff --git a/Doc-3k/reference/simple_stmts.rst b/Doc-3k/reference/simple_stmts.rst index a2395a4a5..169b7ee0f 100644 --- a/Doc-3k/reference/simple_stmts.rst +++ b/Doc-3k/reference/simple_stmts.rst @@ -500,7 +500,7 @@ constructor is used as the exception value. .. index:: object: traceback If a third object is present and not ``None``, it must be a traceback object -(see section :ref:`traceback`), and it is substituted instead of the current +(see section :ref:`types`), and it is substituted instead of the current location as the place where the exception occurred. If the third object is present and not a traceback object or ``None``, a :exc:`TypeError` exception is raised. The three-expression form of :keyword:`raise` is useful to re-raise an