itk(n) [osx man page]
itk(n) [incr Tk] itk(n) __________________________________________________________________________________________________________________________________________________ NAME
itk - framework for building mega-widgets in Tcl/Tk _________________________________________________________________ DESCRIPTION
Mega-widgets are high-level widgets that are constructed using Tk widgets as component parts, usually without any C code. A fileselection- box, for example, may have a few listboxes, some entry widgets and some control buttons. These individual widgets are put together in a way that makes them act like one big widget. A fileselectionbox mega-widget can be created with a command like: fileselectionbox .fsb -background blue -foreground white Once it has been created, it can be reconfigured with a command like: .fsb configure -background green -foreground black and all of its internal components will change color. Each mega-widget has a set of methods that can be used to manipulate it. For exam- ple, the current selection can be queried from a fileselectionbox like this: set fileName [.fsb get] In effect, a mega-widget looks and acts exactly like a Tk widget, but is considerably easier to implement. [incr Tk] is a framework for building mega-widgets. It uses [incr Tcl] to support the object paradigm, and adds base classes which provide default widget behaviors. All [incr Tk] widgets are derived from the Archetype base class. This class manages internal component widgets, and provides methods like "configure" and "cget" to access configuration options. The Widget base class inherits everything from Archetype, and adds a Tk frame which acts as a container for the mega-widget. It is used to build mega-widgets that sit inside of other frames and toplevels. Derived classes create other internal components and pack them into the "hull" frame created by the Widget base class. The Toplevel base class inherits everything from Archetype, but adds a Tk toplevel which acts as a container for the mega-widget. It is used to build mega-widgets, such as dialog boxes, that have their own toplevel window. Derived classes create other internal components and pack them into the "hull" toplevel created by the Toplevel base class. [incr Widgets] LIBRARY [incr Widgets] is a mega-widget library built using [incr Tk]. It can be used right out of the box, and contains more than 30 different widget classes, including: - fileselectiondialog - tabnotebook - panedwindow - combobox - optionmenu - scrolledlistbox - scrolledframe - messagedialog - and many others... The catalog demo in the "iwidgets/demos" directory shows all of the available widgets in action. Each widget class has its own man page describing the features available. KEYWORDS
class, object, object-oriented, mega-widget itk 3.0 itk(n)
Check Out this Related Man Page
Widget(n) [incr Tk] Widget(n) __________________________________________________________________________________________________________________________________________________ NAME
Widget - base class for mega-widgets within a frame INHERITANCE
itk::Archetype <- itk::Widget STANDARD OPTIONS
background cursor See the "options" manual entry for details on the standard options. _________________________________________________________________ DESCRIPTION
The Widget class inherits everything from the Archetype class, and adds a Tk frame called the "hull" component to represent the body of the mega-widget. The window class name for the hull is set to the most-specific class name for the mega-widget. The protected variable itk_interior contains the window path name for the "hull" component. Derived classes specialize this widget by packing other widget compo- nents into the hull. Since the hull for the Widget class is implemented with a Tk frame, mega-widgets in the Widget class can be packed into other frames and toplevels. COMPONENTS
Name: hull Class: Frame The "hull" component acts as the body for the entire mega-widget. Other components are packed into the hull to further specialize the widget. EXAMPLE
The following example implements a simple TextDisplay mega-widget. It creates a read-only display of text with a text widget and a scroll- bar. option add *TextDisplay.wrap none widgetDefault option add *TextDisplay.textBackground ivory widgetDefault option add *TextDisplay.width 40 widgetDefault option add *TextDisplay.height 10 widgetDefault itcl::class TextDisplay { inherit itk::Widget constructor {args} { itk_component add text { text $itk_interior.info -state disabled -yscrollcommand [code $itk_interior.sbar set] } { usual keep -tabs -wrap -width -height rename -background -textbackground textBackground Background } pack $itk_component(text) -side left -expand yes -fill both itk_component add scrollbar { scrollbar $itk_interior.sbar -command [code $itk_interior.info yview] } pack $itk_component(scrollbar) -side right -fill y eval itk_initialize $args } public method display {info} public method append {info} } itcl::body TextDisplay::display {info} { $itk_component(text) configure -state normal $itk_component(text) delete 1.0 end $itk_component(text) insert 1.0 $info $itk_component(text) configure -state disabled } itcl::body TextDisplay::append {info} { $itk_component(text) configure -state normal $itk_component(text) insert end $info $itk_component(text) configure -state disabled } itk::usual TextDisplay { keep -background -cursor -foreground -font keep -activebackground -activerelief keep -highlightcolor -highlightthickness keep -insertbackground -insertborderwidth -insertwidth keep -insertontime -insertofftime keep -selectbackground -selectborderwidth -selectforeground keep -textbackground -troughcolor } # # EXAMPLE: Display the /etc/passwd file # TextDisplay .file -background red pack .file .file display [exec cat /etc/passwd] KEYWORDS
itk, Archetype, Widget, mega-widget itk 3.0 Widget(n)