# Tcl autoload index file, version 2.0
# This file is generated by the "auto_mkindex" command
# and sourced to set up indexing information for one or
# more commands.  Typically each line is a command that
# sets an element in the auto_index array, where the
# element name is the name of a command and the value is
# a script that loads the command.

set auto_index(::itk::Archetype) [list source [file join $dir Archetype.itk]]
set auto_index(::itk::Toplevel) [list source [file join $dir Toplevel.itk]]
set auto_index(::itk::Widget) [list source [file join $dir Widget.itk]]
