| # |
| # itk::Widget |
| # ---------------------------------------------------------------------- |
| # Base class for ordinary widgets in the [incr Tk] Toolkit. Creates |
| # a frame to contain the widget. Derived classes add widgets and |
| # methods to specialize behavior. |
| # |
| # METHODS: |
| # |
| # WIDGET ATTRIBUTES: |
| # switch: -background .... normal background color for widget |
| # name: background |
| # class: Background |
| # |
| # switch: -cursor ........ cursor used when pointer is inside |
| # name: cursur widget |
| # class: Cursur |
| # |
| # ---------------------------------------------------------------------- |
| # AUTHOR: Michael J. McLennan |
| # Bell Labs Innovations for Lucent Technologies |
| # mmclennan@lucent.com |
| # http://www.tcltk.com/itcl |
| # |
| # RCS: $Id: Widget.itk,v 1.1 1998/07/27 18:45:28 stanton Exp $ |
| # ---------------------------------------------------------------------- |
| # Copyright (c) 1993-1998 Lucent Technologies, Inc. |
| # ====================================================================== |
| # See the file "license.terms" for information on usage and |
| # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
| |
| itcl::class itk::Widget { |
| inherit itk::Archetype |
| |
| # ------------------------------------------------------------------ |
| # CONSTRUCTOR |
| # ------------------------------------------------------------------ |
| constructor {args} { |
| # |
| # Create a window with the same name as this object |
| # |
| set itk_hull [namespace tail $this] |
| set itk_interior $itk_hull |
| |
| itk_component add hull { |
| frame $itk_hull -class [namespace tail [info class]] |
| } { |
| keep -background -cursor |
| } |
| bind itk-delete-$itk_hull <Destroy> "itcl::delete object $this" |
| |
| set tags [bindtags $itk_hull] |
| bindtags $itk_hull [linsert $tags 0 itk-delete-$itk_hull] |
| |
| eval itk_initialize $args |
| } |
| |
| destructor { |
| if {[winfo exists $itk_hull]} { |
| set tags [bindtags $itk_hull] |
| set i [lsearch $tags itk-delete-$itk_hull] |
| if {$i >= 0} { |
| bindtags $itk_hull [lreplace $tags $i $i] |
| } |
| destroy $itk_hull |
| } |
| } |
| |
| private variable itk_hull "" |
| } |