From fddcdce018634a096042380a1f43e01755802aa1 Mon Sep 17 00:00:00 2001 From: marko Date: Sat, 5 Jan 2008 18:06:25 +0000 Subject: [PATCH] Move a few more global variables to per-cfg namespaces: curcanvas zoom undolevel redolevel undolog oper_mode eid ngnodemap Bug found by: Submitted by: Reviewed by: Approved by: Obtained from: --- annotations.tcl | 22 ++++++---- canvas.tcl | 7 ++-- copypaste.tcl | 5 ++- editor.tcl | 106 +++++++++++++++++++++++++++++++----------------- exec.tcl | 16 +++++--- filemgmt.tcl | 17 +++++--- hub.tcl | 4 +- imunes.tcl | 10 +++-- initgui.tcl | 15 +++---- lanswitch.tcl | 4 +- linkcfg.tcl | 4 +- ns2imunes.tcl | 5 ++- rj45.tcl | 4 +- topogen.tcl | 5 ++- 14 files changed, 139 insertions(+), 85 deletions(-) diff --git a/annotations.tcl b/annotations.tcl index 7cb57cc..0d09165 100644 --- a/annotations.tcl +++ b/annotations.tcl @@ -23,7 +23,7 @@ # SUCH DAMAGE. # -# $Id: annotations.tcl,v 1.9 2008/01/02 12:08:46 marko Exp $ +# $Id: annotations.tcl,v 1.10 2008/01/05 18:06:25 marko Exp $ #****h* imunes/annotations.tcl @@ -165,8 +165,9 @@ proc deleteAnnotation { c type target } { proc drawOval {oval} { upvar 0 ::cf::[set ::curcfg]::$oval $oval - global defFillColor zoom curcanvas - global defTextFontFamily defTextFontSize + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom + global defFillColor defTextFontFamily defTextFontSize set coords [getNodeCoords $oval] set x1 [expr {[lindex $coords 0] * $zoom}] @@ -283,8 +284,9 @@ proc roundRect { w x0 y0 x3 y3 radius args } { proc drawRect {rectangle} { upvar 0 ::cf::[set ::curcfg]::$rectangle $rectangle - global defFillColor zoom curcanvas - global defTextFontFamily defTextFontSize + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom + global defFillColor defTextFontFamily defTextFontSize set coords [getNodeCoords $rectangle] if {$coords == ""} { @@ -635,7 +637,8 @@ proc popupAnnotationApply { c wi target type } { proc backgroundImage { c file } { - global sizex sizey zoom + upvar 0 ::cf::[set ::curcfg]::zoom zoom + global sizex sizey set e_sizex [expr {int($sizex * $zoom)}] set e_sizey [expr {int($sizey * $zoom)}] @@ -750,7 +753,8 @@ proc selectmarkLeave {c x y} { proc textEnter { c x y } { upvar 0 ::cf::[set ::curcfg]::annotation_list annotation_list - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom set object [newObjectId annotation] set newtext [$c create text $x $y -text "" \ @@ -774,8 +778,10 @@ proc textEnter { c x y } { proc drawText {text} { upvar 0 ::cf::[set ::curcfg]::$text $text + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom global defTextColor defTextFont defTextFontFamily defTextFontSize - global zoom curcanvas newfontsize + global newfontsize set coords [getNodeCoords $text] if {$coords == ""} { diff --git a/canvas.tcl b/canvas.tcl index c8fdb61..d9a1cc2 100755 --- a/canvas.tcl +++ b/canvas.tcl @@ -1,4 +1,4 @@ -# $Id: canvas.tcl,v 1.13 2008/01/02 12:08:46 marko Exp $ +# $Id: canvas.tcl,v 1.14 2008/01/05 18:06:25 marko Exp $ # # # Copyright 2005-2008 University of Zagreb, Croatia. @@ -25,7 +25,7 @@ # SUCH DAMAGE. # -# $Id: canvas.tcl,v 1.13 2008/01/02 12:08:46 marko Exp $ +# $Id: canvas.tcl,v 1.14 2008/01/05 18:06:25 marko Exp $ #****h* imunes/canvas.tcl @@ -215,7 +215,8 @@ set bkgImage "" #**** proc selectBkgImage {} { - global bkgImage imageFileTypes showBkgImage curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + global bkgImage imageFileTypes showBkgImage set imageFileTypes {{"GIF images" {.gif}} {"All files" {*} }} diff --git a/copypaste.tcl b/copypaste.tcl index 062687f..1c49e3e 100644 --- a/copypaste.tcl +++ b/copypaste.tcl @@ -23,7 +23,7 @@ # SUCH DAMAGE. # -# $Id: copypaste.tcl,v 1.1 2008/01/03 13:47:54 marko Exp $ +# $Id: copypaste.tcl,v 1.2 2008/01/05 18:06:25 marko Exp $ proc cutSelection {} { @@ -81,7 +81,8 @@ proc copySelection {} { proc paste {} { upvar 0 ::cf::[set ::curcfg]::node_list node_list upvar 0 ::cf::[set ::curcfg]::link_list link_list - global curcanvas changed + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + global changed # Nothing to do if clipboard is empty if {[set ::cf::clipboard::node_list] == {}} { diff --git a/editor.tcl b/editor.tcl index c6432a8..5258df7 100755 --- a/editor.tcl +++ b/editor.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: editor.tcl,v 1.87 2008/01/03 13:47:54 marko Exp $ +# $Id: editor.tcl,v 1.88 2008/01/05 18:06:25 marko Exp $ #****h* imunes/editor.tcl @@ -138,10 +138,13 @@ proc removeGUINode { node } { #**** proc updateUndoLog {} { - global changed undolog undolevel redolevel + upvar 0 ::cf::[set ::curcfg]::undolevel undolevel + upvar 0 ::cf::[set ::curcfg]::redolevel redolevel + upvar 0 ::cf::[set ::curcfg]::undolog undolog + global changed if { $changed } { - global t_undolog undolog + global t_undolog set t_undolog "" dumpCfg string t_undolog incr undolevel @@ -165,7 +168,9 @@ proc updateUndoLog {} { #**** proc undo {} { - global undolevel undolog oper_mode + upvar 0 ::cf::[set ::curcfg]::undolevel undolevel + upvar 0 ::cf::[set ::curcfg]::undolog undolog + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode if {$oper_mode == "edit" && $undolevel > 0} { .menubar.edit entryconfigure "Redo" -state normal @@ -192,7 +197,10 @@ proc undo {} { #**** proc redo {} { - global undolevel redolevel undolog oper_mode + upvar 0 ::cf::[set ::curcfg]::undolevel undolevel + upvar 0 ::cf::[set ::curcfg]::redolevel redolevel + upvar 0 ::cf::[set ::curcfg]::undolog undolog + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode if {$oper_mode == "edit" && $redolevel > $undolevel} { incr undolevel @@ -221,8 +229,9 @@ proc redrawAll {} { upvar 0 ::cf::[set ::curcfg]::node_list node_list upvar 0 ::cf::[set ::curcfg]::link_list link_list upvar 0 ::cf::[set ::curcfg]::annotation_list annotation_list + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom global background sizex sizey grid - global curcanvas zoom global showBkgImage showAnnotations showGrid bkgImage .bottom.zoom config -text "zoom [expr {int($zoom * 100)}]%" set e_sizex [expr {int($sizex * $zoom)}] @@ -323,9 +332,10 @@ proc redrawAll {} { #**** proc drawNode { node } { + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom global showNodeLabels global router pc host lanswitch frswitch rj45 hub pseudo - global curcanvas zoom set type [nodeType $node] set coords [getNodeCoords $node] @@ -495,7 +505,8 @@ proc listLANnodes { l2node l2peers } { #**** proc calcDxDy { lnode } { - global showIfIPaddrs showIfIPv6addrs zoom + upvar 0 ::cf::[set ::curcfg]::zoom zoom + global showIfIPaddrs showIfIPv6addrs upvar dx x upvar dy y @@ -641,7 +652,7 @@ proc updateLinkLabel { link } { #**** proc redrawAllLinks {} { upvar 0 ::cf::[set ::curcfg]::link_list link_list - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas foreach link $link_list { set nodes [linkPeers $link] @@ -719,7 +730,8 @@ proc redrawLink { link } { # * link -- link id #**** proc splitGUILink { link } { - global changed zoom + upvar 0 ::cf::[set ::curcfg]::zoom zoom + global changed set peer_nodes [linkPeers $link] set new_nodes [splitLink $link pseudo] @@ -832,7 +844,7 @@ proc selectedRealNodes {} { } proc selectAdjacent {} { - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas set selected [selectedNodes] set adjacent {} @@ -873,8 +885,8 @@ proc selectAdjacent {} { proc button3link { c x y } { upvar 0 ::cf::[set ::curcfg]::node_list node_list upvar 0 ::cf::[set ::curcfg]::canvas_list canvas_list - global oper_mode env eid - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode set link [lindex [$c gettags {link && current}] 1] if { $link == "" } { @@ -1037,7 +1049,9 @@ proc mergeGUINode { node } { proc button3node { c x y } { upvar 0 ::cf::[set ::curcfg]::node_list node_list upvar 0 ::cf::[set ::curcfg]::canvas_list canvas_list - global oper_mode env eid curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode + upvar 0 ::cf::[set ::curcfg]::eid eid set node [lindex [$c gettags {node && current}] 1] if { $node == "" } { @@ -1244,7 +1258,8 @@ proc button3node { c x y } { # * cmd -- the path to the shell. #**** proc spawnShell { node cmd } { - global eid remote_exec exec_host gui_unix + upvar 0 ::cf::[set ::curcfg]::eid eid + global remote_exec exec_host gui_unix set node_id $eid\.$node @@ -1278,7 +1293,7 @@ proc spawnShell { node cmd } { # * iface -- interface name #**** proc startethereal { node iface } { - global eid + upvar 0 ::cf::[set ::curcfg]::eid eid set interface "$iface@$eid\.$node" nexec wireshark -i $interface -f " " & @@ -1303,7 +1318,8 @@ proc startethereal { node iface } { #**** proc button1 { c x y button } { upvar 0 ::cf::[set ::curcfg]::node_list node_list - global curcanvas zoom + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom global activetool newlink curobj changed def_router_model global router pc host lanswitch frswitch rj45 hub global oval rectangle text @@ -1462,7 +1478,7 @@ proc button1 { c x y button } { proc button1-motion { c x y } { global activetool newlink changed global lastX lastY sizex sizey selectbox background - global oper_mode newoval newrect resizemode + global newoval newrect resizemode set x [$c canvasx $x] set y [$c canvasy $y] @@ -1668,11 +1684,16 @@ proc newGUILink { lnode1 lnode2 } { #**** proc button1-release { c x y } { upvar 0 ::cf::[set ::curcfg]::node_list node_list + upvar 0 ::cf::[set ::curcfg]::zoom zoom + upvar 0 ::cf::[set ::curcfg]::undolevel undolevel + upvar 0 ::cf::[set ::curcfg]::redolevel redolevel + upvar 0 ::cf::[set ::curcfg]::undolog undolog global activetool newlink curobj grid - global changed undolog undolevel redolevel selectbox - global lastX lastY sizex sizey zoom + global changed selectbox + global lastX lastY sizex sizey global autorearrange_enabled global resizemode resizeobj + set redrawNeeded 0 set x [$c canvasx $x] @@ -2001,8 +2022,10 @@ proc focusAndFlash {W {count 9}} { # * c -- canvas id #**** proc popupConfigDialog { c } { - global activetool router_model link_color supp_router_models oper_mode - global badentry curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode + global activetool router_model link_color supp_router_models + global badentry set wi .popup catch {destroy $wi} @@ -2607,9 +2630,10 @@ proc customConfigApply { w node addccfg } { # set to 0. #**** proc popupConfigApply { wi object_type target phase } { - global changed oper_mode router_model link_color badentry + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode + upvar 0 ::cf::[set ::curcfg]::eid eid + global changed router_model link_color badentry global customEnabled ipsecEnabled - global eid global showIPsecConfig $wi config -cursor watch @@ -2891,7 +2915,8 @@ proc deleteSelection {} { proc align2grid {} { - global sizex sizey grid zoom changed + upvar 0 ::cf::[set ::curcfg]::zoom zoom + global sizex sizey grid changed set node_objects [.c find withtag node] if { [llength $node_objects] == 0 } { @@ -2937,7 +2962,9 @@ proc align2grid {} { #**** proc rearrange { mode } { upvar 0 ::cf::[set ::curcfg]::link_list link_list - global autorearrange_enabled sizex sizey curcanvas zoom + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom + global autorearrange_enabled sizex sizey set autorearrange_enabled 1 .menubar.tools entryconfigure "Auto rearrange all" -state disabled @@ -3108,7 +3135,7 @@ proc rearrange { mode } { #**** proc switchCanvas { direction } { upvar 0 ::cf::[set ::curcfg]::canvas_list canvas_list - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas global sizex sizey set i [lsearch $canvas_list $curcanvas] @@ -3187,7 +3214,7 @@ proc switchCanvas { direction } { # Tk widget for renaming the canvas. #**** proc renameCanvasPopup { x y } { - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas set w .entry1 catch {destroy $w} @@ -3225,7 +3252,7 @@ proc renameCanvasPopup { x y } { } proc resizeCanvasPopup {} { - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas set w .entry1 catch {destroy $w} @@ -3275,7 +3302,8 @@ proc resizeCanvasPopup {} { # * w -- tk widget (rename canvas popup dilog box) #**** proc renameCanvasApply { w } { - global curcanvas changed + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + global changed set newname [$w.e1 get] destroy $w @@ -3288,7 +3316,8 @@ proc renameCanvasApply { w } { } proc resizeCanvasApply { w } { - global curcanvas changed + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + global changed set x [$w.size.x get] set y [$w.size.y get] @@ -3311,7 +3340,8 @@ proc resizeCanvasApply { w } { # different for edit and exec mode. #**** proc animate {} { - global animatephase oper_mode + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode + global animatephase .c itemconfigure "selectmark || selectbox" -dashoffset $animatephase incr animatephase 2 @@ -3328,7 +3358,7 @@ proc animate {} { proc zoom { dir } { - global zoom + upvar 0 ::cf::[set ::curcfg]::zoom zoom set stops ".25 .5 .75 1.0 1.5 2.0 4.0" # set i [lsearch $stops $zoom] @@ -3411,8 +3441,8 @@ proc double1onGrid { c x y } { } proc setZoom { x y } { - global curcanvas - global zoom + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom set w .entry1 catch {destroy $w} @@ -3450,7 +3480,7 @@ proc setZoom { x y } { } proc setZoomApply { w } { - global zoom changed + upvar 0 ::cf::[set ::curcfg]::zoom zoom set newzoom [expr [$w.e1 get] / 100.0] if { $newzoom != $zoom } { @@ -3461,8 +3491,8 @@ proc setZoomApply { w } { } proc selectZoom { x y } { - global curcanvas - global zoom + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::zoom zoom set stops ".25 .5 .75 1.0 1.5 2.0 4.0" diff --git a/exec.tcl b/exec.tcl index ad863fc..0c014ae 100755 --- a/exec.tcl +++ b/exec.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: exec.tcl,v 1.68 2008/01/02 12:08:46 marko Exp $ +# $Id: exec.tcl,v 1.69 2008/01/05 18:06:25 marko Exp $ #****f* exec.tcl/nexec @@ -92,9 +92,12 @@ proc nexec { args } { #**** proc setOperMode { mode } { upvar 0 ::cf::[set ::curcfg]::node_list node_list - global oper_mode eid activetool + upvar 0 ::cf::[set ::curcfg]::undolevel undolevel + upvar 0 ::cf::[set ::curcfg]::redolevel redolevel + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode + upvar 0 ::cf::[set ::curcfg]::eid eid + global activetool global editor_only remote_exec execSock - global undolevel redolevel if { $mode == "exec" } { ;# let's try something, sockets should be opened nexec id -u @@ -245,8 +248,9 @@ proc createIfc { eid type hook } { # * node -- node id #**** proc l3node.instantiate { eid node } { - global ngnodemap + upvar 0 ::cf::[set ::curcfg]::ngnodemap ngnodemap global mac_byte4 mac_byte5 + set node_id "$eid\.$node" nexec vimage -c $node_id nexec vimage $node_id hostname [getNodeName $node] @@ -497,11 +501,11 @@ proc l3node.destroy { eid node } { proc deployCfg {} { upvar 0 ::cf::[set ::curcfg]::node_list node_list upvar 0 ::cf::[set ::curcfg]::link_list link_list - global eid + upvar 0 ::cf::[set ::curcfg]::ngnodemap ngnodemap + upvar 0 ::cf::[set ::curcfg]::eid eid global supp_router_models global mac_byte4 mac_byte5 global remote_exec - global ngnodemap set mac_byte4 0 set mac_byte5 0 diff --git a/filemgmt.tcl b/filemgmt.tcl index c07f22c..e4bead6 100755 --- a/filemgmt.tcl +++ b/filemgmt.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: filemgmt.tcl,v 1.15 2008/01/02 12:08:46 marko Exp $ +# $Id: filemgmt.tcl,v 1.16 2008/01/05 18:06:25 marko Exp $ ##****h* imunes/filemgmt.tcl @@ -91,8 +91,12 @@ set fileTypes { #**** proc newFile {} { upvar 0 ::cf::[set ::curcfg]::canvas_list canvas_list - global currentFile oper_mode eid - global curcanvas undolevel redolevel + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::undolevel undolevel + upvar 0 ::cf::[set ::curcfg]::redolevel redolevel + upvar 0 ::cf::[set ::curcfg]::oper_mode oper_mode + upvar 0 ::cf::[set ::curcfg]::eid eid + global currentFile if { $oper_mode == "exec" } { vimageCleanup $eid @@ -118,9 +122,12 @@ proc newFile {} { #**** proc openFile {} { upvar 0 ::cf::[set ::curcfg]::canvas_list canvas_list + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + upvar 0 ::cf::[set ::curcfg]::undolevel undolevel + upvar 0 ::cf::[set ::curcfg]::redolevel redolevel + upvar 0 ::cf::[set ::curcfg]::undolog undolog global currentFile - global undolevel redolevel undolog activetool - global curcanvas + global activetool set fileName [file tail $currentFile] wm title . "IMUNES $fileName" diff --git a/hub.tcl b/hub.tcl index aa0f2af..747909e 100755 --- a/hub.tcl +++ b/hub.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: hub.tcl,v 1.13 2008/01/01 18:22:59 marko Exp $ +# $Id: hub.tcl,v 1.14 2008/01/05 18:06:25 marko Exp $ #****h* imunes/hub.tcl @@ -73,7 +73,7 @@ proc $MODULE.layer {} { #**** proc $MODULE.instantiate { eid node } { - global ngnodemap + upvar 0 ::cf::[set ::curcfg]::ngnodemap ngnodemap catch {exec vimage $eid ngctl mkpeer hub anchor anchor | tail -1} resp catch {exec vimage $eid ngctl l | fgrep " Name: " | cut -c51-58 | xargs echo } nglist diff --git a/imunes.tcl b/imunes.tcl index 220d78a..d451308 100755 --- a/imunes.tcl +++ b/imunes.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: imunes.tcl,v 1.33 2008/01/03 13:47:54 marko Exp $ +# $Id: imunes.tcl,v 1.34 2008/01/05 18:06:25 marko Exp $ #****h* imunes/imunes.tcl @@ -46,7 +46,7 @@ #**** set execMode interactive -set eid i[format %04x [pid]] +set eid_base i[format %04x [pid]] while { [string index [lindex $argv 0] 0] == "-" } { switch -exact -- [lindex $argv 0] { @@ -57,7 +57,7 @@ while { [string index [lindex $argv 0] 0] == "-" } { } "-e" - "--eid" { - set eid [lindex $argv 1] + set eid_base [lindex $argv 1] set argv [lrange $argv 2 end] } default { @@ -147,7 +147,9 @@ set cf::cfg0::node_list {} set cf::cfg0::link_list {} set cf::cfg0::annotation_list {} set cf::cfg0::canvas_list {} +set cf::cfg0::eid $eid_base +set cfg_list cfg0 set curcfg cfg0 # Clipboard @@ -262,7 +264,7 @@ if {$execMode == "interactive"} { loadCfg $cfg deployCfg } else { - vimageCleanup $eid + vimageCleanup $eid_base } } diff --git a/initgui.tcl b/initgui.tcl index 003de40..1ade3af 100755 --- a/initgui.tcl +++ b/initgui.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: initgui.tcl,v 1.43 2008/01/03 13:47:54 marko Exp $ +# $Id: initgui.tcl,v 1.44 2008/01/05 18:06:25 marko Exp $ #****h* imunes/initgui.tcl @@ -97,19 +97,20 @@ set selectbox "" set selected "" newCanvas "" +set ::cf::cfg0::undolevel 0 +set ::cf::cfg0::redolevel 0 +set ::cf::cfg0::undolog(0) "" +set ::cf::cfg0::curcanvas [lindex [set ::cf::cfg0::canvas_list] 0] +set ::cf::cfg0::zoom 1.0 +set ::cf::cfg0::oper_mode edit + set animatephase 0 -set undolevel 0 -set redolevel 0 -set undolog(0) "" set changed 0 set badentry 0 set cursorState 0 set clock_seconds 0 -set oper_mode edit set grid 24 set showGrid 1 -set zoom 1.0 -set curcanvas [lindex [set ::cf::[set ::curcfg]::canvas_list] 0] set autorearrange_enabled 0 # resize Oval/Rectangle, "false" or direction: north/west/east/... diff --git a/lanswitch.tcl b/lanswitch.tcl index 7c4472b..4264304 100755 --- a/lanswitch.tcl +++ b/lanswitch.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: lanswitch.tcl,v 1.13 2008/01/01 18:22:59 marko Exp $ +# $Id: lanswitch.tcl,v 1.14 2008/01/05 18:06:25 marko Exp $ #****h* imunes/lanswitch.tcl @@ -73,7 +73,7 @@ proc $MODULE.layer {} { #**** proc $MODULE.instantiate { eid node } { - global ngnodemap + upvar 0 ::cf::[set ::curcfg]::ngnodemap ngnodemap catch {exec vimage $eid ngctl mkpeer bridge anchor anchor | tail -1} resp catch {exec vimage $eid ngctl l | fgrep " Name: " | cut -c51-58 | xargs echo } nglist diff --git a/linkcfg.tcl b/linkcfg.tcl index 0846aa5..82ecc57 100755 --- a/linkcfg.tcl +++ b/linkcfg.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: linkcfg.tcl,v 1.20 2008/01/02 12:08:46 marko Exp $ +# $Id: linkcfg.tcl,v 1.21 2008/01/05 18:06:25 marko Exp $ #****h* imunes/linkcfg.tcl @@ -651,9 +651,9 @@ proc newLink { lnode1 lnode2 } { upvar 0 ::cf::[set ::curcfg]::link_list link_list upvar 0 ::cf::[set ::curcfg]::$lnode1 $lnode1 upvar 0 ::cf::[set ::curcfg]::$lnode2 $lnode2 + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas global defEthBandwidth defSerBandwidth defSerDelay global defLinkColor defLinkWidth - global curcanvas if { [nodeType $lnode1] == "frswitch" && \ [nodeType $lnode2] != "router" && \ diff --git a/ns2imunes.tcl b/ns2imunes.tcl index 2f3512c..195615f 100755 --- a/ns2imunes.tcl +++ b/ns2imunes.tcl @@ -23,7 +23,7 @@ # SUCH DAMAGE. # -# $Id: ns2imunes.tcl,v 1.5 2008/01/02 12:08:46 marko Exp $ +# $Id: ns2imunes.tcl,v 1.6 2008/01/05 18:06:25 marko Exp $ #****h* imunes/ns2imunes.tcl @@ -52,8 +52,9 @@ proc ns2im { srcfile } { upvar 0 ::cf::[set ::curcfg]::node_list node_list upvar 0 ::cf::[set ::curcfg]::link_list link_list upvar 0 ::cf::[set ::curcfg]::canvas_list canvas_list - global curcanvas + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas global cfg + set cfg {} set node_list {} set link_list {} diff --git a/rj45.tcl b/rj45.tcl index b0e87ab..684b65c 100755 --- a/rj45.tcl +++ b/rj45.tcl @@ -26,7 +26,7 @@ # and Technology through the research contract #IP-2003-143. # -# $Id: rj45.tcl,v 1.11 2008/01/01 18:22:59 marko Exp $ +# $Id: rj45.tcl,v 1.12 2008/01/05 18:06:25 marko Exp $ #****h* imunes/rj45.tcl @@ -72,7 +72,7 @@ proc $MODULE.layer {} { #**** proc $MODULE.instantiate { eid node } { - global ngnodemap + upvar 0 ::cf::[set ::curcfg]::ngnodemap ngnodemap set ifname [getNodeName $node] set ngnodemap($ifname) $ifname diff --git a/topogen.tcl b/topogen.tcl index d9a3d40..4a0dba0 100755 --- a/topogen.tcl +++ b/topogen.tcl @@ -23,7 +23,7 @@ # SUCH DAMAGE. # -# $Id: topogen.tcl,v 1.5 2008/01/01 18:22:59 marko Exp $ +# $Id: topogen.tcl,v 1.6 2008/01/05 18:06:25 marko Exp $ menu .menubar.t_g -tearoff 0 @@ -103,7 +103,8 @@ for { set i 3 } { $i <= 24 } { incr i } { } proc newNodes { n } { - global curcanvas grid sizex sizey activetool + upvar 0 ::cf::[set ::curcfg]::curcanvas curcanvas + global grid sizex sizey activetool set v {} set r [expr {($n - 1) * (1 + 4 / $n) * $grid / 2}] -- 2.39.5