Seth Woolley's Man Viewer

entry(n) - entry, entry - Create and manipulate entry widgets - man n entry

([section] manual, -k keyword, -K [section] search, -f whatis)
man plain no title

entry(n)                     Tk Built-In Commands                     entry(n)



NAME
       entry - Create and manipulate entry widgets

SYNOPSIS
       entry  pathName  ?options?  -background    -highlightthickness -select-
       background -borderwidth   -insertbackground   -selectborderwidth  -cur-
       sor   -insertborderwidth  -selectforeground               -exportselec-
       tion    -insertofftime -takefocus   -font     -insertontime  -textvari-
       able    -foreground    -insertwidth   -xscrollcommand   -highlightback-
       ground     -justify -highlightcolor     -relief

WIDGET-SPECIFIC OPTIONS
       Specifies the background color to use when the entry is  disabled.   If
       this  option  is the empty string(3,n), the normal background color is used.
       Specifies the foreground color to use when the entry is  disabled.   If
       this  option  is the empty string(3,n), the normal foreground color is used.
       Specifies a script to eval when validateCommand returns 0.  Setting  it
       to {} disables this feature (the default).  The best use of this option
       is to set(7,n,1 builtins) it to bell.   See  Validation  below  for  more  information.
       Specifies  the  background color to use when the entry is readonly.  If
       this option is the empty string(3,n), the normal background color  is  used.
       If  this  option  is specified, then the true contents of the entry are
       not displayed in(1,8) the window.  Instead, each character  in(1,8)  the  entry's
       value  will  be  displayed  as the first character in(1,8) the value of this
       option, such as ``*''.  This is useful, for example, if(3,n) the entry is to
       be  used  to enter a password.  If characters in(1,8) the entry are selected
       and copied elsewhere, the information copied will be what is displayed,
       not  the true contents of the entry.  Specifies one of three states for
       the entry:  normal, disabled, or readonly.  If the entry  is  readonly,
       then  the  value may not be changed using widget commands and no inser-
       tion cursor will be displayed, even if(3,n) the input focus is in(1,8)  the  wid-
       get; the contents of the widget may still be selected.  If the entry is
       disabled, the value may not be changed, no  insertion  cursor  will  be
       displayed,  the  contents  will not be selectable, and the entry may be
       displayed in(1,8) a different color, depending on the values  of  the  -dis-
       abledforeground and -disabledbackground options.  Specifies the mode in(1,8)
       which validation should operate: none, focus, focusin,  focusout,  key,
       or  all.   It  defaults  to  none.   When you want validation, you must
       explicitly state which mode you wish to use.  See Validation below  for
       more.   Specifies  a script to eval when you want to validate the input
       into the entry widget.  Setting it to {}  disables  this  feature  (the
       default).   This  command must return a valid tcl boolean value.  If it
       returns 0 (or the valid tcl  boolean  equivalent)  then  it  means  you
       reject  the  new  edition  and it will not occur and the invalidCommand
       will be evaluated if(3,n) it is set. If it returns 1, then the  new  edition
       occurs.  See Validation below for more information.  Specifies an inte-
       ger value indicating the desired width of the entry window, in(1,8) average-
       size  characters  of  the  widget's font.  If the value is less(1,3) than or
       equal to zero, the widget picks a size just large enough  to  hold  its
       current text.


DESCRIPTION
       The entry command creates a new window (given by the pathName argument)
       and makes it into  an  entry  widget.   Additional  options,  described
       above,  may  be specified on the command line or in(1,8) the option database
       to configure aspects of the entry such as its colors, font, and relief.
       The entry command returns its pathName argument.  At the time(1,2,n) this com-
       mand is invoked, there must not exist  a  window  named(5,8)  pathName,  but
       pathName's parent must exist.

       An  entry  is  a widget that displays a one-line text string(3,n) and allows
       that string(3,n) to be edited using widget commands described  below,  which
       are  typically  bound to keystrokes and mouse actions.  When first cre-
       ated, an entry's string(3,n) is empty.   A  portion  of  the  entry  may  be
       selected  as  described  below.  If an entry is exporting its selection
       (see the exportSelection option), then it will observe the standard X11
       protocols  for  handling the selection;  entry selections are available
       as type STRING.  Entries also observe the standard Tk rules for dealing
       with the input focus.  When an entry has the input focus it displays an
       insertion cursor to indicate where new characters will be inserted.

       Entries are capable of displaying strings that  are  too  long  to  fit
       entirely  within  the widget's window.  In this case, only a portion of
       the string(3,n) will be displayed;  commands described below may be used  to
       change the view in(1,8) the window.  Entries use the standard xScrollCommand
       mechanism for interacting with scrollbars (see the description  of  the
       xScrollCommand  option  for  details).   They also support scanning, as
       described below.


