proc editTools {{tools .}} {
set ip hidden;
variable env;
interp create $ip;
$ip alias $tools $tools;
pubchildren $ip $tools;
$ip alias menu add-menu;
$ip alias master-opget opget;
$ip alias pubwinfo pubwinfo;
$ip alias pubchildren pubchidldren $ip;
$ip alias getCurrentWidget vgmenu::currentWidget;
$ip alias getSettings getSettings;
$ip alias getManager vgmenu::getManager;
$ip alias gprogress::progress gprogress;
$ip alias importSettings exportSettings;
$ip alias status status;
$ip alias mkFirstLow mkFirstLow;
$ip alias mkFirstUp mkFirstUp;
$ip alias setInvoke setInvoke;
$ip alias getContext getContext;
$ip alias bindtags bindtags;
$ip alias otherInspector otherInspector;
$ip alias hideTop hideTop $ip;
if {[info tclversion] < 8.1 || [info tclversion] >= 8.3} {
$ip alias destroy destroy;
}
$ip alias master-inspect vgmenu::inspect;
$ip alias setInterp vgmenu::selectInterp;
::goreedit::init $ip .
$ip eval {
namespace eval vgfile {
proc isSimpleCode { } { return 0 }
}
}
$ip eval [subst {
proc inspect {window {q 0}} {
variable ::w
set ::w \$window
setInterp $ip;
status "Call master for \$window";
master-inspect \$window \$q;
}
proc vgbind args {}
proc event args {}
proc exit args {}
proc wech args {}
proc grip args {}
namespace eval vgfile {}
proc vgfile::getName args {return {Jeszra@Jeszra}}
proc vgfile::modified args {return 0}
}]
foreach file [list vgcode vgdo vginteract vgm] {
$ip eval [list source \
[file join $env(VGHOME) library ${file}.tcl]];
}
set wlist $tools;
set pa $tools;
while {[set pa [winfo parent $pa]] != {}} {
$ip eval "proc $pa {args} {return {}}\n";
set wlist [linsert $wlist 0 $pa];
}
$ip eval {proc editWidgets {args} {}};
$ip eval [::exportSettings];
$ip eval [list inspect $tools];
set top [vgtop $tools];
set tree $top.space.document.hierarchy:
if {[winfo exists $tree]} {
debug stdout "WLIST: $wlist"
::eval "$tree replace $wlist";
}
}