Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



table(n)                                     Tk Table Extension                                     table(n)



____________________________________________________________________________________________________________

NAME
       table - Create and manipulate tables

SYNOPSIS
       table pathName ?options?

STANDARD OPTIONS
       -anchor         -background    -cursor
       -exportselection               -font           -foreground
       -highlightbackground           -highlightcolor -highlightthickness
       -insertbackground              -insertborderwidth-insertofftime
       -insertontime   -insertwidth   -invertselected
       -relief         -takefocus     -xscrollcommand
       -yscrollcommand

       See the options manual entry for details on the standard options.


WIDGET-SPECIFIC OPTIONS
       Command-Line Name:-autoclear
       Database Name:  autoClear
       Database Class: AutoClear

              A boolean value which specifies whether the first keypress in a cell will delete whatever text
              was previously there.  Defaults to 0.

       Command-Line Name:-bordercursor
       Database Name:  borderCursor
       Database Class: Cursor

              Specifies the name of the cursor to show when over borders, a visual indication that  interac-tive interactive
              tive  resizing  is  allowed  (it  is thus affect by the value of -resizeborders).  Defaults to
              crosshair.

       Command-Line Name:-borderwidth or -bd
       Database Name:  borderWidth
       Database Class: BorderWidth

              Specifies a non-negative pixel value or list of values indicating the width of the 3-D  border
              to  draw on interior table cells (if such a border is being drawn; the relief option typically
              determines this).  If one value is specified, a rectangle of this width will be drawn.  If two
              values  are  specified,  then only the left and right edges of the cell will have borders.  If
              four values are specified, then the values correspond to the {left right  top  bottom}  edges.
              This  can  be  overridden  by  the a tag's borderwidth option.  It can also be affected by the
              defined -drawmode for the table.  Each value in the list must have one of the forms acceptable
              to Tk_GetPixels.

       Command-Line Name:-browsecommand or -browsecmd
       Database Name:  browseCommand
       Database Class: BrowseCommand

              Specifies  a  command  which  will  be evaluated anytime the active cell changes.  It uses the
              %-substition model described in COMMAND SUBSTITUTION below.  Any changes to  the  active  cell
              while the command is running are ignored to prevent recursion.

       Command-Line Name:-cache
       Database Name:  cache
       Database Class: Cache

              A boolean value that specifies whether an internal cache of the table contents should be kept.
              This greatly enhances speed performance when used with -command but uses  extra  memory.   Can
              maintain state when both -command and -variable are empty.  The cache is automatically flushed
              whenever the value of -cache or -variable changes, otherwise you have to explicitly call clear
              on it.  Defaults to off.

       Command-Line Name:-colorigin
       Database Name:  colOrigin
       Database Class: Origin

              Specifies  what  column index to interpret as the leftmost column in the table.  This value is
              used for user indices in the table.  Defaults to 0.

       Command-Line Name:-cols
       Database Name:  cols
       Database Class: Cols

              Number of cols in the table.  Defaults to 10.

       Command-Line Name:-colseparator
       Database Name:  colSeparator
       Database Class: Separator

              Specifies a separator character that will be interpreted as the column separator when  cutting
              or pasting data in a table.  By default, columns are separated as elements of a tcl list.

       Command-Line Name:-colstretchmode
       Database Name:  colStretchMode
       Database Class: StretchMode

              Specifies one of the following stretch modes for columns to fill extra allocated window space:

              none   Columns will not stretch to fill the assigned window space.  If  the  columns  are  too
                     narrow, there will be a blank space at the right of the table.  This is the default.

              unset  Only columns that do not have a specific width set will be stretched.

              all    All  columns  will  be  stretched by the same number of pixels to fill the window space
                     allocated to the table.  This mode can interfere with interactive border resizing which
                     tries to force column width.

              last   The last column will be stretched to fill the window space allocated to the table.

              fill (only valid for -rowstretch currently)
                     The  table will get more or less columns according to the window space allocated to the
                     table.  This mode has numerous quirks and may disappear in the future.

       Command-Line Name:-coltagcommand
       Database Name:  colTagCommand
       Database Class: TagCommand

              Provides the name of a procedure that will be evaluated by the widget to determine the tag  to
              be  used for a given column.  When displaying a cell, the table widget will first check to see
              if a tag has been defined using the tag col widget method.  If no tag is found, it will evalu-ate evaluate
              ate  the named procedure passing the column number in question as the sole argument.  The pro-cedure procedure
              cedure is expected to return the name of a tag to use, or a  null  string.   Errors  occurring
              during  the  evaluation  of  the  procedure, or the return of an invalid tag name are silently
              ignored.

       Command-Line Name:-colwidth
       Database Name:  colWidth
       Database Class: ColWidth

              Default column width, interpreted as characters in the default font when the number  is  posi-tive, positive,
              tive, or pixels if it is negative.  Defaults to 10.

       Command-Line Name:-command
       Database Name:  command
       Database Class: Command

              Specified  a command to use as a procedural interface to cell values.  If -usecommand is true,
              this command will be used instead of any reference to the -variable  array.   When  retrieving
              cell  values,  the return value of the command is used as the value for the cell.  It uses the
              %-substition model described in COMMAND SUBSTITUTION below.

       Command-Line Name:-drawmode
       Database Name:  drawMode
       Database Class: DrawMode

              Sets the table drawing mode to one of the following options:

              slow   The table is drawn to an offscreen pixmap using the  Tk  bordering  functions  (double-buffering). (doublebuffering).
                     buffering).   This  means  there  will be no flashing, but this mode is slow for larger
                     tables.

              compatible
                     The table is drawn directly to the screen using the Tk border functions.  It is faster,
                     but the screen may flash on update.  This is the default.

              fast   The  table  is drawn directly to the screen and the borders are done with fast X calls,
                     so they are always one pixel wide only.  As a side effect, it restricts -borderwidth to
                     a range of 0 or 1.  This mode provides best performance for large tables, but can flash
                     on redraw and is not 100% Tk compatible on the border mode.

              single The table is drawn to the screen as in fast mode, but only single pixel lines are drawn
                     (not square borders).

       Command-Line Name:-ellipsis
       Database Name:  ellipsis
       Database Class: Ellipsis

              This  specifies  a  string  to display at the end of a line that would be clipped by its cell,
              like ``...''.  An ellipsis will be displayed only on non-wrapping,  non-multiline  cells  that
              would be clipped.  The ellipsis will display on the left for east anchored cells, otherwise it
              displays on the right.  Defaults to "" (no ellipsis).

       Command-Line Name:-flashmode
       Database Name:  flashMode
       Database Class: FlashMode

              A boolean value which specifies whether cells should flash when their value changes.  The  ta-ble table
              ble  tag  flash  will  be  applied  to  these  cells for the duration specified by -flashtime.
              Defaults to 0.

       Command-Line Name:-flashtime
       Database Name:  flashTime
       Database Class: FlashTime

              The amount of time, in 1/4 second increments, for which a cell should flash when its value has
              changed.  -flashmode must be on.  Defaults to 2.

       Command-Line Name:-height
       Database Name:  height
       Database Class: Height

              Specifies  the  desired  height  for  the  window, in rows.  If zero or less, then the desired
              height for the window is made just large enough to hold all the rows in the table.  The height
              can be further limited by -maxheight.

       Command-Line Name:-invertselected
       Database Name:  invertSelected
       Database Class: InvertSelected

              Specifies  whether  the  foreground  and background of an item should simply have their values
              swapped instead of merging the sel tag options when the  cell  is  selected.   Defaults  to  0
              (merge sel tag).

       Command-Line Name:-ipadx
       Database Name:  ipadX
       Database Class: Pad

              A  pixel  value  specifying the internal offset X padding for text in a cell.  This value does
              not grow the size of the cell, it just causes the text to be drawn further from the cell  bor-der. border.
              der.  It only affects one side (depending on anchor).  Defaults to 0.  See -padx for an alter-nate alternate
              nate padding style.

       Command-Line Name:-ipady
       Database Name:  ipadY
       Database Class: Pad

              A pixel value specifying the internal offset Y padding for text in a cell.   This  value  does
              not  grow the size of the cell, it just causes the text to be drawn further from the cell bor-der. border.
              der.  It only affects one side (depending on anchor).  Defaults to 0.  See -pady for an alter-nate alternate
              nate padding style.

       Command-Line Name:-justify
       Database Name:  justify
       Database Class: Justify

              How to justify multi-line text in a cell.  It must be one of left, right, or center.  Defaults
              to left.

       Command-Line Name:-maxheight
       Database Name:  maxHeight
       Database Class: MaxHeight

              The max height in pixels that the window will request.  Defaults to 600.

       Command-Line Name:-maxwidth
       Database Name:  maxWidth
       Database Class: MaxWidth

              The max width in pixels that the window will request.  Defaults to 800.

       Command-Line Name:-multiline
       Database Name:  multiline
       Database Class: Multiline

              Specifies the default setting for the multiline tag option.  Defaults to 1.

       Command-Line Name:-padx
       Database Name:  padX
       Database Class: Pad

              A pixel value specifying the offset X padding for a cell.  This value causes the default  size
              of  the  cell  to increase by two times the value (one for each side), unless a specific pixel
              size is chosen for the cell with the width command.  This will force an empty area on the left
              and right of each cell edge.  This padding affects all types of data in the cell.  Defaults to
              0.  See -ipadx for an alternate padding style.

       Command-Line Name:-pady
       Database Name:  padY
       Database Class: Pad

              A pixel value specifying the offset Y padding for a cell.  This value causes the default  size
              of  the  cell  to increase by two times the value (one for each side), unless a specific pixel
              size is chosen for the cell with the height command.  This will force an empty area on the top
              and  bottom  of each cell edge.  This padding affects all types of data in the cell.  Defaults
              to 0.  See -ipadx for an alternate padding style.

       Command-Line Name:-resizeborders
       Database Name:  resizeBorders
       Database Class: ResizeBorders

              Specifies what kind of interactive border resizing to allow, must be one  of  row,  col,  both
              (default) or none.

       Command-Line Name:-rowheight
       Database Name:  rowHeight
       Database Class: RowHeight

              Default  row  height, interpreted as lines in the default font when the number is positive, or
              pixels if it is negative.  Defaults to 1.

       Command-Line Name:-roworigin
       Database Name:  rowOrigin
       Database Class: Origin

              Specifies what row index to interpret as the topmost row in the table.  This value is used for
              user indices in the table.  Defaults to 0.

       Command-Line Name:-rows
       Database Name:  rows
       Database Class: Rows

              Number of rows in the table.  Defaults to 10.

       Command-Line Name:-rowseparator
       Database Name:  rowSeparator
       Database Class: Separator

              Specifies  a separator character that will be interpreted as the row separator when cutting or
              pasting data in a table.  By default, rows are separated as tcl lists.

       Command-Line Name:-rowstretchmode
       Database Name:  rowStretchMode
       Database Class: StretchMode

              Specifies the stretch modes for rows to fill extra allocated window space.   See  -colstretch-mode -colstretchmode
              mode for valid options.

       Command-Line Name:-rowtagcommand
       Database Name:  rowTagCommand
       Database Class: TagCommand

              Provides  the  name of a procedure that can evaluated by the widget to determine the tag to be
              used for a given row.  The procedure must be defined by the user to accept a  single  argument
              (the  row number), and return a tag name or null string.  This operates in a similar manner as
              -coltagcommand, except that it applies to row tags.

       Command-Line Name:-selectioncommand or -selcmd
       Database Name:  selectionCommand
       Database Class: SelectionCommand

              Specifies a command to evaluate when the selection is retrieved from a table via the selection
              mechanism  (ie: evaluating ``selection get'').  The return value from this command will become
              the string passed on by the selection mechanism.  It uses the %-substition model described  in
              COMMAND SUBSTITUTION below.  If an error occurs, a Tcl background error is generated and noth-ing nothing
              ing is returned.

       Command-Line Name:-selectmode
       Database Name:  selectMode
       Database Class: SelectMode

              Specifies one of several styles for manipulating the selection.  The value of the  option  may
              be  arbitrary,  but  the  default bindings expect it to be either single, browse, multiple, or
              extended; the default value is browse.  These styles are like those for the Tk listbox, except
              expanded for 2 dimensions.

       Command-Line Name:-selecttitle
       Database Name:  selectTitles
       Database Class: SelectTitles

              Specifies whether title cells should be allowed in the selection.  Defaults to 0 (disallowed).

       Command-Line Name:-selecttype
       Database Name:  selectType
       Database Class: SelectType

              Specifies one of several types of selection for the table.  The value of the option may be one
              of  row,  col,  cell,  or  both  (meaning row && col); the default value is cell.  These types
              define whether an entire row/col is affected when  a  cell's  selection  is  changed  (set  or
              clear).

       Command-Line Name:-sparsearray
       Database Name:  sparseArray
       Database Class: SparseArray

              A  boolean  value  that  specifies  whether an associated Tcl array should be kept as a sparse
              array (1, the default) or as a full array (0).  If true, then cell values that are empty  will
              be  deleted  from the array (taking less memory).  If false, then all values in the array will
              be maintained.

       Command-Line Name:-state
       Database Name:  state
       Database Class: State

              Specifies one of two states for the entry:  normal or disabled.  If the table is disabled then
              the  value may not be changed using widget commands and no insertion cursor will be displayed,
              even if the input focus is in the widget.  Also, all insert or delete methods will be ignored.
              Defaults to normal.

       Command-Line Name:-titlecols
       Database Name:  titleCols
       Database Class: TitleCols

              Number of columns to use as a title area.  Defaults to 0.

       Command-Line Name:-titlerows
       Database Name:  titleRows
       Database Class: TitleRows

              Number of rows to use as a title area.  Defaults to 0.

       Command-Line Name:-usecommand
       Database Name:  useCommand
       Database Class: UseCommand

              A  boolean value which specifies whether to use the command option.  This value sets itself to
              zero if command is used and returns an error.  Defaults to 1 (will use command if  specified).

       Command-Line Name:-validate
       Database Name:  validate
       Database Class: Validate

              A boolean specifying whether validation should occur for the active buffer.  Defaults to 0.

       Command-Line Name:-validatecommand or -vcmd
       Database Name:  validateCommand
       Database Class: ValidateCommand

              Specifies  a  command  to execute when the active cell is edited.  This command is expected to
              return a Tcl boolean.  If it returns true, then it is assumed the new value is  OK,  otherwise
              the  new value is rejected (the edition will not take place).  Errors in this command are han-dled handled
              dled in the background.  It uses the %-substition  model  described  in  COMMAND  SUBSTITUTION
              below.

       Command-Line Name:-variable
       Database Name:  variable
       Database Class: Variable

              Global  Tcl array variable to attach to the table's C array.  It will be created if it doesn't
              already exist or is a simple variable.  Keys used by the table in the array are  of  the  form
              row,col  for  cells  and  the  special  key active which contains the value of the active cell
              buffer.  The Tcl array is managed as a sparse array (the table does not require that all valid
              indices  have  values).   No  stored value for an index is equivalent to the empty string, and
              clearing a cell will remove that index from the Tcl array, unless the -sparsearray options  is
              set to 0.

       Command-Line Name:-width
       Database Name:  width
       Database Class: Width

              Specifies  the  desired  width  for the window, in columns.  If zero or less, then the desired
              width for the window is made just large enough to hold all the  columns  in  the  table.   The
              width can be further limited by -maxwidth.

       Command-Line Name:-wrap
       Database Name:  wrap
       Database Class: Wrap

              Specifies the default wrap value for tags.  Defaults to 0.