VALIDATION
       Validation works by setting the  validateCommand  option  to  a  script
       which will be evaluated according to the validate option as follows:


       none      Default.  This means no validation will occur.

       focus     validateCommand  will  be  called  when the entry receives or
                 loses focus.

       focusin   validateCommand will be called when the entry receives focus.

       focusout  validateCommand will be called when the entry loses focus.

       key       validateCommand will be called when the entry is edited.

       all       validateCommand will be called for all above conditions.

       It  is possible to perform percent substitutions on the validateCommand
       and invalidCommand, just as you would in(1,8) a bind(2,n,1 builtins) script.  The  following
       substitutions are recognized:


       %d   Type  of  action:  1  for  insert,  0 for delete, or -1 for focus,
            forced or textvariable validation.

       %i   Index of char string(3,n) to be inserted/deleted, if(3,n) any, otherwise -1.

       %P   The value of the entry should edition occur.  If you are configur-
            ing the entry widget to have a new textvariable, this will be  the
            value of that textvariable.

       %s   The current value of entry before edition.

       %S   The text string(3,n) being inserted/deleted, if(3,n) any, {} otherwise.

       %v   The type of validation currently set.

       %V   The  type of validation that triggered the callback (key, focusin,
            focusout, forced).

       %W   The name of the entry widget.

       In general, the textVariable and validateCommand can  be  dangerous  to
       mix.  Any problems have been overcome so that using the validateCommand
       will not interfere with the traditional behavior of the  entry  widget.
       Using  the  textVariable  for read-only purposes will never cause prob-
       lems.  The danger comes when you try set(7,n,1 builtins) the textVariable to  something
       that  the  validateCommand  would  not accept(2,8), which causes validate to
       become none (the invalidCommand will not be triggered).  The same  hap-
       pens when an error(8,n) occurs evaluating the validateCommand.

       Primarily,  an error(8,n) will occur when the validateCommand or invalidCom-
       mand encounters an error(8,n) in(1,8) its script while evaluating or validateCom-
       mand  does  not  return a valid tcl boolean value.  The validate option
       will also set(7,n,1 builtins) itself to none when you edit the entry widget from within
       either  the  validateCommand or the invalidCommand.  Such editions will
       override the one that was being validated.  If you  wish  to  edit  the
       entry  widget  (for  example  set(7,n,1 builtins) it to {}) during validation and still
       have the validate option set(7,n,1 builtins), you should include the command
            after idle {%W config(1,5) -validate  %v}  in(1,8)  the  validateCommand  or
       invalidCommand  (whichever one you were editing the entry widget from).
       It is also recommended to not set(7,n,1 builtins)  an  associated  textVariable  during
       validation,  as  that  can cause the entry widget to become out of sync(1,2,8)
       with the textVariable.


