scopedobject - Create and manipulate a scoped \[incr Tcl\] class object.


scopedobject objName ?options?




Name:                   enterscopecommand:
Command-Line Switch:	-enterscopecommand

Name:                   enterscopecommand:
Command-Line Switch:	-enterscopecommand


The scopedobject command creates a base class for defining Itcl classes which posses scoped behavior like Tcl variables. The objects are only accessible within the procedure in which they are instantiated and are deleted when the procedure returns. This class was designed to be a general purpose base class for supporting scoped incr Tcl classes. The options include the execute a Tcl script command when an object enters and exits its scope.


The scopedobject command creates a new Tcl command whose name is pathName. This command may be used to invoke various operations on the object. 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 scopedobject objects:


pathName cget option
Returns the current value of the configuration option given by option. Option may have any of the values accepted by the scopedobject command.
pathName configure ?option? ?value option value ...?
Query or modify the configuration options of the object. If no option is specified, returns a list describing all of the available options for pathName. 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 objects option(s) to have the given value(s); in this case the command returns an empty string. Option may have any of the values accepted by the scopedobject command.


  proc scopedobject_demo {} {
    scopedobject #auto \
        -exitscopecommand {puts "enter scopedobject_demo"} \
        -exitscopecommand {puts "exit scopedobject_demo"}



John A. Tucker


scopedobject, object