____________________________________________________________________________________________________________


DESCRIPTION
       The  table  command creates a 2-dimensional grid of cells.  The table can use a Tcl array variable or
       Tcl command for data storage and retrieval, as well as optionally cache data  in  memory  for  speed.
       One  of  these  data sources must be configured before any data is retained by the table.  The widget
       has an active cell, the contents of which can be edited (when the state is normal).  The widget  sup-ports supports
       ports  a default style for the cells and also multiple tags, which can be used to change the style of
       a row, column or cell (see TAGS for details).  A cell flash can be set up so that changed cells  will
       change color for a specified amount of time ("blink").  Cells can have embedded images or windows, as
       described in TAGS and "EMBEDDED WINDOWS" respectively.

       One or more cells may be selected as described below.  If a table is  exporting  its  selection  (see
       -exportselection option), then it will observe the standard X11 protocols for handling the selection.
       See THE SELECTION for details.

       It is not necessary for all the cells to be displayed in the table window at once; commands described
       below  may be used to change the view in the window.  Tables allow scrolling in both directions using
       the standard -xscrollcommand and -yscrollcommand options.  They also support scanning,  as  described
       below.

       In  order  to obtain good performance, the table widget supports multiple drawing modes, two of which
       are fully Tk compatible.


INITIALIZATION
       When the table command is loaded into an interpreter, a built-in Tcl command, tkTableInit, is  evalu-ated. evaluated.
       ated.   This  will  search  for  the  appropriate  table  binding init file to load.  The directories
       searched are those in $tcl_pkgPath, both with Tktable(version) appended and without, $tk_library  and
       [pwd]  (the  current  directory).   You can also define an $env(TK_TABLE_LIBRARY) to head this search
       list.  By default, the file searched for is called tkTable.tcl, but this can be overridden by setting
       $env(TK_TABLE_LIBRARY_FILE).

       This  entire  init  script  can  be overridden by providing your own tkTableInit procedure before the
       library is loaded.  Otherwise, the aforementioned env(TK_TABLE_LIBRARY) variable will be set with the
       directory in which $env(TK_TABLE_LIBRARY_FILE) was found.


