ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



itclvars(n)                                      [incr Tcl]                                      itclvars(n)



NAME
       itclvars - variables used by [incr Tcl]


DESCRIPTION
       The  following  global  variables  are  created  and managed automatically by the [incr Tcl] library.
       Except where noted below, these variables should normally be treated as read-only by application-spe-cific application-specific
       cific code and by users.

       itcl::library
              When  an  interpreter  is  created, [incr Tcl] initializes this variable to hold the name of a
              directory containing  the  system  library  of  [incr Tcl]  scripts.   The  initial  value  of
              itcl::library  is  set from the ITCL_LIBRARY environment variable if it exists, or from a com-piled-in compiled-in
              piled-in value otherwise.

       itcl::patchLevel
              When an interpreter is created, [incr Tcl] initializes this variable to hold the current patch
              level  for  [incr Tcl].   For example, the value "2.0p1" indicates [incr Tcl] version 2.0 with
              the first set of patches applied.

       itcl::purist
              When an interpreter is created containing Tcl/Tk and the [incr Tcl] namespace  facility,  this
              variable controls a "backward-compatibility" mode for widget access.

              In  vanilla  Tcl/Tk, there is a single pool of commands, so the access command for a widget is
              the same as the window name.  When a widget is created within a namespace, however, its access
              command  is installed in that namespace, and should be accessed outside of the namespace using
              a qualified name.  For example, namespace foo {
                  namespace bar {
                      button .b -text "Testing"
                  } } foo::bar::.b configure -background red pack .b Note that the window name ".b" is still
              used  in conjunction with commands like pack and destroy.  However, the access command for the
              widget (i.e., name that appears as the first argument on a command line)  must  be  more  spe-cific. specific.
              cific.

              The  "winfo  command"  command can be used to query the fully-qualified access command for any
              widget, so one can write: [winfo command .b] configure -background red and this is good  prac-tice practice
              tice  when  writing  library procedures.  Also, in conjunction with the bind command, the "%q"
              field can be used in place of "%W" as the access command: bind Button <Key-Return> {%q  flash;
              %q  invoke}  While  this  behavior makes sense from the standpoint of encapsulation, it causes
              problems with existing Tcl/Tk applications.  Many existing applications are written with bind-ings bindings
              ings  that  use  "%W".  Many library procedures assume that the window name is the access com-mand. command.
              mand.

              The itcl::purist variable controls a backward-compatibility mode.  By default,  this  variable
              is  "0",  and  the  window name can be used as an access command in any context.  Whenever the
              unknown procedure stumbles across a widget name, it simply uses "winfo command"  to  determine
              the  appropriate  command  name.   If this variable is set to "1", this backward-compatibility
              mode is disabled.  This gives better encapsulation, but using the window name  as  the  access
              command may lead to "invalid command" errors.

       itcl::version
              When  an interpreter is created, [incr Tcl] initializes this variable to hold the version num-ber number
              ber of the form x.y.  Changes to x represent major changes with probable incompatibilities and
              changes to y represent small enhancements and bug fixes that retain backward compatibility.


KEYWORDS
       itcl, variables



itcl                                                 3.0                                         itclvars(n)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.