Differences From Artifact [ebd38b0a4a]:

To Artifact [2342178bd4]:


12
13
14
15
16
17
18
19

20
21
22
23
24
25
26
27
28
29
30

31
32
33
34
35
36

37
38
39
40
41
42
43




44
45
46
47
48
49
50
12
13
14
15
16
17
18

19
20
21
22
23
24
25
26
27
28
29

30
31
32
33
34
35

36
37
38
39




40
41
42
43
44
45
46
47
48
49
50







-
+










-
+





-
+



-
-
-
-
+
+
+
+







Ny=`mtt_getsize ${sys} y`


## write header
cat <<EOF > ${out}
#!/bin/sh
# Next line replaces shell with wish\\
exec wish "${out}" "$@"
exec wish "\$0" "\$@"

## main window
wm title . "MTT Viewer: ${sys}"

button .print -text "Print" -command print
button .quit  -text "Quit"  -command exit

## states canvas
canvas		.cx
listbox		.cx.l
scrollbar	.cx.s
scrollbar	.cx.sy	-orient v
label		.cx.t	-text		"States"

## outputs canvas
canvas		.cy
listbox		.cy.l
scrollbar	.cy.s
scrollbar	.cy.sy	-orient v
label		.cy.t	-text		"Outputs"

## configure scrollbars
.cx.s configure -command ".cx.l yview"
.cy.s configure -command ".cy.l yview"
.cx configure -yscrollcommand ".cx.s set" -scrollregion "0 0 20 ${Nx}"
.cy configure -yscrollcommand ".cy.s set" -scrollregion "0 0 20 ${Ny}"
.cx.sy configure -command ".cx.l yview"
.cy.sy configure -command ".cy.l yview"
.cx.l configure -yscrollcommand ".cx.sy set"
.cy.l configure -yscrollcommand ".cy.sy set"

## bind lists
bind .cx.l <<ListboxSelect>> { plot [ .cx.l get anchor ] }
bind .cy.l <<ListboxSelect>> { plot [ .cy.l get anchor ] }

EOF

58
59
60
61
62
63
64



65
66
67
68
69
70
71

72
73
74
75





76
77
78
79
80
81
82
83
84
85
86
58
59
60
61
62
63
64
65
66
67
68
69
70



71
72




73
74
75
76
77
78
79
80

81
82
83
84
85
86
87







+
+
+



-
-
-

+
-
-
-
-
+
+
+
+
+



-







}' ${struc} >> ${out}

cat <<EOF >> ${out}

pack .cx.t -expand false -fill x -side top
pack .cy.t -expand false -fill x -side top

pack .cx.sy -expand false -fill y -side right
pack .cy.sy -expand false -fill y -side right

pack .cx.l -expand true -fill both -side left
pack .cy.l -expand true -fill both -side left

pack .cx.s -expand false -fill y -side right
pack .cy.s -expand false -fill y -side right

pack .cx -expand true -fill both
place .cy -in .cx -relx 0 -rely 0 -relwidth 1 -relheight 1 -anchor nw -bordermode outside
#pack .cy -expand true -fill both
radiobutton .states  -text "States"  -textvariable showx -command { .outputs deselect ; raise .cx }
radiobutton .outputs -text "Outputs" -textvariable showy -command { .states  deselect ; raise .cy }
place .cy -in .cx -relx 0 -rely 0 -relwidth 1 -relheight 1 -anchor nw -bordermode outside

radiobutton .states  -text "States"  -value states  -variable view -command { raise .cx } -relief solid
radiobutton .outputs -text "Outputs" -value outputs -variable view -command { raise .cy } -relief solid

pack .states .outputs -side left

pack .quit  -expand false -fill x -side right
pack .print -expand false -fill x -side right
pack .states .outputs -side right


## map names to column numbers
EOF

awk '
BEGIN {
98
99
100
101
102
103
104
105

106
107
108
109
110
111
112
99
100
101
102
103
104
105

106
107
108
109
110
111
112
113







-
+







' Title=\$title Ny=${Ny} ${struc} >> ${out}


cat <<EOF >> ${out}

## call gnuplot
proc "plot_var" "title column" {
    exec echo plot \"${dat2}\" using 1:\$column title \"\$title\" > ${tmp}
    exec echo plot \\\"${dat2}\\\" using 1:\$column title \\\"\$title\\\" with lines > ${tmp}
    exec echo pause -1 >> ${tmp}
    exec gnuplot -title "\$title" ${tmp} &
}

## print output
proc "print" "" {
    exec echo set term postscript > ${tmp}.print

MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]