INDICES
       Many  of  the widget commands for tables take one or more indices as arguments.  An index specifies a
       particular cell of the table, in any of the following ways:

       number,number
                   Specifies the cell as a numerical index of row,col which corresponds to the index of  the
                   associated  Tcl  array,  where -roworigin,-colorigin corresponds to the first cell in the
                   table (0,0 by default).  The values for row and column will be constrained to actual val-ues values
                   ues in the table, which means a valid cell is always found.

       active      Indicates  the cell that has the location cursor.  It is specified with the activate wid-get widget
                   get command.

       anchor      Indicates the anchor point for the selection, which is set with the selection anchor wid-get widget
                   get command.

       bottomright Indicates the bottom-rightmost cell visible in the table.

       end         Indicates the bottom right cell of the table.

       origin      Indicates  the  top-leftmost  editable cell of the table, not necessarily in the display.
                   This takes into account the user specified origin and title area.

       topleft     Indicates the top-leftmost editable cell  visible  in  the  table  (this  excludes  title
                   cells).

       @x,y        Indicates  the  cell  that  covers the point in the table window specified by x and y (in
                   pixel coordinates).  If no cell covers that point, then the closest cell to that point is
                   used.

       In  the widget command descriptions below, arguments named index, first, and last always contain text
       indices in one of the above forms.


