Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages
Toplevel(n) [incr Tk] Toplevel(n)
See the file man.macros.

Toplevel - base class for mega-widgets in a top-level window

itk::Archetype <- itk::Toplevel

background	cursor
See the "options" manual entry for details on the standard options.

Name:    title
Class:   Title
Command-Line Switch:     -title
Sets the title that the window manager displays in the title bar above the window. The default title is the null string.

The Toplevel class inherits everything from the Archetype class, and adds a Tk toplevel 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 components into the hull.
Since the hull for the Toplevel class is implemented with a Tk toplevel, mega-widgets in the Toplevel class have their own toplevel window. This class is used to create dialog boxes and other pop-up windows.

Name:	 hull
Class:	 Toplevel
The "hull" component acts as the body for the entire mega-widget. Other components are packed into the hull to further specialize the widget.

The following example implements a MessageInfo mega-widget. It creates a pop-up message that the user can dismiss by pushing the "Dismiss" button. option add *MessageInfo.title "Notice" widgetDefault
itcl::class MessageInfo {
inherit itk::Toplevel

constructor {args} {
itk_component add dismiss {
button $itk_interior.dismiss -text "Dismiss" -command "destroy $itk_component(hull)"
pack $itk_component(dismiss) -side bottom -pady 4

itk_component add separator {
frame $itk_interior.sep -height 2 -borderwidth 1 -relief sunken
pack $itk_component(separator) -side bottom -fill x -padx 4

itk_component add icon {
label $itk_interior.icon -bitmap info
pack $itk_component(icon) -side left -padx 8 -pady 8

itk_component add infoFrame {
frame $
pack $itk_component(infoFrame) -side left -expand yes -fill both -padx 4 -pady 4

itk_component add message {
label $itk_interior.mesg -width 20
} {
rename -text -message message Text
pack $itk_component(message) -expand yes -fill both

eval itk_initialize $args

after idle [code $this centerOnScreen]

protected method centerOnScreen {} {
update idletasks
set wd [winfo reqwidth $itk_component(hull)]
set ht [winfo reqheight $itk_component(hull)]
set x [expr ([winfo screenwidth $itk_component(hull)]-$wd)/2]
set y [expr ([winfo screenheight $itk_component(hull)]-$ht)/2]
wm geometry $itk_component(hull) +$x+$y
} }
itk::usual MessageInfo {
keep -background -cursor -foreground -font
keep -activebackground -activeforeground -disabledforeground
keep -highlightcolor -highlightthickness }
# # EXAMPLE: Create a notice window: # MessageInfo .m -message "File not found:\n/usr/local/bin/foo"

itk, Archetype, Widget, mega-widget
3.0 itk

Search for    or go to Top of page |  Section n |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.