WIDGET COMMAND
       The entry 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.

       Many  of  the  widget  commands for entries take one or more indices as
       arguments.  An index specifies a particular character  in(1,8)  the  entry's
       string(3,n), in(1,8) any of the following ways:

       number      Specifies  the character as a numerical index, where 0 cor-
                   responds to the first character in(1,8) the string.

       anchor      Indicates the anchor point for the selection, which is  set(7,n,1 builtins)
                   with the select(2,7,2 select_tut) from and select(2,7,2 select_tut) adjust widget commands.

       end         Indicates  the  character  just  after  the last one in(1,8) the
                   entry's string.  This is equivalent to specifying a numeri-
                   cal index equal to the length of the entry's string.

       insert      Indicates the character adjacent to and immediately follow-
                   ing the insertion cursor.

       sel.first   Indicates the first character in(1,8) the selection.  It  is  an
                   error(8,n)  to use this form if(3,n) the selection isn't in(1,8) the entry
                   window.

       sel.last    Indicates the character just after  the  last  one  in(1,8)  the
                   selection.   It  is an error(8,n) to use this form if(3,n) the selec-
                   tion isn't in(1,8) the entry window.

       @number     In this form, number is treated as an x-coordinate  in(1,8)  the
                   entry's  window;   the character spanning that x-coordinate
                   is used.  For example, ``@0'' indicates the left-most char-
                   acter in(1,8) the window.

       Abbreviations  may  be  used  for any of the forms above, e.g. ``e'' or
       ``sel.f''.  In general, out-of-range indices are automatically  rounded
       to the nearest legal value.

       The following commands are possible for entry widgets:

       pathName bbox index
              Returns  a  list  of four numbers describing the bounding box of
              the character given by index.  The first  two  elements  of  the
              list  give  the  x and y coordinates of the upper-left corner of
              the screen area covered by the character (in(1,8) pixels relative  to
              the  widget) and the last two elements give the width and height
              of the character, in(1,8) pixels.  The bounding box may  refer  to  a
              region outside the visible area of the window.

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

       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 avail-
              able  options for pathName (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(5,8)
              option (this list will be identical to the corresponding sublist
              of  the  value  returned  if(3,n) 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(1,8) this
              case the command returns an empty string.  Option may  have  any
              of the values accepted by the entry command.

       pathName delete first ?last?
              Delete one or more elements of the entry.  First is the index of
              the first character to delete, and last  is  the  index  of  the
              character  just  after  the  last  one to delete.  If last isn't
              specified it defaults to first+1, i.e.  a  single  character  is
              deleted.  This command returns an empty string.

       pathName get
              Returns the entry's string.

       pathName icursor index
              Arrange for the insertion cursor to be displayed just before the
              character given by index.  Returns an empty string.

       pathName index index
              Returns the numerical index corresponding to index.

       pathName insert index string(3,n)
              Insert the characters of string(3,n) just before the character  indi-
              cated by index.  Returns an empty string.

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

              pathName scan mark x
                     Records x and the current view in(1,8) the entry window;  used
                     in(1,8)  conjunction  with  later scan dragto commands.  Typi-
                     cally this command is  associated  with  a  mouse  button
                     press in(1,8) the widget.  It returns an empty string.

              pathName scan dragto x
                     This  command computes the difference between its x argu-
                     ment and the x argument to the last scan mark command for
                     the widget.  It then adjusts the view left or right by 10
                     times the difference in(1,8) x-coordinates.  This  command  is
                     typically associated with mouse motion events in(1,8) the wid-
                     get, to produce the effect of dragging the entry at  high
                     speed  through  the window.  The return value is an empty
                     string.

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

              pathName selection adjust index
                     Locate  the end of the selection nearest to the character
                     given by index, and adjust that end of the  selection  to
                     be  at  index (i.e including but not going beyond index).
                     The other end of the selection is made the  anchor  point
                     for  future  select(2,7,2 select_tut)  to commands.  If the selection isn't
                     currently in(1,8) the entry, then a new selection  is  created
                     to  include  the  characters  between  index and the most
                     recent selection anchor  point,  inclusive.   Returns  an
                     empty string.

              pathName selection clear(1,3x,3x clrtobot)
                     Clear  the  selection  if(3,n) it is currently in(1,8) this widget.
                     If the selection isn't in(1,8) this widget  then  the  command
                     has no effect.  Returns an empty string.

              pathName selection from index
                     Set the selection anchor point to just before the charac-
                     ter  given  by  index.   Doesn't  change  the  selection.
                     Returns an empty string.

              pathName selection present
                     Returns  1  if(3,n)  there  is  are characters selected in(1,8) the
                     entry, 0 if(3,n) nothing is selected.

              pathName selection range start end
                     Sets the selection to  include  the  characters  starting
                     with  the  one  indexed  by start and ending with the one
                     just before end.  If end refers to the same character  as
                     start  or  an  earlier one, then the entry's selection is
                     cleared.

              pathName selection to index
                     If index is before the anchor point, set(7,n,1 builtins) the selection to
                     the  characters  from  index  up to but not including the
                     anchor point.  If index is the same as the anchor  point,
                     do  nothing.  If index is after the anchor point, set(7,n,1 builtins) the
                     selection to the characters from the anchor point  up  to
                     but  not including index.  The anchor point is determined
                     by the most recent select(2,7,2 select_tut) from or select(2,7,2 select_tut)  adjust  command
                     in(1,8)  this  widget.   If the selection isn't in(1,8) this widget
                     then a new selection is created  using  the  most  recent
                     anchor  point specified for the widget.  Returns an empty
                     string.

       pathName validate
              This command is used to force an evaluation of the  validateCom-
              mand  independent  of  the  conditions specified by the validate
              option.  This is done by temporarily setting the validate option
              to all.  It returns 0 or 1.

       pathName xview args
              This command is used to query and change the horizontal position
              of the text in(1,8) the widget's window.  It can take any of the fol-
              lowing 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(1,8) the window.  For
                     example, if(3,n) the first element is .2 and the  second  ele-
                     ment  is .6, 20% of the entry's text is off-screen to the
                     left, the middle 40% is visible in(1,8) 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(1,8)  the  window so that the character
                     given by index is displayed at the left edge of the  win-
                     dow.

              pathName xview moveto fraction
                     Adjusts  the  view  in(1,8)  the  window so that the character
                     fraction of the way through the text appears at the  left
                     edge  of the window.  Fraction must be a fraction between
                     0 and 1.

              pathName xview scroll number what
                     This command shifts the view in(1,8) the window left or  right
                     according to number and what.  Number must be an integer.
                     What must be either units(1,7) or pages or an abbreviation  of
                     one of these.  If what is units(1,7), the view adjusts left or
                     right by number average-width characters on the  display;
                     if(3,n)  it  is  pages then the view adjusts by number screen-
                     fuls.  If number is negative then characters  farther  to
                     the  left become visible;  if(3,n) it is positive then charac-
                     ters farther to the right become visible.


DEFAULT BINDINGS
       Tk automatically creates class bindings for entries that give them  the
       following default behavior.  In the descriptions below, ``word'' refers
       to a contiguous group of letters, digits, or ``_'' characters,  or  any
       single character other than these.

       [1]    Clicking  mouse  button  1  positions  the insertion cursor just
              before the character underneath the mouse cursor, sets the input
              focus  to  this  widget, and clears any selection in(1,8) the widget.
              Dragging with mouse button 1 strokes out a selection between the
              insertion cursor and the character under the mouse.

       [2]    Double-clicking  with  mouse button 1 selects the word under the
              mouse and positions the insertion cursor at the end of the word.
              Dragging  after  a double click will stroke out a selection con-
              sisting of whole words.

       [3]    Triple-clicking with mouse button 1 selects all of the  text  in(1,8)
              the  entry  and positions the insertion cursor at the end of the
              line.

       [4]    The ends of the selection can be adjusted by dragging with mouse
              button  1 while the Shift key is down;  this will adjust the end
              of the selection that was nearest to the mouse cursor when  but-
              ton 1 was pressed.  If the button is double-clicked before drag-
              ging then the selection will  be  adjusted  in(1,8)  units(1,7)  of  whole
              words.

       [5]    Clicking  mouse button 1 with the Control key down will position
              the insertion cursor in(1,8) the entry without affecting  the  selec-
              tion.

       [6]    If  any  normal  printing characters are typed in(1,8) an entry, they
              are inserted at the point of the insertion cursor.

       [7]    The view in(1,8) the entry can be adjusted  by  dragging  with  mouse
              button  2.   If  mouse  button  2  is clicked without moving the
              mouse, the selection is copied into the entry at the position of
              the mouse cursor.

       [8]    If  the  mouse  is dragged out of the entry on the left or right
              sides while button 1 is pressed, the  entry  will  automatically
              scroll  to  make  more  text visible (if(3,n) there is more text off-
              screen on the side where the mouse left the window).

       [9]    The Left and Right keys move(3x,7,3x curs_move) the insertion cursor one  character
              to  the  left  or  right;   they also clear(1,3x,3x clrtobot) any selection in(1,8) the
              entry and set(7,n,1 builtins) the selection anchor.  If Left or Right  is  typed
              with the Shift key down, then the insertion cursor moves and the
              selection is extended to include the  new  character.   Control-
              Left  and  Control-Right move(3x,7,3x curs_move) the insertion cursor by words, and
              Control-Shift-Left and Control-Shift-Right  move(3x,7,3x curs_move)  the  insertion
              cursor  by  words  and also extend the selection.  Control-b and
              Control-f behave the  same  as  Left  and  Right,  respectively.
              Meta-b  and  Meta-f behave the same as Control-Left and Control-
              Right, respectively.

       [10]   The Home key, or Control-a, will move(3x,7,3x curs_move) the  insertion  cursor  to
              the beginning of the entry and clear(1,3x,3x clrtobot) any selection in(1,8) the entry.
              Shift-Home moves the insertion cursor to the  beginning  of  the
              entry and also extends the selection to that point.

       [11]   The End key, or Control-e, will move(3x,7,3x curs_move) the insertion cursor to the
              end of the entry and clear(1,3x,3x clrtobot) any selection in(1,8) the  entry.   Shift-
              End  moves  the  cursor  to the end and extends the selection to
              that point.

       [12]   The Select key and Control-Space set(7,n,1 builtins) the selection anchor to the
              position of the insertion cursor.  They don't affect the current
              selection.   Shift-Select  and  Control-Shift-Space  adjust  the
              selection  to  the  current  position  of  the insertion cursor,
              selecting from the anchor to the insertion cursor if(3,n)  there  was
              not any selection previously.

       [13]   Control-/ selects all the text in(1,8) the entry.

       [14]   Control-\ clears any selection in(1,8) the entry.

       [15]   The  F16  key (labelled Copy on many Sun workstations) or Meta-w
              copies the selection in(1,8) the widget to the clipboard, if(3,n) there is
              a selection.

       [16]   The F20 key (labelled Cut on many Sun workstations) or Control-w
              copies the selection in(1,8) the widget to the clipboard and  deletes
              the  selection.   If  there  is  no selection in(1,8) the widget then
              these keys have no effect.

       [17]   The F18 key (labelled Paste on many Sun  workstations)  or  Con-
              trol-y  inserts the contents of the clipboard at the position of
              the insertion cursor.

       [18]   The Delete key deletes the selection, if(3,n) there  is  one  in(1,8)  the
              entry.   If  there  is no selection, it deletes the character to
              the right of the insertion cursor.

       [19]   The BackSpace key and Control-h delete the selection,  if(3,n)  there
              is  one  in(1,8) the entry.  If there is no selection, it deletes the
              character to the left of the insertion cursor.

       [20]   Control-d deletes the character to the right  of  the  insertion
              cursor.

       [21]   Meta-d deletes the word to the right of the insertion cursor.

       [22]   Control-k  deletes all the characters to the right of the inser-
              tion cursor.

       [23]   Control-t reverses the order of the two characters to the  right
              of the insertion cursor.

       If the entry is disabled using the -state option, then the entry's view
       can still be adjusted and text in(1,8) the entry can still be selected,  but
       no  insertion  cursor  will be displayed and no text modifications will
       take place except if(3,n) the entry  is  linked  to  a  variable  using  the
       -textvariable  option,  in(1,8)  which  case any changes to the variable are
       reflected by the entry whatever the value of its -state option.

       The behavior of entries can be changed by  defining  new  bindings  for
       individual widgets or by redefining the class bindings.


KEYWORDS
       entry, widget



Tk                                    8.3                             entry(n)

References for this manual (incoming links)