TAGS
       A tag is a textual string that is associated with zero or more rows, columns or  cells  in  a  table.
       Tags  may  contain arbitrary characters, but it is probably best to avoid using names which look like
       indices to reduce coding confusion.  A tag can apply to an entire row or column,  or  just  a  single
       cell.   There  are  several  permanent tags in each table that can be configured by the user and will
       determine the attributes for special cells:

              active    This tag is given to the active cell

              flash     If flash mode is on, this tag is given to any recently edited cells.

              sel       This tag is given to any selected cells.

              title     This tag is given to any cells in the title rows and columns.  This tag  has  -state
                        disabled by default.

       Tags  control the way cells are displayed on the screen.  Where appropriate, the default for display-ing displaying
       ing cells is determined by the options for the table widget.  However, display options may be associ-ated associated
       ated  with  individual  tags  using the ``pathName tag configure'' widget command.  If a cell, row or
       column has been tagged, then the display options associated with the tag override the default display
       style.  The following options are currently supported for tags:

              -anchor anchor
                     Anchor for item in the cell space.

              -background or -bg color
                     Background color of the cell.

              -borderwidth or -bd pixelList
                     Borderwidth  of  the  cell,  of the same format for the table, but may also be empty to
                     inherit the default table borderwidth value (the default).

              -ellipsis string
                     String to display at the end of a line that would be clipped by its cell, like ``...''.
                     An  ellipsis  will be displayed only on non-wrapping, non-multiline cells that would be
                     clipped.  The ellipsis will display on the left for east anchored cells,  otherwise  it
                     displays on the right.

              -font fontName
                     Font for text in the cell.

              -foreground or -fg color
                     Foreground color of the cell.

              -justify justify
                     How to justify multi-line text in a cell.  It must be one of left, right, or center.

              -image imageName
                     An image to display in the cell instead of text.

              -multiline boolean
                     Whether to display text with newlines on multiple lines.

              -relief relief
                     The  relief for the cell.  May be the empty string to cause this tag to not disturb the
                     value.

              -showtext boolean
                     Whether to show the text over an image.

              -state state
                     The state of the cell, to allow for certain cells to be disabled.   This  prevents  the
                     cell  from  being  edited by the insert or delete methods, but a direct set will not be
                     prevented.

              -wrap boolean
                     Whether characters should wrap in a cell that is not wide enough.

       A priority order is defined among tags based on creation order (first created tag has highest default
       priority),  and this order is used in implementing some of the tag-related functions described below.
       When a cell is displayed, its properties are determined by the tags which are assigned  to  it.   The
       priority  of  a  tag  can be modified by the ``pathName tag lower'' and ``pathName tag raise'' widget
       commands.

       If a cell has several tags associated with it that define the same display options (eg - a title cell
       with  specific  row and cell tags), then the options of the highest priority tag are used.  If a par-ticular particular
       ticular display option hasn't been specified for a particular tag, or if it is specified as an  empty
       string,  then  that  option  will  not  be  used; the next-highest-priority tag's option will be used
       instead.  If no tag specifies a particular display option, then the default style for the widget will
       be used.

       Images are used for display purposes only.  Editing in that cell will still be enabled and any query-ing querying
       ing of the cell will show the text value of the cell, regardless of the value of -showtext.


EMBEDDED WINDOWS
       There may be any number of embedded windows in a table widget (one per cell), and any widget  may  be
       used as an embedded window (subject to the usual rules for geometry management, which require the ta-ble table
       ble window to be the parent of the embedded window or a descendant of its parent).  The embedded win-dow's window's
       dow's  position  on  the  screen will be updated as the table is modified or scrolled, and it will be
       mapped and unmapped as it moves into and out of the visible area of the table widget.  Each  embedded
       window  occupies one cell's worth of space in the table widget, and it is referred to by the index of
       the cell in the table.  Windows associated with the table widget are destroyed when the table  widget
       is destroyed.

       Windows  are  used  for  display  purposes only.  A value still exists for that cell, but will not be
       shown unless the window is deleted in some way.  If the window is destroyed or lost by the table wid-get widget
       get  to another geometry manager, then any data associated with it is lost (the cell it occupied will
       no longer appear in window names).

       When an embedded window is added to a table widget with the window configure widget command,  several
       configuration  options  may be associated with it.  These options may be modified with later calls to
       the window configure widget command.  The following options are currently supported:

              -create script
                     NOT CURRENTLY SUPPORTED.  Specifies a Tcl script that may be evaluated  to  create  the
                     window  for the annotation.  If no -window option has been specified for this cell then
                     this script will be evaluated when the cell is about to be  displayed  on  the  screen.
                     Script  must  create  a  window  for the cell and return the name of that window as its
                     result.  If the cell's window should ever be deleted,  the  script  will  be  evaluated
                     again the next time the cell is displayed.

              -background or -bg color
                     Background  color  of  the  cell.   If not specified, it uses the table's default back-ground. background.
                     ground.

              -borderwidth or -bd pixelList
                     Borderwidth of the cell, of the same format for the table, but may  also  be  empty  to
                     inherit the default table borderwidth value (the default).

              -padx pixels
                     As defined in the Tk options man page.

              -pady pixels
                     As defined in the Tk options man page.

              -relief relief
                     The relief to use for the cell in which the window lies.  If not specified, it uses the
                     table's default relief.

              -sticky sticky
                     Stickiness of the window inside the cell, as defined by the grid command.

              -window pathName
                     Specifies the name of a window (widget) to display in the annotation.   It  must  exist
                     before  being  specified here.  When an empty string is specified, if a window was dis-played displayed
                     played it will cease to be managed by the table widget.


