You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.1 KiB
HTML
97 lines
3.1 KiB
HTML
<TITLE>scopedobject - Create and manipulate a scoped \[incr Tcl\] class object.</TITLE>
|
|
<H1>scopedobject - Create and manipulate a scoped \[incr Tcl\] class object.</H1>
|
|
|
|
</pre><H2>SYNOPSIS</H2>
|
|
<B>scopedobject<I> <I>objName </I>?<I>options</I>?
|
|
</pre><H2>INHERITANCE</H2>
|
|
None
|
|
</pre><H2>STANDARD OPTIONS</H2>
|
|
<P>
|
|
<pre>
|
|
Name: <B>enterscopecommand:</B>
|
|
Command-Line Switch: <B>-enterscopecommand</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies a Tcl command to invoke when an object enters scope
|
|
(i.e. when it is created..). The default is {}.
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
Name: <B>enterscopecommand:</B>
|
|
Command-Line Switch: <B>-enterscopecommand</B>
|
|
</pre>
|
|
<UL>
|
|
Specifies a Tcl command to invoke when an object exits scope
|
|
(i.e. when it is deleted..). The default is {}.
|
|
</UL>
|
|
<P>
|
|
</pre><HR>
|
|
|
|
</pre><H2>DESCRIPTION</H2>
|
|
<P>
|
|
The <B>scopedobject</B> 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.
|
|
</pre><H2>METHODS</H2>
|
|
<P>
|
|
The <B>scopedobject</B> command creates a new Tcl command whose
|
|
name is <I>pathName</I>. This
|
|
command may be used to invoke various operations on the object.
|
|
It has the following general form:
|
|
<pre>
|
|
<I>pathName option </I>?<I>arg arg ...</I>?
|
|
</pre>
|
|
<I>Option</I> and the <I>arg</I>s
|
|
determine the exact behavior of the command. The following
|
|
commands are possible for scopedobject objects:
|
|
</pre><H2>OBJECT-SPECIFIC METHODS</H2>
|
|
<DL>
|
|
<DT> <I>pathName <B>cget</B> <I>option</I>
|
|
</I></B>
|
|
<DD> Returns the current value of the configuration option given
|
|
by <I>option</I>.
|
|
<I>Option</I> may have any of the values accepted by the <B>scopedobject</B>
|
|
command.
|
|
</DL>
|
|
<DL>
|
|
<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
|
|
</I></B>
|
|
<DD> Query or modify the configuration options of the object.
|
|
If no <I>option</I> is specified, returns a list describing all of
|
|
the available options for <I>pathName</I>. If <I>option</I> is specified
|
|
with no <I>value</I>, 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 <I>option</I> is specified). If
|
|
one or more <I>option-value</I> 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.
|
|
<I>Option</I> may have any of the values accepted by the <B>scopedobject</B>
|
|
command.
|
|
|
|
</DL>
|
|
</pre><H2>EXAMPLE</H2>
|
|
<UL>
|
|
The scopedobject was primarily meant to be a base class. The
|
|
following is an example of usage without inheritance:
|
|
</UL>
|
|
<P>
|
|
<pre>
|
|
proc scopedobject_demo {} {
|
|
scopedobject #auto \
|
|
-exitscopecommand {puts "enter scopedobject_demo"} \
|
|
-exitscopecommand {puts "exit scopedobject_demo"}
|
|
}
|
|
|
|
scopedobject_demo
|
|
|
|
</pre>
|
|
</pre><H2>AUTHOR</H2>
|
|
John A. Tucker
|
|
</pre><H2>KEYWORDS</H2>
|
|
scopedobject, object
|