summaryrefslogtreecommitdiff
path: root/itcl/itk/examples/Info.itk
diff options
context:
space:
mode:
Diffstat (limited to 'itcl/itk/examples/Info.itk')
-rw-r--r--itcl/itk/examples/Info.itk59
1 files changed, 59 insertions, 0 deletions
diff --git a/itcl/itk/examples/Info.itk b/itcl/itk/examples/Info.itk
new file mode 100644
index 00000000000..c4f86d52ddd
--- /dev/null
+++ b/itcl/itk/examples/Info.itk
@@ -0,0 +1,59 @@
+# ----------------------------------------------------------------------
+# EXAMPLE: info dialog box (Toplevel widget)
+# ----------------------------------------------------------------------
+# COURSE: Object-Oriented Programming with [incr Tcl]
+# AUTHOR: Michael J. McLennan, Bell Labs Innovations
+# ======================================================================
+# Copyright (c) 1996 Lucent Technologies
+# ======================================================================
+
+option add *Info.title "Info" widgetDefault
+
+class Info {
+ 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 $itk_interior.info
+ }
+ pack $itk_component(infoFrame) -side left -expand yes \
+ -fill both -padx 4 -pady 4
+
+ set itk_interior $itk_component(infoFrame)
+
+ 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
+ }
+}
+
+usual Info {
+ keep -background -cursor -foreground -font
+ keep -activebackground -activeforeground -disabledforeground
+ keep -highlightcolor -highlightthickness
+}