THE SELECTION
       Table selections are available as type STRING.  By default, the value of the selection  will  be  the
       values  of  the selected cells in nested Tcl list form where each row is a list and each column is an
       element of a row list.  You can change the way this value is interpreted by setting the -rowseparator
       and  -colseparator  options.  For example, default Excel format would be to set -rowseparator to '\n'
       and -colseparator to '\t'.  Changing these values affects both how the table sends out the  selection
       and  reads  in pasted data, ensuring that the table should always be able to cut and paste to itself.
       It is possible to change how pastes are handled by editing the table library procedure tk_tablePaste-Handler. tk_tablePasteHandler.
       Handler.  This might be necessary if -selectioncommand is set.


ROW/COL SPANNING
       Individual  cells  can  span  multiple  rows and/or columns.  This is done via the spans command (see
       below for exact arguments).  Cells in the title area that span are not permitted to span  beyond  the
       title  area, and will be constrained accordingly.  If the title area shrinks during a configure, san-ity sanity
       ity checking will occur to ensure the above.  You may set spans on regular cells that  extend  beyond
       the defined row/col area.  These spans will not be constrained, so that when the defined row/col area
       expands, the span will expand with it.

       When setting a span, checks are made as to whether the span would overlap an already spanning or hid-den hidden
       den cell.  This is an error and it not allowed.  Spans can affect the overall speed of table drawing,
       although not significantly.  If spans are not used, then there is no performance loss.

       Cells hidden by spanning cells still have valid data.  This will be seen during cut and paste  opera-tions operations
       tions that involve hidden cells, or through direct access by a command like get or set.

       The  drawing properties of spanning cells apply to only the visual area of the cell.  For example, if
       a cell is center justified over 5 columns, then when viewing any portion of those  columns,  it  will
       appear  centered  in the visible area. The non-visible column area will not be considered in the cen-tering centering
       tering calculations.


COMMAND SUBSTITUTION
       The various option based commands that the table supports all support the familiar Tk  %-substitution
       model  (see  bind for more details).  The following %-sequences are recognized and substituted by the
       table widget:

       %c   For SelectionCommand, it is the maximum number of columns in any row in the  selection.   Other-wise Otherwise
            wise it is the column of the triggered cell.

       %C   A convenience substitution for %r,%c.

       %i   For  SelectionCommand,  it  is the total number of cells in the selection.  For Command, it is 0
            for a read (get) and 1 for a write (set).  Otherwise it is the current cursor  position  in  the
            cell.

       %r   For SelectionCommand, it is the number of rows in the selection.  Otherwise it is the row of the
            triggered cell.

       %s   For ValidateCommand, it is the current value of the cell being validated.  For SelectionCommand,
            it is the default value of the selection.  For BrowseCommand, it is the index of the last active
            cell.  For Command, it is empty for reads (get) and the current value of  the  cell  for  writes
            (set).

       %S   For  ValidateCommand, it is the potential new value of the cell being validated.  For BrowseCom-mand, BrowseCommand,
            mand, it is the index of the new active cell.

       %W   The pathname to the window for which the command was generated.



