This is an abstract class that provides the cget and configure methods like Tk widgets have to TclOO objects.

Default values for attributes (aka options) can be set using the initialise/initialize method of the class inheriting this class. A classvariable, DefaultConfiguration, that is a dictionary is used to define the default values for the attributes.

initialize {
    variable  DefaultConfiguration
    set DefaultConfiguration {
          -color              blue
          -quest              {To find the holy grail}
          -airSpeedOfSparrow  {African or European}

Please remember to call the base class constructor if you declare your own constructor.

The base class constructor will set all the attributes to their default value. If you pass arguments to the base class constructor, it will call configure with those arguments.

NOTE: the package requires Tcl 9.0 (as it currently is) although it will also run with 8.7 if you change the package require at the top of the file.