Next: Public Variable Configuration Up: Declaring and Using Previous: Initialization of Public

 

Type Checker 

You can use a type ckecker procedure to check whether the user has supplied a value of the correct type for a public variable. The type checker is specified in the -configspec section of the class declaration after the default value. The following code specifies the type checker procedure CheckDirection for the -direction variable:

-configspec {
{-direction direction Direction e CheckDirection}
{-state state State normal}
}
...
}

proc CheckDirection {dir} {
if {[lsearch {n s w e} $dir] != -1} {
return $dir
} else {
error "wrong direction value $
$"$dir$
$""
}

Notice that no type checker has been specified for the -state variable and thus its value will not be checked.

If a type checker procedure is specified for a public variable, this procedure will be called once the value of a public variable is determined by the three steps mentioned above.


http://tix.sourceforge.net