WIDGET COMMAND
       The table command creates a new Tcl command whose name is pathName.  This  command  may  be  used  to
       invoke various operations on the widget.  It has the following general form:
              pathName option ?arg arg ...?
       Option and the args determine the exact behavior of the command.

       The following commands are possible for table widgets:

       pathName activate index
              Sets the active cell to the one indicated by index.

       pathName bbox first ?last?
              It  returns  the  bounding  box for the specified cell (range) as a 4-tuple of x, y, width and
              height in pixels.  It clips the box to the visible portion, if any, otherwise an empty  string
              is returned.

       pathName border option args
              This  command is a voodoo hack to implement border sizing for tables.  This is normally called
              through bindings, with the following as valid options:

              pathName border mark x y ?row|col?
                     Records x and y and the row and/or column border under that point in the table  window,
                     if  any; used in conjunction with later border dragto commands.  Typically this command
                     is associated with a mouse button press in the widget.  If row or col is not specified,
                     it  returns a tuple of both border indices (an empty item means no border).  Otherwise,
                     just the specified item is returned.

              pathName border dragto x y
                     This command computes the difference between its x and y arguments  and  the  x  and  y
                     arguments  to  the last border mark command for the widget.  It then adjusts the previ-ously previously
                     ously marked border by the difference.  This command is typically associated with mouse
                     motion events in the widget, to produce the effect of interactive border resizing.

       pathName cget option
              Returns the current value of the configuration option given by option.  Option may have any of
              the values accepted by the table command.

       pathName clear option ?first? ?last?
              This command is a convenience routine to clear certain state information managed by the table.
              first  and  last  represent  valid  table indices.  If neither are specified, then the command
              operates on the whole table.  The following options are recognized:

              pathName clear cache ?first? ?last?
                     Clears the specified section of the cache, if the table has been keeping one.

              pathName clear sizes ?first? ?last?
                     Clears the specified row and column areas of specific  height/width  dimensions.   When
                     just  one  index is specified, for example 2,0, that is interpreted as row 2 and column
                     0.

              pathName clear tags ?first? ?last?
                     Clears the specified area of tags (all row, column and cell tags).

              pathName clear all ?first? ?last?
                     Performs all of the above clear functions on the specified area.

       pathName configure ?option? ?value option value ...?
              Query or modify the configuration options of the widget.  If no option is specified, returns a
              list  describing  all of the available options for pathName (see Tk_ConfigureInfo for informa-tion information
              tion on the format of this list).  If option is specified with  no  value,  then  the  command
              returns a list describing the one named option (this list will be identical to the correspond-ing corresponding
              ing sublist of the value returned if no option is specified).  If  one  or  more  option-value
              pairs  are  specified,  then the command modifies the given widget option(s) to have the given
              value(s);  in this case the command returns an empty string.  Option may have any of the  val-ues values
              ues accepted by the table command.

       pathName curselection ?value?
              With  no  arguments, it returns the sorted indices of the currently selected cells.  Otherwise
              it sets all the selected cells to the given value.  The set has no effect if there is no asso-ciated associated
              ciated Tcl array or the state is disabled.

       pathName curvalue ?value?
              If no value is given, the value of the cell being edited (indexed by active) is returned, else
              it is set to the given value.

       pathName delete option arg ?arg?
              This command is used to delete various things in a table.  It has several forms, depending  on
              the option:

              pathName delete active index ?index?
                     Deletes  text from the active cell.  If only one index is given, it deletes the charac-ter character
                     ter after that index, otherwise it deletes from the first index to the  second.   index
                     can be a number, insert or end.

              pathName delete cols ?switches? index ?count?
                     Deletes  count  cols  starting  at  (and  including) col index.  The index will be con-strained constrained
                     strained to the limits of the tables.  If count is negative, it  deletes  cols  to  the
                     left.   Otherwise  it deletes cols to the right.  count defaults to 1 (meaning just the
                     column specified).  At the moment, spans are not adjusted with this  action.   Optional
                     switches are:

                     -holddimensions
                            Causes  the table cols to be unaffected by the deletion (empty cols may appear).
                            By default the dimensions are adjusted by count.

                     -holdselection
                            Causes the selection to be maintained on the absolute cells values.   Otherwise,
                            the selection will be cleared..

                     -holdtags
                            Causes  the  tags  specified  by the tag method to not move along with the data.
                            Also prevents specific widths set by the width method from being  adjusted.   By
                            default, these tags are properly adjusted.

                     -holdwindows
                            Causes  the  embedded  windows  created with the window method to not move along
                            with the data.  By default, these windows are properly adjusted.

                     -keeptitles
                            Prevents title area cells from being changed.  Otherwise they are  treated  just
                            like regular cells and will move as specified.

                     --     Signifies the end of the switches.

              pathName delete rows ?switches? index ?count?
                     Deletes  count  rows  starting  at (and including) row index.  If count is negative, it
                     deletes rows going up.  Otherwise it deletes rows going down.  The  selection  will  be
                     cleared.  The switches are the same as those for column deletion.

       pathName get first ?last?
              Returns the value of the cells specified by the table indices first and (optionally) last in a
              list.

       pathName height ?row? ?value row value ...?
              If no row is specified, returns a list describing all rows for which a height  has  been  set.
              If  row  is specified with no value, it prints out the height of that row in characters (posi-tive (positive
              tive number) or pixels (negative number).  If one or more row-value pairs are specified,  then
              it sets each row to be that height in lines (positive number) or pixels (negative number).  If
              value is default, then the row uses the default height, specified by -rowheight.

       pathName hidden ?index? ?index ...?
              When called without args, it returns all the hidden cells (those cells covered by  a  spanning
              cell).   If  one index is specified, it returns the spanning cell covering that index, if any.
              If multiple indices are specified, it returns 1 if all indices are hidden cells, 0  otherwise.

       pathName icursor ?arg?
              With  no  arguments, prints out the location of the insertion cursor in the active cell.  With
              one argument, sets the cursor to that point in the string.  0 is before the  first  character,
              you  can  also  use  insert or end for the current insertion point or the end of the text.  If
              there is no active cell, or the cell or table is disabled, this will return -1.

       pathName index index ?row|col?
              Returns the integer cell coordinate that corresponds to index in the form row,col.  If row  or
              col is specified, then only the row or column index is returned.

       pathName insert option arg arg
              This  command is used to into various things into a table.  It has several forms, depending on
              the option:

              pathName insert active index value
                     The value is a text string which is inserted at the index position of the active  cell.
                     The cursor is then positioned after the new text. index can be a number, insert or end.

              pathName insert cols ?switches? index ?count?
                     Inserts count cols starting at col index.  If count is negative, it inserts before  the
                     specified  col.   Otherwise  it inserts after the specified col.  The selection will be
                     cleared.  The switches are the same as those for column deletion.

              pathName insert rows ?switches? index ?count?
                     Inserts count rows starting at row index.  If count is negative, it inserts before  the
                     specified  row.   Otherwise  it inserts after the specified row.  The selection will be
                     cleared.  The switches are the same as those for column deletion.

       pathName reread
              Rereads the old contents of the cell back into the editing buffer.  Useful for a  key  binding
              when <Escape> is pressed to abort the edit (a default binding).

       pathName scan option args
              This command is used to implement scanning on tables.  It has two forms, depending on option:

              pathName scan mark x y
                     Records  x  and  y  and the current view in the table window;  used in conjunction with
                     later scan dragto commands.  Typically this command is associated with a  mouse  button
                     press in the widget.  It returns an empty string.

              pathName scan dragto x y.
                     This  command  computes  the  difference  between its x and y arguments and the x and y
                     arguments to the last scan mark command for the widget.  It then adjusts the view by  5
                     times  the  difference in coordinates.  This command is typically associated with mouse
                     motion events in the widget, to produce the effect of dragging the list at  high  speed
                     through the window.  The return value is an empty string.

       pathName see index
              Adjust the view in the table so that the cell given by index is positioned as the cell one off
              from top left (excluding title rows and columns) if the cell is not currently visible  on  the
              screen.  The actual cell may be different to keep the screen full.

       pathName selection option arg
              This  command is used to adjust the selection within a table.  It has several forms, depending
              on option:

              pathName selection anchor index
                     Sets the selection anchor to the cell given by index.  The selection anchor is the  end
                     of  the  selection  that  is  fixed while dragging out a selection with the mouse.  The
                     index anchor may be used to refer to the anchor cell.

              pathName selection clear first ?last?
                     If any of the cells between first and last (inclusive) are  selected,  they  are  dese-lected. deselected.
                     lected.  The selection state is not changed for cells outside this range.  first may be
                     specified as all to remove the selection from all cells.

              pathName selection includes index
                     Returns 1 if the cell indicated by index is currently selected, 0 if it isn't.

              pathName selection set first ?last?
                     Selects all of the cells in the  range  between  first  and  last,  inclusive,  without
                     affecting the selection state of cells outside that range.

       pathName set ?row|col? index ?value? ?index value ...?
              Sets  the specified index to the associated value.  Table validation will not be triggered via
              this method.  If row or col precedes the list of index/value pairs, then the value is  assumed
              to  be  a  Tcl  list whose values will be split and set into the subsequent columns (if row is
              specified) or rows (for col).  For example, set row 2,3 {2,3 2,4 2,5} will set 3  cells,  from
              2,3 to 2,5.  The setting of cells is silently bounded by the known table dimensions.

       pathName spans ?index? ?rows,cols index rows,cols ...?
              This  command  is  used to manipulate row/col spans.  When called with no arguments, all known
              spans are returned as a list of tuples of the form {index span}.  When called  with  only  the
              index,  the  span  for that index only is returned, if any.  Otherwise an even number of index
              rows,cols pairs are used to set spans.  A span starts at the index and continues for the spec-ified specified
              ified  number  of  rows and cols.  Negative spans are not supported.  A span of 0,0 unsets any
              span on that cell.  See EXAMPLES for more info.

       pathName tag option ?arg arg ...?
              This command is used to manipulate tags.  The exact behavior of the  command  depends  on  the
              option argument that follows the tag argument.  cget, cell, and row|col complain about unknown
              tag names.  The following forms of the command are currently supported:

              pathName tag cell tagName ?index ...?
                     With no arguments, prints out the list of cells that use the tag.   Otherwise  it  sets
                     the  specified  cells  to  use  the named tag, replacing any tag that may have been set
                     using this method before.  If tagName is {}, the cells are reset to  the  default  tag.
                     Tags  added  during  -*tagcommand evaluation do not register here.  If tagName does not
                     exist, it will be created with the default options.

              pathName tag cget tagName option
                     This command returns the current value of the option named option associated  with  the
                     tag  given by tagName.  Option may have any of the values accepted by the tag configure
                     widget command.

              pathName tag col tagName ?col ...?
                     With no arguments, prints out the list of cols that use the tag.  Otherwise it sets the
                     specified  columns to use the named tag, replacing any tag that may have been set using
                     this method before.  If tagName is {}, the cols are reset to  the  default  tag.   Tags
                     added  during  -coltagcommand  evaluation  do  not  register here.  If tagName does not
                     exist, it will be created with the default options.

              pathName tag configure tagName ?option? ?value? ?option value ...?
                     This command is similar to the configure widget command except that it modifies options
                     associated  with  the tag given by tagName instead of modifying options for the overall
                     table widget.  If no option is specified, the command returns a list describing all  of
                     the  available  options for tagName (see Tk_ConfigureInfo for information on the format
                     of this list).  If option is specified with no value, then the command returns  a  list
                     describing  the one named option (this list will be identical to the corresponding sub-list sublist
                     list of the value returned if no option is specified).  If  one  or  more  option-value
                     pairs  are  specified,  then the command modifies the given option(s) to have the given
                     value(s) in tagName; in this case the command returns an empty string.  See TAGS  above
                     for details on the options available for tags.

              pathName tag delete tagName
                     Deletes a tag.  No error if the tag does not exist.

              pathName tag exists tagName
                     Returns 1 if the named tag exists, 0 otherwise.

              pathName tag includes tagName index
                     Returns 1 if the specified index has the named tag, 0 otherwise.

              pathName tag lower tagName ?belowThis?
                     Lower  the  priority  of  the named tag.  If belowThis is not specified, then the tag's
                     priority is lowered to the bottom, otherwise it is lowered to one below belowThis.

              pathName tag names ?pattern?
                     If no pattern is specified, shows the names of all defined tags.  Otherwise the pattern
                     is  used  as  a  glob  pattern  to show only tags matching that pattern.  Tag names are
                     returned in priority order (highest priority tag first).

              pathName tag raise tagName ?aboveThis?
                     Raise the priority of the named tag.  If aboveThis is not  specified,  then  the  tag's
                     priority is raised to the top, otherwise it is raised to one above aboveThis.

              pathName tag row tagName ?row ...?
                     With no arguments, prints out the list of rows that use the tag.  Otherwise it sets the
                     specified rows to use the named tag, replacing any tag that may  have  been  set  using
                     this method before.  If tagName is {}, the rows are reset to use the default tag.  Tags
                     added during -rowtagcommand evaluation do not  register  here.   If  tagName  does  not
                     exist, it will be created with the default options.

       pathName validate index
              Explicitly  validates  the specified index based on the current -validatecommand and returns 0
              or 1 based on whether the cell was validated.

       pathName width ?col? ?value col value ...?
              If no col is specified, returns a list describing all cols for which a width has been set.  If
              col  is  specified  with no value, it prints out the width of that col in characters (positive
              number) or pixels (negative number).  If one or more col-value pairs are  specified,  then  it
              sets  each  col  to be that width in characters (positive number) or pixels (negative number).
              If value is default, then the col uses the default width, specified by -colwidth.

       pathName window option ?arg arg ...?
              This command is used to manipulate embedded  windows.   The  exact  behavior  of  the  command
              depends  on  the option argument that follows the window argument.  The following forms of the
              command are currently supported:

              pathName window cget index option
                     This command returns the current value of the option named option associated  with  the
                     window  given  by index.  Option may have any of the values accepted by the window con-figure configure
                     figure widget command.

              pathName window configure index ?option? ?value? ?option value ...?
                     This command is similar to the configure widget command except that it modifies options
                     associated with the embedded window given by index instead of modifying options for the
                     overall table widget.  If no option is specified, the command returns a list describing
                     all  of  the  available  options for index (see Tk_ConfigureInfo for information on the
                     format of this list).  If option is specified with no value, then the command returns a
                     list  describing the one named option (this list will be identical to the corresponding
                     sublist of the value returned if no option is specified).  If one or more  option-value
                     pairs  are  specified,  then the command modifies the given option(s) to have the given
                     value(s) in index; in this case the command returns an empty string.  See EMBEDDED WIN-DOWS WINDOWS
                     DOWS above for details on the options available for windows.

              pathName window delete index ?index ...?
                     Deletes an embedded window from the table.  The associated window will also be deleted.

              pathName window move indexFrom indexTo
                     Moves an embedded window from one cell to another.  If a window already exists  in  the
                     target cell, it will be deleted.

              pathName window names ?pattern?
                     If  no  pattern  is  specified, shows the cells of all embedded windows.  Otherwise the
                     pattern is used as a glob pattern to show only cells matching that pattern.

       pathName xview args
              This command is used to query and change the horizontal position of  the  information  in  the
              widget's window.  It can take any of the following forms:

              pathName xview
                     Returns  a list containing two elements.  Each element is a real fraction between 0 and
                     1;  together they describe the horizontal span that is  visible  in  the  window.   For
                     example,  if  the  first element is .2 and the second element is .6, 20% of the table's
                     text is off-screen to the left, the middle 40% is visible in the window, and 40% of the
                     text  is  off-screen  to the right.  These are the same values passed to scrollbars via
                     the -xscrollcommand option.

              pathName xview index
                     Adjusts the view in the window so that the column given by index is  displayed  at  the
                     left edge of the window.

              pathName xview moveto fraction
                     Adjusts the view in the window so that fraction of the total width of the table text is
                     off-screen to the left.  fraction must be a fraction between 0 and 1.

              pathName xview scroll number what
                     This command shifts the view in the window left or right according to number and  what.
                     Number  must  be  an integer.  What must be either units or pages or an abbreviation of
                     one of these.  If what is units, the view adjusts left or right by number cells on  the
                     display; if it is pages then the view adjusts by number screenfuls.  If number is nega-tive negative
                     tive then cells farther to the left become visible;  if it is positive then cells  far-ther farther
                     ther to the right become visible.

       pathName yview ?args?
              This  command  is  used  to query and change the vertical position of the text in the widget's
              window.  It can take any of the following forms:

              pathName yview
                     Returns a list containing two elements, both of which are real fractions between 0  and
                     1.  The first element gives the position of the table element at the top of the window,
                     relative to the table as a whole (0.5 means it is halfway through the table, for  exam-ple). example).
                     ple).   The  second element gives the position of the table element just after the last
                     one in the window, relative to the table as a whole.  These are the same values  passed
                     to scrollbars via the -yscrollcommand option.

              pathName yview index
                     Adjusts  the  view in the window so that the row given by index is displayed at the top
                     of the window.

              pathName yview moveto fraction
                     Adjusts the view in the window so that the element given by fraction appears at the top
                     of  the window.  Fraction is a fraction between 0 and 1;  0 indicates the first element
                     in the table, 0.33 indicates the element one-third the way through the  table,  and  so
                     on.

              pathName yview scroll number what
                     This  command  adjusts  the view in the window up or down according to number and what.
                     Number must be an integer.  What must be either units or pages.  If what is units,  the
                     view adjusts up or down by number cells; if it is pages then the view adjusts by number
                     screenfuls.  If number is negative then earlier elements become visible; if it is posi-tive positive
                     tive then later elements become visible.


