diff -udr func/slice/sdsmt/do.tcl /usr/local/lib/SimPack/func/slice/sdsmt/do.tcl --- func/slice/sdsmt/do.tcl Fri Aug 25 01:01:09 1995 +++ /usr/local/lib/SimPack/func/slice/sdsmt/do.tcl Mon May 19 13:16:58 1997 @@ -94,16 +94,19 @@ # Purpose: redraw objects on the canvas. #------------------------------------------------------- proc redraw_object {w type x y text} { - global obj + global obj sdsmlib switch -exact -- $type { 1 {set oid [$w create rectangle [expr $x-25] [expr $y-10] [expr $x+25]\ [expr $y+10] -width 1 ]} - 2 {set oid [$w create bitmap $x $y -bitmap @./XBM/rate.bmp ]} + 2 {set oid [$w create bitmap $x $y \ + -bitmap @[file join $sdsmlib XBM rate.bmp] ]} 3 {set oid [$w create oval [expr $x-20] [expr $y-20] [expr $x+20]\ [expr $y+20] -width 1 ]} - 4 {set oid [$w create bitmap $x $y -bitmap @./XBM/const.bmp]} - 5 {set oid [$w create bitmap $x $y -bitmap @./XBM/source.bmp]} + 4 {set oid [$w create bitmap $x $y \ + -bitmap @[file join $sdsmlib XBM const.bmp] ]} + 5 {set oid [$w create bitmap $x $y \ + -bitmap @[file join $sdsmlib XBM source.bmp] ]} } set text_id [show_text $w $type $x $y $text] set obj($oid) [list $oid $type $x $y $text $text_id] @@ -116,7 +119,7 @@ # Purpose: redraw the links between objects on the canvas. #------------------------------------------------------- proc redraw_link {w type x y sid tid} { - global obj + global obj sdsmlib puts "object #$sid (source) : $obj($sid)" puts "object #$tid (target) : $obj($tid)" @@ -142,7 +145,8 @@ } } else { set oid [$w create line $sx $sy $x $y $tx $ty -width 1 -arrow last \ - -smooth true -capstyle projecting -stipple @./bitmaps/grey.5 ] + -smooth true -capstyle projecting \ + -stipple @[file join $sdsmlib bitmaps grey.5] ] } set obj($oid) [list $oid $type $x $y $sid $tid] puts "link object $oid: $obj($oid) loaded" diff -udr func/slice/sdsmt/draw.tcl /usr/local/lib/SimPack/func/slice/sdsmt/draw.tcl --- func/slice/sdsmt/draw.tcl Fri Aug 25 01:01:09 1995 +++ /usr/local/lib/SimPack/func/slice/sdsmt/draw.tcl Mon May 19 13:16:58 1997 @@ -26,7 +26,7 @@ # Purpose: draw a level node object #------------------------------------------------------- proc draw_level {w x y} { - global mode text_data input_data + global mode text_data input_data sdsmlib set oid [$w create rectangle [expr $x-25] [expr $y-10] [expr $x+25] \ [expr $y+10] -width 1 ] @@ -84,7 +84,7 @@ if {$entry_flg == 1} { entry $w.top.e1 -relief sunken -textvariable input_data\ - -scroll "$w.top.s1 set" + -xscrollcommand "$w.top.s1 set" scrollbar $w.top.s1 -relief sunken -orient horiz -command \ "$w.top.e1 view" } @@ -117,9 +117,9 @@ # Purpose: draw a rate node object #------------------------------------------------------- proc draw_rate {w x y} { - global mode text_data input_data + global mode text_data input_data sdsmlib - set oid [$w create bitmap $x $y -bitmap @./XBM/rate.bmp ] + set oid [$w create bitmap $x $y -bitmap @[file join $sdsmlib XBM rate.bmp] ] get_text_input $mode set text_data $input_data add_object $w $oid $mode $x $y $text_data @@ -144,9 +144,9 @@ # Purpose: draw an constant node object #------------------------------------------------------- proc draw_const {w x y} { - global mode text_data input_data + global mode text_data input_data sdsmlib - set oid [$w create bitmap $x $y -bitmap @./XBM/const.bmp] + set oid [$w create bitmap $x $y -bitmap @[file join $sdsmlib XBM const.bmp] ] get_text_input $mode set text_data $input_data add_object $w $oid $mode $x $y $text_data @@ -157,9 +157,9 @@ # Purpose: draw a source/sink node object #------------------------------------------------------- proc draw_source {w x y} { - global mode text_data input_data + global mode text_data input_data sdsmlib - set oid [$w create bitmap $x $y -bitmap @./XBM/source.bmp] + set oid [$w create bitmap $x $y -bitmap @[file join $sdsmlib XBM source.bmp] ] # get_text_input $mode # set text_data $input_data set text_data "" @@ -229,6 +229,7 @@ proc moving {w x y} { global oldx oldy global obj mode selected_id new_link_id link_flg + global sdsmlib if {$selected_id != -1} { # moving an object @@ -263,7 +264,8 @@ } } else { set s_id [$w create line $sx $sy $x $y $tx $ty -width 1 -arrow last \ - -smooth true -capstyle projecting -stipple @./bitmaps/grey.5 ] + -smooth true -capstyle projecting \ + -stipple @[file join $sdsmlib bitmaps grey.5 ] ] } set new_link_id $s_id $w addtag selected withtag $s_id @@ -284,7 +286,8 @@ set s_id [$w create line $oldx $oldy $x $y -width 1 -arrow last] } else { set s_id [$w create line $oldx $oldy $x $y -width 1 -arrow last \ - -capstyle projecting -stipple @./bitmaps/grey.5 ] + -capstyle projecting \ + -stipple @[file join $sdsmlib bitmaps grey.5] ] } $w addtag selected withtag $s_id } @@ -297,6 +300,7 @@ #------------------------------------------------------- proc move_end {w x y} { global selected_id obj mode oldx oldy new_link_id link_flg + global sdsmlib if {$selected_id != -1} { puts "move end" @@ -348,7 +352,8 @@ } } else { set oid [$w create line $oldx $oldy $x $y -width 1 -arrow last \ - -capstyle projecting -stipple @./bitmaps/grey.5 ] + -capstyle projecting \ + -stipple @[file join $sdsmlib bitmaps grey.5] ] } add_link $w $oid $mode [expr ($oldx+$x)/2] [expr ($oldy+$y)/2] \ $selected_id $t_id @@ -499,7 +504,7 @@ # links are moved #------------------------------------------------------- proc move_asso_links {w} { - global selected_id obj + global selected_id obj sdsmlib $w delete label foreach i [array names obj] { @@ -535,7 +540,8 @@ } } else { set s_id [$w create line $sx $sy $x $y $tx $ty -width 1 -arrow last \ - -smooth true -capstyle projecting -stipple @./bitmaps/grey.5 ] + -smooth true -capstyle projecting \ + -stipple @[file join $sdsmlib bitmaps grey.5] ] } $w addtag object withtag $s_id change_link_id $i $s_id @@ -602,7 +608,7 @@ # the user's input #------------------------------------------------------- proc show_grid_selection {{w .grid}} { - global grid_mode + global grid_mode sdsmlib catch {destroy $w} toplevel $w -class Dialog @@ -617,13 +623,17 @@ -font -Adobe-times-medium-r-normal--*-180* pack $w.top.msg - button $w.bot.s0 -bitmap @./XBM/grid0.bmp -command {destroy .grid + button $w.bot.s0 -bitmap @[file join $sdsmlib XBM grid0.bmp] \ + -command {destroy .grid set grid_mode 0} - button $w.bot.s1 -bitmap @./XBM/grid1.bmp -command {destroy .grid + button $w.bot.s1 -bitmap @[file join $sdsmlib XBM grid1.bmp] \ + -command {destroy .grid set grid_mode 1} - button $w.bot.s2 -bitmap @./XBM/grid2.bmp -command {destroy .grid + button $w.bot.s2 -bitmap @[file join $sdsmlib XBM grid2.bmp] \ + -command {destroy .grid set grid_mode 2} - button $w.bot.sc -bitmap @./XBM/cancel.bmp -command {destroy .grid + button $w.bot.sc -bitmap @[file join $sdsmlib XBM cancel.bmp] \ + -command {destroy .grid return -1} pack $w.bot.s0 $w.bot.s1 $w.bot.s2 $w.bot.sc -side left @@ -634,18 +644,21 @@ # Purpose: change grid mode #------------------------------------------------------- proc change_grid_mode {} { - global grid_mode + global grid_mode sdsmlib catch {destroy .plate.left.b14} puts "grid_mode = $grid_mode" switch -exact -- $grid_mode { - 0 {button .plate.left.b14 -bitmap @./XBM/grid0.xbm -padx 16 \ + 0 {button .plate.left.b14 \ + -bitmap @[file join $sdsmlib XBM grid0.xbm] -padx 16 \ -command "grid_select" } - 1 {button .plate.left.b14 -bitmap @./XBM/grid1.xbm -padx 16 \ + 1 {button .plate.left.b14 \ + -bitmap @[file join $sdsmlib XBM grid1.xbm] -padx 16 \ -command "grid_select" } - 2 {button .plate.left.b14 -bitmap @./XBM/grid2.xbm -padx 16 \ + 2 {button .plate.left.b14 \ + -bitmap @[file join $sdsmlib XBM grid2.xbm] -padx 16 \ -command "grid_select" } } @@ -691,6 +704,7 @@ # Purpose: show grid on the canvas #------------------------------------------------------- proc show_grid {mode {w .plate.right.board}} { + global sdsmlib set max_x 1417 set max_y 1417 set dp 10 @@ -704,12 +718,12 @@ } for {set x 0} {$x <= $max_x} {set x [expr $x+$step]} { set oid [$w create line $x 0 $x $max_y -width 1 \ - -stipple @./bitmaps/grey.05 ] + -stipple @[file join $sdsmlib bitmaps grey.05] ] $w addtag grid_tag withtag $oid } for {set y 0} {$y <= $max_y} {set y [expr $y+$step]} { set oid [$w create line 0 $y $max_x $y -width 1 \ - -stipple @./bitmaps/grey.05 ] + -stipple @[file join $sdsmlib bitmaps grey.05] ] $w addtag grid_tag withtag $oid } } diff -udr func/slice/sdsmt/equ.tcl /usr/local/lib/SimPack/func/slice/sdsmt/equ.tcl --- func/slice/sdsmt/equ.tcl Fri Aug 25 01:01:10 1995 +++ /usr/local/lib/SimPack/func/slice/sdsmt/equ.tcl Mon May 19 13:16:58 1997 @@ -257,13 +257,13 @@ } - if {[tk colormodel $w] == "color"} { +# if {[tk colormodel $w] == "color"} { set bold "-foreground red" set normal "-foreground {}" - } else { - set bold "-foreground white -background black" - set normal "-foreground {} -background {}" - } +# } else { +# set bold "-foreground white -background black" +# set normal "-foreground {} -background {}" +# } if {$complete != 1} { $w.t1.b insert 0.0 { Based on the flow graph, the following\ @@ -891,3 +891,4 @@ } return 1 } + diff -udr func/slice/sdsmt/file.tcl /usr/local/lib/SimPack/func/slice/sdsmt/file.tcl --- func/slice/sdsmt/file.tcl Fri Aug 25 01:01:10 1995 +++ /usr/local/lib/SimPack/func/slice/sdsmt/file.tcl Mon May 19 13:16:58 1997 @@ -464,10 +464,10 @@ proc FSBoxBindSelectOne { fsBoxW fsBoxY} { set fsBoxNearest [$fsBoxW nearest $fsBoxY] - if {$fsBoxNearest >= 0} { - $fsBoxW select from $fsBoxNearest - $fsBoxW select to $fsBoxNearest - } +# if {$fsBoxNearest >= 0} { +# $fsBoxW select from $fsBoxNearest +# $fsBoxW select to $fsBoxNearest +# } } diff -udr func/slice/sdsmt/help.tcl /usr/local/lib/SimPack/func/slice/sdsmt/help.tcl --- func/slice/sdsmt/help.tcl Fri Aug 25 01:01:02 1995 +++ /usr/local/lib/SimPack/func/slice/sdsmt/help.tcl Mon May 19 13:16:58 1997 @@ -15,7 +15,7 @@ $w.t tag configure bold -font -Adobe-Courier-Bold-O-Normal-*-120-* $w.t tag configure big -font -Adobe-Courier-Bold-R-Normal-*-140-* $w.t tag configure verybig -font -Adobe-Helvetica-Bold-R-Normal-*-240-* - if {[tk colormodel $w] == "color"} { +# if {[tk colormodel $w] == "color"} { $w.t tag configure color1 -background #eed5b7 $w.t tag configure color2 -foreground red $w.t tag configure color3 -foreground blue @@ -23,14 +23,14 @@ -borderwidth 1 $w.t tag configure sunken -background #eed5b7 -relief sunken \ -borderwidth 1 - } else { - $w.t tag configure color1 -background black -foreground white - $w.t tag configure color2 -background black -foreground white - $w.t tag configure raised -background white -relief raised \ - -borderwidth 1 - $w.t tag configure sunken -background white -relief sunken \ - -borderwidth 1 - } +# } else { +# $w.t tag configure color1 -background black -foreground white +# $w.t tag configure color2 -background black -foreground white +# $w.t tag configure raised -background white -relief raised \ +# -borderwidth 1 +# $w.t tag configure sunken -background white -relief sunken \ +# -borderwidth 1 +# } $w.t tag configure bgstipple -background black -borderwidth 0 \ -bgstipple gray25 $w.t tag configure fgstipple -fgstipple gray50 @@ -140,7 +140,7 @@ $w1.t tag configure bold -font -Adobe-Courier-Bold-O-Normal-*-120-* $w1.t tag configure big -font -Adobe-Courier-Bold-R-Normal-*-140-* $w1.t tag configure verybig -font -Adobe-Helvetica-Bold-R-Normal-*-240-* - if {[tk colormodel $w1] == "color"} { +# if {[tk colormodel $w1] == "color"} { $w1.t tag configure color1 -background #eed5b7 $w1.t tag configure color2 -foreground red $w1.t tag configure color3 -foreground blue @@ -148,14 +148,14 @@ -borderwidth 1 $w1.t tag configure sunken -background #eed5b7 -relief sunken \ -borderwidth 1 - } else { - $w1.t tag configure color1 -background black -foreground white - $w1.t tag configure color2 -background black -foreground white - $w1.t tag configure raised -background white -relief raised \ - -borderwidth 1 - $w1.t tag configure sunken -background white -relief sunken \ - -borderwidth 1 - } +# } else { +# $w1.t tag configure color1 -background black -foreground white +# $w1.t tag configure color2 -background black -foreground white +# $w1.t tag configure raised -background white -relief raised \ +# -borderwidth 1 +# $w1.t tag configure sunken -background white -relief sunken \ +# -borderwidth 1 +# } $w1.t tag configure bgstipple -background black -borderwidth 0 \ -bgstipple gray25 $w1.t tag configure fgstipple -fgstipple gray50 @@ -326,21 +326,21 @@ $w.t tag configure bold -font -Adobe-Courier-Bold-O-Normal-*-120-* $w.t tag configure big -font -Adobe-Courier-Bold-R-Normal-*-140-* $w.t tag configure verybig -font -Adobe-Helvetica-Bold-R-Normal-*-240-* - if {[tk colormodel $w] == "color"} { +# if {[tk colormodel $w] == "color"} { $w.t tag configure color1 -background #eed5b7 $w.t tag configure color2 -foreground red $w.t tag configure raised -background #eed5b7 -relief raised \ -borderwidth 1 $w.t tag configure sunken -background #eed5b7 -relief sunken \ -borderwidth 1 - } else { - $w.t tag configure color1 -background black -foreground white - $w.t tag configure color2 -background black -foreground white - $w.t tag configure raised -background white -relief raised \ - -borderwidth 1 - $w.t tag configure sunken -background white -relief sunken \ - -borderwidth 1 - } +# } else { +# $w.t tag configure color1 -background black -foreground white +# $w.t tag configure color2 -background black -foreground white +# $w.t tag configure raised -background white -relief raised \ +# -borderwidth 1 +# $w.t tag configure sunken -background white -relief sunken \ +# -borderwidth 1 +# } $w.t tag configure bgstipple -background black -borderwidth 0 \ -bgstipple gray25 $w.t tag configure fgstipple -fgstipple gray50 @@ -414,7 +414,7 @@ $w1.t tag configure bold -font -Adobe-Courier-Bold-O-Normal-*-120-* $w1.t tag configure big -font -Adobe-Courier-Bold-R-Normal-*-140-* $w1.t tag configure verybig -font -Adobe-Helvetica-Bold-R-Normal-*-240-* - if {[tk colormodel $w1] == "color"} { +# if {[tk colormodel $w1] == "color"} { $w1.t tag configure color1 -background #eed5b7 $w1.t tag configure color2 -foreground red $w1.t tag configure color3 -foreground blue @@ -422,14 +422,14 @@ -borderwidth 1 $w1.t tag configure sunken -background #eed5b7 -relief sunken \ -borderwidth 1 - } else { - $w1.t tag configure color1 -background black -foreground white - $w1.t tag configure color2 -background black -foreground white - $w1.t tag configure raised -background white -relief raised \ - -borderwidth 1 - $w1.t tag configure sunken -background white -relief sunken \ - -borderwidth 1 - } +# } else { +# $w1.t tag configure color1 -background black -foreground white +# $w1.t tag configure color2 -background black -foreground white +# $w1.t tag configure raised -background white -relief raised \ +# -borderwidth 1 +# $w1.t tag configure sunken -background white -relief sunken \ +# -borderwidth 1 +# } $w1.t tag configure bgstipple -background black -borderwidth 0 \ -bgstipple gray25 $w1.t tag configure fgstipple -fgstipple gray50 @@ -508,6 +508,9 @@ bind $w1 "focus $w1.t" +} + +proc help_about {} { } proc insertWithTags {w text args} { diff -udr func/slice/sdsmt/sdsmt /usr/local/lib/SimPack/func/slice/sdsmt/sdsmt --- func/slice/sdsmt/sdsmt Fri Aug 25 01:01:04 1995 +++ /usr/local/lib/SimPack/func/slice/sdsmt/sdsmt Mon May 19 13:16:58 1997 @@ -12,7 +12,9 @@ # #========================================================================= -set auto_path "./ $auto_path" +global sdsmlib +set sdsmlib $env(SDSMTLIB) +set auto_path "$sdsmlib $auto_path" wm title . "System Dynamics Simulation Modeling Tools" wm geometry . +50+50 @@ -98,30 +100,34 @@ frame .plate.right pack .plate.left .plate.right -side left -radiobutton .plate.left.b1 -bitmap @./XBM/level.xbm \ +radiobutton .plate.left.b1 -bitmap @[file join $sdsmlib XBM level.xbm] \ -variable letters -command "set_level $c" -radiobutton .plate.left.b2 -bitmap @./XBM/rate.xbm \ +radiobutton .plate.left.b2 -bitmap @[file join $sdsmlib XBM rate.xbm] \ -variable letters -command "set_rate $c" -radiobutton .plate.left.b3 -bitmap @./XBM/aux.xbm \ +radiobutton .plate.left.b3 -bitmap @[file join $sdsmlib XBM aux.xbm] \ -variable letters -command "set_aux $c" -radiobutton .plate.left.b4 -bitmap @./XBM/const.xbm \ +radiobutton .plate.left.b4 -bitmap @[file join $sdsmlib XBM const.xbm] \ -variable letters -command "set_const $c" -radiobutton .plate.left.b5 -bitmap @./XBM/source.xbm \ +radiobutton .plate.left.b5 -bitmap @[file join $sdsmlib XBM source.xbm] \ -variable letters -command "set_source $c" -radiobutton .plate.left.b6 -bitmap @./XBM/flow.xbm \ +radiobutton .plate.left.b6 -bitmap @[file join $sdsmlib XBM flow.xbm] \ -variable letters -command "set_flow $c" -radiobutton .plate.left.b7 -bitmap @./XBM/celink.xbm \ +radiobutton .plate.left.b7 -bitmap @[file join $sdsmlib XBM celink.xbm] \ -variable letters -command "set_celink $c" -radiobutton .plate.left.b8 -bitmap @./XBM/move.xbm \ +radiobutton .plate.left.b8 -bitmap @[file join $sdsmlib XBM move.xbm] \ -variable letters -command "set_move $c" -radiobutton .plate.left.b9 -bitmap @./XBM/delete.xbm \ +radiobutton .plate.left.b9 -bitmap @[file join $sdsmlib XBM delete.xbm] \ -variable letters -command "set_delete $c" -radiobutton .plate.left.b10 -bitmap @./XBM/edit.xbm \ +radiobutton .plate.left.b10 -bitmap @[file join $sdsmlib XBM edit.xbm] \ -variable letters -command "set_edit $c" -button .plate.left.b11 -bitmap @./XBM/undo.xbm -padx 16 -command "puts 11" -button .plate.left.b12 -bitmap @./XBM/equ.xbm -padx 16 -command "equ_generation" -button .plate.left.b13 -bitmap @./XBM/exec.xbm -padx 16 -command "equ_execution" -button .plate.left.b14 -bitmap @./XBM/grid0.xbm -padx 16 -command "grid_select" +button .plate.left.b11 -bitmap @[file join $sdsmlib XBM/undo.xbm] \ + -padx 16 -command "puts 11" +button .plate.left.b12 -bitmap @[file join $sdsmlib XBM equ.xbm] \ + -padx 16 -command "equ_generation" +button .plate.left.b13 -bitmap @[file join $sdsmlib XBM exec.xbm] \ + -padx 16 -command "equ_execution" +button .plate.left.b14 -bitmap @[file join $sdsmlib XBM grid0.xbm] \ + -padx 16 -command "grid_select" pack .plate.left.b1 .plate.left.b2 .plate.left.b3 .plate.left.b4 \ .plate.left.b5 .plate.left.b6 .plate.left.b7 .plate.left.b8 \ @@ -130,7 +136,8 @@ canvas .plate.right.board -scrollregion {0c 0c 40c 40c} \ -relief raised -width 800 -height 500 \ - -xscroll ".plate.right.hscroll set" -yscroll ".plate.right.vscroll set" + -xscrollcommand ".plate.right.hscroll set" \ + -yscrollcommand ".plate.right.vscroll set" scrollbar .plate.right.vscroll -relief sunken \ -command ".plate.right.board yview" scrollbar .plate.right.hscroll -orient horiz -relief sunken \