aboutsummaryrefslogtreecommitdiff
path: root/contrib/testit
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/testit')
-rwxr-xr-xcontrib/testit1149
1 files changed, 1149 insertions, 0 deletions
diff --git a/contrib/testit b/contrib/testit
new file mode 100755
index 0000000..e866aa6
--- /dev/null
+++ b/contrib/testit
@@ -0,0 +1,1149 @@
+#!/usr/latest/bin/wish -f
+# Program: testit
+# Tcl version: 7.2 (Tcl/Tk/XF)
+# Tk version: 3.5
+# XF version: 2.2
+#
+
+
+# procedure to show window .
+proc ShowWindow. {args} {# xf ignore me 7
+
+ # Window manager configurations
+ global tkVersion
+ wm positionfrom . user
+ wm sizefrom . ""
+ wm maxsize . 1152 900
+ wm title . {xf}
+
+ # bindings
+ bind . <Button-3> {MenuPopupPost .frame0.menubutton3.m.menu4 %X %Y}
+ bind . <ButtonRelease-3> {MenuPopupRelease .frame0.menubutton3.m.menu4 %W}
+
+ # build widget .frame0
+ frame .frame0 \
+ -background {white} \
+ -borderwidth {2} \
+ -relief {raised}
+
+ # build widget .frame0.menubutton0
+ menubutton .frame0.menubutton0 \
+ -background {white} \
+ -foreground {black} \
+ -menu {.frame0.menubutton0.m} \
+ -text {Summaries}
+
+ # build widget .frame0.menubutton0.m
+ menu .frame0.menubutton0.m \
+ -background {white} \
+ -foreground {black}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/gcc.sum
+
+} \
+ -label {Gcc}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/g++.sum
+
+} \
+ -label {G++}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/gdb.sum
+
+} \
+ -label {Gdb}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/gas.sum
+
+} \
+ -label {Gas}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/binutils.sum
+
+} \
+ -label {Binutils}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/runtest.sum
+
+} \
+ -label {Runtest}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/tcl.sum
+
+} \
+ -label {Tcl}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/expect.sum
+
+} \
+ -label {Expect}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/libg++.sum
+
+} \
+ -label {Libg++}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/libio.sum
+
+} \
+ -label {Libio}
+ .frame0.menubutton0.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/libm.sum
+
+} \
+ -label {Libm}
+
+ # build widget .frame0.menubutton1
+ menubutton .frame0.menubutton1 \
+ -background {white} \
+ -foreground {black} \
+ -menu {.frame0.menubutton1.m} \
+ -text {Misc}
+
+ # build widget .frame0.menubutton1.m
+ menu .frame0.menubutton1.m \
+ -background {white} \
+ -foreground {black}
+ .frame0.menubutton1.m add command \
+ -command {EndSrc
+destroy .} \
+ -label {Exit}
+ .frame0.menubutton1.m add command \
+ -command {.frame6.frame.text2 delete 0.0 end} \
+ -label {Clear window}
+ .frame0.menubutton1.m add command \
+ -command {dialogbox} \
+ -label {Editor}
+ .frame0.menubutton1.m add command \
+ -command {.frame6.frame.text2 insert 0.0 "Top of tree is $testbase\n"} \
+ -label {Show filename}
+
+ # build widget .frame0.menubutton3
+ menubutton .frame0.menubutton3 \
+ -background {white} \
+ -foreground {black} \
+ -menu {.frame0.menubutton3.m} \
+ -text {Host}
+
+ # build widget .frame0.menubutton3.m
+ menu .frame0.menubutton3.m \
+ -background {white} \
+ -foreground {black}
+ .frame0.menubutton3.m add command \
+ -command {set host "alpha-dec-osf1.3"} \
+ -label {alpha-dec-osf1.3}
+ .frame0.menubutton3.m add command \
+ -command {set host "hppa1.1-hp-hpux"} \
+ -label {hppa1.1-hp-hpux}
+ .frame0.menubutton3.m add command \
+ -command {set host "i386-unknown-sysv4.2"} \
+ -label {i386-unknown-sysv4.2}
+ .frame0.menubutton3.m add command \
+ -command {set host "m68k-hp-hpux"} \
+ -label {m68k-hp-hpux}
+ .frame0.menubutton3.m add command \
+ -command {set host "m68k-sun-sunos4.1.1"} \
+ -label {m68k-sun-sunos4.1.1}
+ .frame0.menubutton3.m add command \
+ -command {set host "mips-dec-ultrix4.2"} \
+ -label {mips-dec-ultrix4.2}
+ .frame0.menubutton3.m add command \
+ -command {set host "mips-sgi-irix4.0.5H"} \
+ -label {mips-sgi-irix4.0.5H}
+ .frame0.menubutton3.m add command \
+ -command {set host "rs6000-ibm-aix3.2"} \
+ -label {rs6000-ibm-aix3.2}
+ .frame0.menubutton3.m add command \
+ -command {set host "sparc-sun-solaris2.3"} \
+ -label {sparc-sun-solaris2.3}
+ .frame0.menubutton3.m add command \
+ -command {set host "sparc-sun-sunos4.1.3"} \
+ -label {sparc-sun-sunos4.1.3}
+
+ # build widget .frame0.menubutton2
+ menubutton .frame0.menubutton2 \
+ -background {white} \
+ -foreground {black} \
+ -menu {.frame0.menubutton2.m} \
+ -text {Target}
+
+ # build widget .frame0.menubutton2.m
+ menu .frame0.menubutton2.m \
+ -background {white} \
+ -foreground {black}
+ .frame0.menubutton2.m add command \
+ -command {set target "a29k-amd-udi"} \
+ -label {a29k-amd-udi}
+ .frame0.menubutton2.m add command \
+ -command {set target "h8300-hms"} \
+ -label {h8300-hms}
+ .frame0.menubutton2.m add command \
+ -command {set target "i386-aout"} \
+ -label {i386-aout}
+ .frame0.menubutton2.m add command \
+ -command {set target "i386-lynx"} \
+ -label {i386-lynx}
+ .frame0.menubutton2.m add command \
+ -command {set target "i960-intel-nindy"} \
+ -label {i960-intel-nindy}
+ .frame0.menubutton2.m add command \
+ -command {set target "i960-vxwork"} \
+ -label {i960-vxworks}
+ .frame0.menubutton2.m add command \
+ -command {set target "m68k-aout"} \
+ -label {m68k-aout}
+ .frame0.menubutton2.m add command \
+ -command {set target "m68k-coff"} \
+ -label {m68k-coff}
+ .frame0.menubutton2.m add command \
+ -command {set target "m68k-lynx"} \
+ -label {m68k-lynx}
+ .frame0.menubutton2.m add command \
+ -command {set target "m68k-vxworks"} \
+ -label {m68k-vxworks}
+ .frame0.menubutton2.m add command \
+ -command {set target "mips-idt-ecoff"} \
+ -label {mips-idt-ecoff}
+ .frame0.menubutton2.m add command \
+ -command {set target "sh-hms"} \
+ -label {sh-hms}
+ .frame0.menubutton2.m add command \
+ -command {set target "sparc-aout"} \
+ -label {sparc-aout}
+ .frame0.menubutton2.m add command \
+ -command {set target "sparc-sun-sunos4.1.3"} \
+ -label {sparc-sun-sunos4.1.3}
+ .frame0.menubutton2.m add command \
+ -command {set target "sparc-vxworks"} \
+ -label {sparc-vxworks}
+ .frame0.menubutton2.m add command \
+ -command {set target "sparclite-aout"} \
+ -label {sparclite-aout}
+ .frame0.menubutton2.m add command \
+ -command {set target "sparclite-coff"} \
+ -label {sparclite-coff}
+ .frame0.menubutton2.m add command \
+ -command {set target "hppa1.1-hp-hpux"} \
+ -label {hppa1.1-hp-hpux}
+ .frame0.menubutton2.m add command \
+ -command {set target "i386-unknown-sysv4.2"} \
+ -label {i386-unknown-sysv4.2}
+ .frame0.menubutton2.m add command \
+ -command {set target "m68k-hp-hpux"} \
+ -label {m68k-hp-hpux}
+ .frame0.menubutton2.m add command \
+ -command {set target "m68k-sun-sunos4.1.1"} \
+ -label {m68k-sun-sunos4.1.1}
+ .frame0.menubutton2.m add command \
+ -command {set target "mips-dec-ultrix4.2"} \
+ -label {mips-dec-ultrix4.2}
+ .frame0.menubutton2.m add command \
+ -command {set target "mips-sgi-irix4.0.5H"} \
+ -label {mips-sgi-irix4.0.5H}
+ .frame0.menubutton2.m add command \
+ -command {set target "rs6000-ibm-aix3.2"} \
+ -label {rs6000-ibm-aix3.2}
+ .frame0.menubutton2.m add command \
+ -command {set target "sparc-sun-solaris2.3"} \
+ -label {sparc-sun-solaris2.3}
+
+ # build widget .frame0.menubutton9
+ menubutton .frame0.menubutton9 \
+ -background {white} \
+ -foreground {black} \
+ -menu {.frame0.menubutton9.m} \
+ -text {Results}
+
+ # build widget .frame0.menubutton9.m
+ menu .frame0.menubutton9.m \
+ -background {white} \
+ -foreground {black}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/gcc
+
+} \
+ -label {Gcc}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/g++
+
+} \
+ -label {G++}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/gdb
+
+} \
+ -label {Gdb}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/gas
+
+} \
+ -label {Gas}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/binutils
+
+} \
+ -label {Binutils}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/runtest
+} \
+ -label {Runtest}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/tcl
+
+} \
+ -label {Tcl}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/expect
+
+} \
+ -label {Expect}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/libg++
+
+} \
+ -label {Libg++}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/libio
+} \
+ -label {Libio}
+ .frame0.menubutton9.m add command \
+ -command {getresult $testbase/objdir/$host/$target/logs/libm
+
+} \
+ -label {Libm}
+
+ # build widget .frame0.menubutton10
+ menubutton .frame0.menubutton10 \
+ -background {white} \
+ -foreground {black} \
+ -menu {.frame0.menubutton10.m} \
+ -text {Logs}
+
+ # build widget .frame0.menubutton10.m
+ menu .frame0.menubutton10.m \
+ -background {white} \
+ -foreground {black}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/gcc.log
+
+} \
+ -label {Gcc}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/g++.log
+
+} \
+ -label {G++}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/gdb.log
+
+} \
+ -label {Gdb}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/gas.log
+
+} \
+ -label {Gas}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/binutils.log
+
+} \
+ -label {Binutils}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/runtest.log
+
+} \
+ -label {Runtest}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/tcl.log
+
+} \
+ -label {Tcl}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/expect.log
+
+} \
+ -label {Expect}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/libg++.log
+
+} \
+ -label {Libg++}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/libio.log
+
+} \
+ -label {Libio}
+ .frame0.menubutton10.m add command \
+ -command {loadfile $testbase/objdir/$host/$target/logs/libm.log
+
+} \
+ -label {Libm}
+
+ # pack widget .frame0
+ pack append .frame0 \
+ .frame0.menubutton0 {left frame center} \
+ .frame0.menubutton1 {right frame center} \
+ .frame0.menubutton3 {left frame center} \
+ .frame0.menubutton2 {left frame center} \
+ .frame0.menubutton9 {left frame center} \
+ .frame0.menubutton10 {left frame center}
+
+ # build widget .frame1
+ frame .frame1 \
+ -background {white} \
+ -borderwidth {2} \
+ -relief {raised}
+
+ # build widget .frame1.message3
+ message .frame1.message3 \
+ -aspect {1500} \
+ -background {white} \
+ -borderwidth {0} \
+ -foreground {black} \
+ -padx {5} \
+ -pady {2} \
+ -relief {raised} \
+ -text {sparc-sun-sunos4.1.3} \
+ -textvariable {host}
+
+ # build widget .frame1.message4
+ message .frame1.message4 \
+ -aspect {1500} \
+ -background {white} \
+ -borderwidth {0} \
+ -foreground {black} \
+ -padx {5} \
+ -pady {2} \
+ -relief {raised} \
+ -text {sparc-sun-sunos4.1.3} \
+ -textvariable {target}
+
+ # pack widget .frame1
+ pack append .frame1 \
+ .frame1.message3 {left frame center} \
+ .frame1.message4 {right frame center}
+
+ # build widget .frame6
+ frame .frame6 \
+ -background {white} \
+ -borderwidth {2} \
+ -relief {raised}
+
+ # build widget .frame6.frame
+ frame .frame6.frame \
+ -background {white} \
+ -relief {raised}
+
+ # build widget .frame6.frame.scrollbar1
+ scrollbar .frame6.frame.scrollbar1 \
+ -background {white} \
+ -command {.frame6.frame.text2 yview} \
+ -foreground {black} \
+ -relief {raised}
+
+ # build widget .frame6.frame.text2
+ text .frame6.frame.text2 \
+ -background {white} \
+ -borderwidth {2} \
+ -foreground {black} \
+ -relief {raised} \
+ -wrap {word} \
+ -yscrollcommand {.frame6.frame.scrollbar1 set}
+
+ # pack widget .frame6.frame
+ pack append .frame6.frame \
+ .frame6.frame.scrollbar1 {left frame center filly} \
+ .frame6.frame.text2 {top frame center expand fill}
+
+ # pack widget .frame6
+ pack append .frame6 \
+ .frame6.frame {top frame center fill}
+
+ # pack widget .
+ pack append . \
+ .frame0 {top frame center fillx} \
+ .frame1 {bottom frame center fillx} \
+ .frame6 {top frame center expand fill}
+
+ .frame6.frame.text2 insert end {}
+
+
+
+ if {"[info procs XFEdit]" != ""} {
+ catch "XFMiscBindWidgetTree ."
+ after 2 "catch {XFEditSetShowWindows}"
+ }
+}
+
+
+# Procedure: Alias
+if {"[info procs Alias]" == ""} {
+proc Alias { args} {
+# xf ignore me 7
+##########
+# Procedure: Alias
+# Description: establish an alias for a procedure
+# Arguments: args - no argument means that a list of all aliases
+# is returned. Otherwise the first parameter is
+# the alias name, and the second parameter is
+# the procedure that is aliased.
+# Returns: nothing, the command that is bound to the alias or a
+# list of all aliases - command pairs.
+# Sideeffects: internalAliasList is updated, and the alias
+# proc is inserted
+##########
+ global internalAliasList
+
+ if {[llength $args] == 0} {
+ return $internalAliasList
+ } {
+ if {[llength $args] == 1} {
+ set xfTmpIndex [lsearch $internalAliasList "[lindex $args 0] *"]
+ if {$xfTmpIndex != -1} {
+ return [lindex [lindex $internalAliasList $xfTmpIndex] 1]
+ }
+ } {
+ if {[llength $args] == 2} {
+ eval "proc [lindex $args 0] {args} {#xf ignore me 4
+return \[eval \"[lindex $args 1] \$args\"\]}"
+ set xfTmpIndex [lsearch $internalAliasList "[lindex $args 0] *"]
+ if {$xfTmpIndex != -1} {
+ set internalAliasList [lreplace $internalAliasList $xfTmpIndex $xfTmpIndex "[lindex $args 0] [lindex $args 1]"]
+ } {
+ lappend internalAliasList "[lindex $args 0] [lindex $args 1]"
+ }
+ } {
+ error "Alias: wrong number or args: $args"
+ }
+ }
+ }
+}
+}
+
+
+# Procedure: GetSelection
+if {"[info procs GetSelection]" == ""} {
+proc GetSelection {} {
+# xf ignore me 7
+##########
+# Procedure: GetSelection
+# Description: get current selection
+# Arguments: none
+# Returns: none
+# Sideeffects: none
+##########
+
+ # the save way
+ set xfSelection ""
+ catch "selection get" xfSelection
+ if {"$xfSelection" == "selection doesn't exist or form \"STRING\" not defined"} {
+ return ""
+ } {
+ return $xfSelection
+ }
+}
+}
+
+
+# Procedure: MenuPopupAdd
+if {"[info procs MenuPopupAdd]" == ""} {
+proc MenuPopupAdd { xfW xfButton xfMenu {xfModifier ""} {xfCanvasTag ""}} {
+# xf ignore me 7
+# the popup menu handling is from (I already gave up with popup handling :-):
+#
+# Copyright 1991,1992 by James Noble.
+# Everyone is granted permission to copy, modify and redistribute.
+# This notice must be preserved on all copies or derivates.
+#
+##########
+# Procedure: MenuPopupAdd
+# Description: attach a popup menu to widget
+# Arguments: xfW - the widget
+# xfButton - the button we use
+# xfMenu - the menu to attach
+# {xfModifier} - a optional modifier
+# {xfCanvasTag} - a canvas tagOrId
+# Returns: none
+# Sideeffects: none
+##########
+ global tk_popupPriv
+
+ set tk_popupPriv($xfMenu,focus) ""
+ set tk_popupPriv($xfMenu,grab) ""
+ if {"$xfModifier" != ""} {
+ set press "$xfModifier-"
+ set motion "$xfModifier-"
+ set release "Any-"
+ } {
+ set press ""
+ set motion ""
+ set release ""
+ }
+
+ bind $xfMenu "<${motion}B${xfButton}-Motion>" "MenuPopupMotion $xfMenu %W %X %Y"
+ bind $xfMenu "<${release}ButtonRelease-${xfButton}>" "MenuPopupRelease $xfMenu %W"
+ if {"$xfCanvasTag" == ""} {
+ bind $xfW "<${press}ButtonPress-${xfButton}>" "MenuPopupPost $xfMenu %X %Y"
+ bind $xfW "<${release}ButtonRelease-${xfButton}>" "MenuPopupRelease $xfMenu %W"
+ } {
+ $xfW bind $xfCanvasTag "<${press}ButtonPress-${xfButton}>" "MenuPopupPost $xfMenu %X %Y"
+ $xfW bind $xfCanvasTag "<${release}ButtonRelease-${xfButton}>" "MenuPopupRelease $xfMenu %W"
+ }
+}
+}
+
+
+# Procedure: MenuPopupMotion
+if {"[info procs MenuPopupMotion]" == ""} {
+proc MenuPopupMotion { xfMenu xfW xfX xfY} {
+# xf ignore me 7
+##########
+# Procedure: MenuPopupMotion
+# Description: handle the popup menu motion
+# Arguments: xfMenu - the topmost menu
+# xfW - the menu
+# xfX - the root x coordinate
+# xfY - the root x coordinate
+# Returns: none
+# Sideeffects: none
+##########
+ global tk_popupPriv
+
+ if {"[info commands $xfW]" != "" && [winfo ismapped $xfW] &&
+ "[winfo class $xfW]" == "Menu" &&
+ [info exists tk_popupPriv($xfMenu,focus)] &&
+ "$tk_popupPriv($xfMenu,focus)" != "" &&
+ [info exists tk_popupPriv($xfMenu,grab)] &&
+ "$tk_popupPriv($xfMenu,grab)" != ""} {
+ set xfPopMinX [winfo rootx $xfW]
+ set xfPopMaxX [expr $xfPopMinX+[winfo width $xfW]]
+ if {$xfX >= $xfPopMinX && $xfX <= $xfPopMaxX} {
+ $xfW activate @[expr $xfY-[winfo rooty $xfW]]
+ if {![catch "$xfW entryconfig @[expr $xfY-[winfo rooty $xfW]] -menu" result]} {
+ if {"[lindex $result 4]" != ""} {
+ foreach binding [bind $xfMenu] {
+ bind [lindex $result 4] $binding [bind $xfMenu $binding]
+ }
+ }
+ }
+ } {
+ $xfW activate none
+ }
+ }
+}
+}
+
+
+# Procedure: MenuPopupPost
+if {"[info procs MenuPopupPost]" == ""} {
+proc MenuPopupPost { xfMenu xfX xfY} {
+# xf ignore me 7
+##########
+# Procedure: MenuPopupPost
+# Description: post the popup menu
+# Arguments: xfMenu - the menu
+# xfX - the root x coordinate
+# xfY - the root x coordinate
+# Returns: none
+# Sideeffects: none
+##########
+ global tk_popupPriv
+
+ if {"[info commands $xfMenu]" != ""} {
+ if {![info exists tk_popupPriv($xfMenu,focus)]} {
+ set tk_popupPriv($xfMenu,focus) [focus]
+ } {
+ if {"$tk_popupPriv($xfMenu,focus)" == ""} {
+ set tk_popupPriv($xfMenu,focus) [focus]
+ }
+ }
+ set tk_popupPriv($xfMenu,grab) $xfMenu
+
+ catch "$xfMenu activate none"
+ catch "$xfMenu post $xfX $xfY"
+ catch "focus $xfMenu"
+ catch "grab -global $xfMenu"
+ }
+}
+}
+
+
+# Procedure: MenuPopupRelease
+if {"[info procs MenuPopupRelease]" == ""} {
+proc MenuPopupRelease { xfMenu xfW} {
+# xf ignore me 7
+##########
+# Procedure: MenuPopupRelease
+# Description: remove the popup menu
+# Arguments: xfMenu - the topmost menu widget
+# xfW - the menu widget
+# Returns: none
+# Sideeffects: none
+##########
+ global tk_popupPriv
+ global tkVersion
+
+ if {"[info commands $xfW]" != "" && [winfo ismapped $xfW] &&
+ "[winfo class $xfW]" == "Menu" &&
+ [info exists tk_popupPriv($xfMenu,focus)] &&
+ "$tk_popupPriv($xfMenu,focus)" != "" &&
+ [info exists tk_popupPriv($xfMenu,grab)] &&
+ "$tk_popupPriv($xfMenu,grab)" != ""} {
+ if {$tkVersion >= 3.0} {
+ catch "grab release $tk_popupPriv($xfMenu,grab)"
+ } {
+ catch "grab none"
+ }
+ catch "focus $tk_popupPriv($xfMenu,focus)"
+ set tk_popupPriv($xfMenu,focus) ""
+ set tk_popupPriv($xfMenu,grab) ""
+ if {"[$xfW index active]" != "none"} {
+ $xfW invoke active; catch "$xfMenu unpost"
+ }
+ }
+ catch "$xfMenu unpost"
+}
+}
+
+
+# Procedure: NoFunction
+if {"[info procs NoFunction]" == ""} {
+proc NoFunction { args} {
+# xf ignore me 7
+##########
+# Procedure: NoFunction
+# Description: do nothing (especially with scales and scrollbars)
+# Arguments: args - a number of ignored parameters
+# Returns: none
+# Sideeffects: none
+##########
+}
+}
+
+
+# Procedure: SN
+if {"[info procs SN]" == ""} {
+proc SN { {xfName ""}} {
+# xf ignore me 7
+##########
+# Procedure: SN
+# Description: map a symbolic name to the widget path
+# Arguments: xfName
+# Returns: the symbolic name
+# Sideeffects: none
+##########
+
+ SymbolicName $xfName
+}
+}
+
+
+# Procedure: SymbolicName
+if {"[info procs SymbolicName]" == ""} {
+proc SymbolicName { {xfName ""}} {
+# xf ignore me 7
+##########
+# Procedure: SymbolicName
+# Description: map a symbolic name to the widget path
+# Arguments: xfName
+# Returns: the symbolic name
+# Sideeffects: none
+##########
+
+ global symbolicName
+
+ if {"$xfName" != ""} {
+ set xfArrayName ""
+ append xfArrayName symbolicName ( $xfName )
+ if {![catch "set \"$xfArrayName\"" xfValue]} {
+ return $xfValue
+ } {
+ if {"[info commands XFProcError]" != ""} {
+ XFProcError "Unknown symbolic name:\n$xfName"
+ } {
+ puts stderr "XF error: unknown symbolic name:\n$xfName"
+ }
+ }
+ }
+ return ""
+}
+}
+
+
+# Procedure: Unalias
+if {"[info procs Unalias]" == ""} {
+proc Unalias { aliasName} {
+# xf ignore me 7
+##########
+# Procedure: Unalias
+# Description: remove an alias for a procedure
+# Arguments: aliasName - the alias name to remove
+# Returns: none
+# Sideeffects: internalAliasList is updated, and the alias
+# proc is removed
+##########
+ global internalAliasList
+
+ set xfIndex [lsearch $internalAliasList "$aliasName *"]
+ if {$xfIndex != -1} {
+ rename $aliasName ""
+ set internalAliasList [lreplace $internalAliasList $xfIndex $xfIndex]
+ }
+}
+}
+
+
+# Procedure: getbase
+proc getbase {} {
+ global env
+ global testbase
+ if [info exists env(TESTBASE)] then {
+ set testbase $env(TESTBASE)
+ } else {
+ set testbase /lisa/test/rob
+ }
+ return $testbase
+}
+
+
+# Procedure: getresult
+proc getresult { name} {
+set tmp "[lsort [glob -nocomplain $name-results-??????-????]]"
+set tmp [lindex $tmp [expr [llength $tmp] - 1]]
+if [string match "" $tmp] then {
+ .frame6.frame.text2 delete 0.0 end
+ .frame6.frame.text2 insert 0.0 "Couldn't find results for: $name\n"
+ return
+} else {
+ return [loadfile $tmp]
+}
+}
+
+# Procedure: dialogbox
+proc dialogbox {} {
+ set w .frame6.top2
+ catch {destroy $w}
+ catch {destroy $w.e1}
+ toplevel $w
+# dpos $w
+ wm title $w "Change Editor"
+ wm iconname $w "Entries"
+ message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 200 \
+ -text "Hey Now. Click the \"OK\" button when you've seen enough."
+ frame $w.frame -borderwidth 10
+ button $w.ok -text OK -command "destroy $w"
+ pack $w.msg $w.frame $w.ok -side top -fill both
+
+ entry $w.frame.e1 -relief sunken -textvariable editor
+ pack $w.frame.e1 -side top -pady 5 -fill x
+ bind $w.frame.e1 <Return> "destroy $w"
+}
+
+# Procedure: loadfile
+proc loadfile { name} {
+if ![file exists $name] then {
+ .frame6.frame.text2 delete 0.0 end
+ .frame6.frame.text2 insert 0.0 "Couldn't find:\t$name\n"
+ return
+}
+
+global editor
+if [info exists editor] then {
+ if ![string match "" $editor] then {
+ catch "exec $editor $name&" tmp
+ if [info exists tmp] then {
+ .frame6.frame.text2 delete 0.0 end
+ .frame6.frame.text2 insert 0.0 "Editor returned $tmp\n"
+ }
+ }
+}
+.frame6.frame.text2 delete 0.0 end
+set fd [open $name r]
+while { [gets $fd line]>=0 } {
+.frame6.frame.text2 insert end "$line\n"
+.frame6.frame.text2 mark set insert 0.0
+}
+close $fd
+unset fd
+}
+
+
+
+# application parsing procedure
+proc XFLocalParseAppDefs {xfAppDefFile} {
+ global xfAppDefaults
+
+ # basically from: Michael Moore
+ if {[file exists $xfAppDefFile] &&
+ [file readable $xfAppDefFile] &&
+ "[file type $xfAppDefFile]" == "link"} {
+ catch "file type $xfAppDefFile" xfType
+ while {"$xfType" == "link"} {
+ if {[catch "file readlink $xfAppDefFile" xfAppDefFile]} {
+ return
+ }
+ catch "file type $xfAppDefFile" xfType
+ }
+ }
+ if {!("$xfAppDefFile" != "" &&
+ [file exists $xfAppDefFile] &&
+ [file readable $xfAppDefFile] &&
+ "[file type $xfAppDefFile]" == "file")} {
+ return
+ }
+ if {![catch "open $xfAppDefFile r" xfResult]} {
+ set xfAppFileContents [read $xfResult]
+ close $xfResult
+ foreach line [split $xfAppFileContents "\n"] {
+ # backup indicates how far to backup. It applies to the
+ # situation where a resource name ends in . and when it
+ # ends in *. In the second case you want to keep the *
+ # in the widget name for pattern matching, but you want
+ # to get rid of the . if it is the end of the name.
+ set backup -2
+ set line [string trim $line]
+ if {[string index $line 0] == "#" || "$line" == ""} {
+ # skip comments and empty lines
+ continue
+ }
+ set list [split $line ":"]
+ set resource [string trim [lindex $list 0]]
+ set i [string last "." $resource]
+ set j [string last "*" $resource]
+ if {$j > $i} {
+ set i $j
+ set backup -1
+ }
+ incr i
+ set name [string range $resource $i end]
+ incr i $backup
+ set widname [string range $resource 0 $i]
+ set value [string trim [lindex $list 1]]
+ if {"$widname" != "" && "$widname" != "*"} {
+ # insert the widget and resourcename to the application
+ # defaults list.
+ if {![info exists xfAppDefaults]} {
+ set xfAppDefaults ""
+ }
+ lappend xfAppDefaults [list $widname [string tolower $name] $value]
+ }
+ }
+ }
+}
+
+# application loading procedure
+proc XFLocalLoadAppDefs {{xfClasses ""} {xfPriority "startupFile"} {xfAppDefFile ""}} {
+ global env
+
+ if {"$xfAppDefFile" == ""} {
+ set xfFileList ""
+ if {[info exists env(XUSERFILESEARCHPATH)]} {
+ append xfFileList [split $env(XUSERFILESEARCHPATH) :]
+ }
+ if {[info exists env(XAPPLRESDIR)]} {
+ append xfFileList [split $env(XAPPLRESDIR) :]
+ }
+ if {[info exists env(XFILESEARCHPATH)]} {
+ append xfFileList [split $env(XFILESEARCHPATH) :]
+ }
+ append xfFileList " /usr/lib/X11/app-defaults"
+ append xfFileList " /usr/X11/lib/X11/app-defaults"
+
+ foreach xfCounter1 $xfClasses {
+ foreach xfCounter2 $xfFileList {
+ set xfPathName $xfCounter2
+ if {[regsub -all "%N" "$xfPathName" "$xfCounter1" xfResult]} {
+ set xfPathName $xfResult
+ }
+ if {[regsub -all "%T" "$xfPathName" "app-defaults" xfResult]} {
+ set xfPathName $xfResult
+ }
+ if {[regsub -all "%S" "$xfPathName" "" xfResult]} {
+ set xfPathName $xfResult
+ }
+ if {[regsub -all "%C" "$xfPathName" "" xfResult]} {
+ set xfPathName $xfResult
+ }
+ if {[file exists $xfPathName] &&
+ [file readable $xfPathName] &&
+ ("[file type $xfPathName]" == "file" ||
+ "[file type $xfPathName]" == "link")} {
+ catch "option readfile $xfPathName $xfPriority"
+ if {"[info commands XFParseAppDefs]" != ""} {
+ XFParseAppDefs $xfPathName
+ } {
+ if {"[info commands XFLocalParseAppDefs]" != ""} {
+ XFLocalParseAppDefs $xfPathName
+ }
+ }
+ } {
+ if {[file exists $xfCounter2/$xfCounter1] &&
+ [file readable $xfCounter2/$xfCounter1] &&
+ ("[file type $xfCounter2/$xfCounter1]" == "file" ||
+ "[file type $xfCounter2/$xfCounter1]" == "link")} {
+ catch "option readfile $xfCounter2/$xfCounter1 $xfPriority"
+ if {"[info commands XFParseAppDefs]" != ""} {
+ XFParseAppDefs $xfCounter2/$xfCounter1
+ } {
+ if {"[info commands XFLocalParseAppDefs]" != ""} {
+ XFLocalParseAppDefs $xfCounter2/$xfCounter1
+ }
+ }
+ }
+ }
+ }
+ }
+ } {
+ # load a specific application defaults file
+ if {[file exists $xfAppDefFile] &&
+ [file readable $xfAppDefFile] &&
+ ("[file type $xfAppDefFile]" == "file" ||
+ "[file type $xfAppDefFile]" == "link")} {
+ catch "option readfile $xfAppDefFile $xfPriority"
+ if {"[info commands XFParseAppDefs]" != ""} {
+ XFParseAppDefs $xfAppDefFile
+ } {
+ if {"[info commands XFLocalParseAppDefs]" != ""} {
+ XFLocalParseAppDefs $xfAppDefFile
+ }
+ }
+ }
+ }
+}
+
+# application setting procedure
+proc XFLocalSetAppDefs {{xfWidgetPath "."}} {
+ global xfAppDefaults
+
+ if {![info exists xfAppDefaults]} {
+ return
+ }
+ foreach xfCounter $xfAppDefaults {
+ if {"$xfCounter" == ""} {
+ break
+ }
+ set widname [lindex $xfCounter 0]
+ if {[string match $widname ${xfWidgetPath}] ||
+ [string match "${xfWidgetPath}*" $widname]} {
+ set name [string tolower [lindex $xfCounter 1]]
+ set value [lindex $xfCounter 2]
+ # Now lets see how many tcl commands match the name
+ # pattern specified.
+ set widlist [info command $widname]
+ if {"$widlist" != ""} {
+ foreach widget $widlist {
+ # make sure this command is a widget.
+ if {![catch "winfo id $widget"] &&
+ [string match "${xfWidgetPath}*" $widget]} {
+ catch "$widget configure -$name $value"
+ }
+ }
+ }
+ }
+ }
+}
+
+
+
+# startup source
+proc StartupSrc {args} {
+global testbase
+global hostlist
+global targlist
+global host
+
+set host [exec config.guess]
+set target $host
+}
+
+
+# end source
+proc EndSrc {} {
+.frame6.frame.text2 delete 0.0 end
+}
+
+# startup source
+StartupSrc
+
+# initialize global variables
+global {editor}
+set {editor} {}
+global {fsBox}
+set {fsBox(activeBackground)} {}
+set {fsBox(activeForeground)} {}
+set {fsBox(all)} {0}
+set {fsBox(background)} {}
+set {fsBox(button)} {0}
+set {fsBox(extensions)} {0}
+set {fsBox(font)} {}
+set {fsBox(foreground)} {}
+set {fsBox(internalPath)} {/offsite/rob/DejaGnu/devo/dejagnu}
+set {fsBox(name)} {}
+set {fsBox(path)} {/offsite/rob/DejaGnu/devo/dejagnu}
+set {fsBox(pattern)} {*}
+set {fsBox(scrollActiveForeground)} {}
+set {fsBox(scrollBackground)} {}
+set {fsBox(scrollForeground)} {}
+set {fsBox(scrollSide)} {left}
+set {fsBox(showPixmap)} {0}
+global {host}
+set {host} {sparc-sun-sunos4.1.3}
+global {result}
+set {result} {can't read "editor": no such variable}
+global {target}
+set {target} {sparc-sun-sunos4.1.3}
+global {testbase}
+set {testbase} {/lisa/test/rob}
+
+# please don't modify the following
+# variables. They are needed by xf.
+global {autoLoadList}
+set {autoLoadList(testit)} {0}
+global {internalAliasList}
+set {internalAliasList} {}
+global {moduleList}
+set {moduleList(testit)} {}
+global {preloadList}
+set {preloadList(xfInternal)} {}
+global {symbolicName}
+set {symbolicName(binutils)} {.frame0.menubutton7}
+set {symbolicName(dialogbox)} {.top2}
+set {symbolicName(editor)} {.top2.entry4}
+set {symbolicName(g++)} {.frame0.menubutton4}
+set {symbolicName(gas)} {.frame0.menubutton6}
+set {symbolicName(gdb)} {.frame0.menubutton5}
+set {symbolicName(host)} {.frame0.menubutton3.m}
+set {symbolicName(hostlist)} {.frame0.menubutton3}
+set {symbolicName(logs)} {.frame0.menubutton10}
+set {symbolicName(misc)} {.frame0.menubutton1}
+set {symbolicName(ok)} {.top2.button7}
+set {symbolicName(results)} {.frame0.menubutton9}
+set {symbolicName(root)} {.}
+set {symbolicName(sum)} {.frame0.menubutton0}
+set {symbolicName(targlist)} {.frame0.menubutton2}
+global {xfWmSetPosition}
+set {xfWmSetPosition} {}
+global {xfWmSetSize}
+set {xfWmSetSize} {}
+global {xfAppDefToplevels}
+set {xfAppDefToplevels} {}
+
+# display/remove toplevel windows.
+ShowWindow.
+
+# load default bindings.
+if {[info exists env(XF_BIND_FILE)] &&
+ "[info procs XFShowHelp]" == ""} {
+ source $env(XF_BIND_FILE)
+}
+
+# parse and apply application defaults.
+XFLocalLoadAppDefs Testit
+XFLocalSetAppDefs
+
+# end source
+EndSrc
+
+# eof
+#
+