DEFAULT BINDINGS
       The initialization creates class bindings that give the following default behaviour:

       [1]    Clicking  Button-1  in a cell activates that cell.  Clicking into an already active cell moves
              the insertion cursor to the character nearest the mouse.

       [2]    Moving the mouse while Button-1 is pressed will stroke out a selection  area.   Exiting  while
              Button-1 is pressed causing scanning to occur on the table along with selection.

       [3]    Moving the mouse while Button-2 is pressed causes scanning to occur without any selection.

       [4]    Home moves the table to have the origin in view.

       [5]    End moves the table to have the end cell in view.

       [6]    Control-Home moves the table to the origin and activates that cell.

       [7]    Control-End moves the table to the end and activates that cell.

       [8]    Shift-Control-Home extends the selection to the origin.

       [9]    Shift-Control-End extends the selection to the end.

       [10]   The left, right, up and down arrows move the active cell.

       [11]   Shift-<arrow> extends the selection in that direction.

       [12]   Control-leftarrow and Control-rightarrow move the insertion cursor within the cell.

       [13]   Control-slash selects all the cells.

       [14]   Control-backslash clears selection from all the cells.

       [15]   Backspace deletes the character before the insertion cursor in the active cell.

       [16]   Delete deletes the character after the insertion cursor in the active cell.

       [17]   Escape  rereads  the  value  of the active cell from the specified data source, discarding any
              edits that have may been performed on the cell.

       [18]   Control-a moves the insertion cursor to the beginning of the active cell.

       [19]   Control-e moves the insertion cursor to the end of the active cell.

       [20]   Control-minus and Control-equals decrease and increase the width of the column with the active
              cell in it.

       [21]   Moving  the mouse while Button-3 (the right button on Windows) is pressed while you are over a
              border will cause interactive resizing of that row and/or column to occur, based on the  value
              of -resizeborders.

       Some bindings may have slightly different behavior dependent on the -selectionmode of the widget.

       If  the widget is disabled using the -state option, then its view can still be adjusted and cells can
       still be selected, but no insertion cursor will be displayed and  no  cell  modifications  will  take
       place.

       The  behavior of tables can be changed by defining new bindings for individual widgets or by redefin-ing redefining
       ing the class bindings.  The default bindings are either compiled in or read from a file expected  to
       correspond to: "[lindex $tcl_pkgPath 0]/Tktable<version>/tkTable.tcl".


PERFORMANCE ISSUES
       The number of rows and columns or a table widget should not significantly affect the speed of redraw.
       Recalculation and redraw of table parameters and cells is restricted as much as possible.

       The display cell with the insert cursor is redrawn each time the cursor blinks, which causes a steady
       stream  of  graphics  traffic.  Set the -insertofftime option to 0 avoid this.  The use of a -command
       with the table without a cache can cause significant slow-down, as the command  is  called  once  for
       each request of a cell value.



EXAMPLES
       Set  the  topleft title area to be one spanning cell.  This overestimates both row and column span by
       one, but the command does all the constraining for us.
              $table span [$table cget -roworigin],[$table cget -colorigin] [$table cget -titlerows],[$table cget -titlecols]
       Force a table window refresh (useful for the slight chance that a bug in the  table  is  not  causing
       proper refresh):
              $table configure -padx [$table cget -padx]


KEYWORDS
       table, widget, extension



Tk                                                   2.8                                            table(n)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Tk.
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Tk через их страницу создания отчетов ошибки.
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.