2 namespace eval subtract {
10 variable frSerieName .frSerieName
11 variable frDescription .frDescription
12 variable frSeries .frSeries
14 variable edtSerieName .frSerieName.02
15 variable edtDescription .frDescription.02
17 variable btnLeft1 .frSeries.btnLeft1
18 variable btnLeft2 .frSeries.btnLeft2
19 variable btnRight1 .frSeries.btnRight1
20 variable btnRight2 .frSeries.btnRight2
23 variable btnCancel .btnCancel
25 variable lbl001 .frSerieName.01
26 variable lblSub .frSeries.lblSub
27 variable lbl002 .frDescription.01
36 proc subtract::reset_values { } {
38 # For programming facilities
39 upvar subtract::base base
40 upvar subtract::frSerieName frSerieName
41 upvar subtract::frDescription frDescription
42 upvar subtract::frSeries frSeries
43 upvar subtract::edtSerieName edtSerieName
44 upvar subtract::edtDescription edtDescription
45 upvar subtract::btnLeft1 btnLeft1
46 upvar subtract::btnLeft2 btnLeft2
47 upvar subtract::btnRight1 btnRight1
48 upvar subtract::btnRight2 btnRight2
49 upvar subtract::btnOk btnOk
50 upvar subtract::btnCancel btnCancel
51 upvar subtract::lbl001 lbl001
52 upvar subtract::lblSub lblSub
53 upvar subtract::lbl002 lbl002
54 upvar subtract::lblt lblt
55 upvar subtract::sense sense
58 set frSerieName ".frSerieName"
59 set frDescription ".frDescription"
60 set frSeries ".frSeries"
61 set edtSerieName ".frSerieName.02"
62 set edtDescription ".frDescription.02"
63 set btnLeft1 ".frSeries.btnLeft1"
64 set btnLeft2 ".frSeries.btnLeft2"
65 set btnRight1 ".frSeries.btnRight1"
66 set btnRight2 ".frSeries.btnRight2"
68 set btnCancel ".btnCancel"
69 set lbl001 ".frSerieName.01"
70 set lblSub ".frSeries.lblSub"
71 set lbl002 ".frDescription.01"
78 proc subtract::show { parent serie1 serie2 } {
80 # For programming facilities
81 upvar subtract::base base
82 upvar subtract::frSerieName frSerieName
83 upvar subtract::frDescription frDescription
84 upvar subtract::frSeries frSeries
85 upvar subtract::edtSerieName edtSerieName
86 upvar subtract::edtDescription edtDescription
87 upvar subtract::btnLeft1 btnLeft1
88 upvar subtract::btnLeft2 btnLeft2
89 upvar subtract::btnRight1 btnRight1
90 upvar subtract::btnRight2 btnRight2
91 upvar subtract::btnOk btnOk
92 upvar subtract::btnCancel btnCancel
93 upvar subtract::lbl001 lbl001
94 upvar subtract::lblSub lblSub
95 upvar subtract::lbl002 lbl002
96 upvar subtract::lblt lblt
97 upvar subtract::sense sense
98 upvar subtract::description description
99 upvar subtract::seriename seriename
101 subtract::reset_values
102 set base "$parent.subtract"
103 set frSerieName "$base$frSerieName"
104 set frDescription "$base$frDescription"
105 set frSeries "$base$frSeries"
106 set edtSerieName "$base$edtSerieName"
107 set edtDescription "$base$edtDescription"
108 set btnLeft1 "$base$btnLeft1"
109 set btnLeft2 "$base$btnLeft2"
110 set btnRight1 "$base$btnRight1"
111 set btnRight2 "$base$btnRight2"
112 set btnOk "$base$btnOk"
113 set btnCancel "$base$btnCancel"
114 set lbl001 "$base$lbl001"
115 set lblSub "$base$lblSub"
116 set lbl002 "$base$lbl002"
117 set lblt "$base$lblt"
119 toplevel $base -class Toplevel
120 wm focusmodel $base passive
121 wm geometry $base 365x213+215+163
122 wm maxsize $base 1028 753
123 wm minsize $base 104 1
124 wm overrideredirect $base 0
125 wm resizable $base 0 0
127 wm title $base "$string_table::str_subtract_series"
129 frame $frSerieName -height 30 -width 30
130 frame $frDescription -height 30 -width 30
131 frame $frSeries -borderwidth 2 -height 75 -relief groove -width 125
133 entry $edtSerieName -textvariable subtract::seriename
134 entry $edtDescription -textvariable subtract::description
136 $edtSerieName delete 0 end
137 $edtDescription delete 0 end
138 $edtSerieName insert 0 "subtraction_$serie1\_$serie2"
139 $edtDescription insert 0 "subtraction_$serie1\_$serie2"
141 radiobutton $btnLeft1 -text $serie1 -variable ser1_var -value 1 -command "set subtract::sense 12; $btnRight1 deselect; $btnRight2 select"
142 radiobutton $btnLeft2 -text $serie2 -variable ser1_var -value 2 -command "set subtract::sense 21; $btnRight1 select; $btnRight2 deselect"
143 radiobutton $btnRight1 -text $serie1 -variable ser2_var -value 1 -command "set subtract::sense 21; $btnLeft1 deselect; $btnLeft2 select"
144 radiobutton $btnRight2 -text $serie2 -variable ser2_var -value 2 -command "set subtract::sense 12; $btnLeft2 deselect; $btnLeft1 select"
146 button $btnOk -text $string_table::str_ok -command "destroy $base"
147 button $base.btnCancel -text $string_table::str_cancel -command "set subtract::sense 0; destroy $base"
149 label $lbl001 -anchor w -borderwidth 0 -text $string_table::str_serie_name
150 label $lbl002 -anchor w -borderwidth 0 -text $string_table::str_description
151 label $lblSub -borderwidth 0 -text "----"
152 label $lblt -borderwidth 0 -text $string_table::str_choose_order
154 place $frSerieName -x 15 -y 25 -width 335 -height 25 -anchor nw -bordermode ignore
155 pack $lbl001 -anchor center -expand 0 -fill none -padx 2 -pady 2 -side left
156 pack $edtSerieName -anchor center -expand 1 -fill x -padx 2 -pady 2 -side right
157 place $frDescription -x 15 -y 55 -width 335 -height 25 -anchor nw -bordermode ignore
158 pack $lbl002 -anchor center -expand 0 -fill none -padx 2 -pady 2 -side left
159 pack $edtDescription -anchor center -expand 1 -fill x -padx 2 -pady 2 -side right
160 place $frSeries -x 10 -y 100 -width 345 -height 65 -anchor nw -bordermode ignore
161 place $btnLeft1 -x 15 -y 10 -anchor nw -bordermode ignore
162 place $btnLeft2 -x 15 -y 30 -anchor nw -bordermode ignore
163 place $btnRight1 -x 210 -y 10 -anchor nw -bordermode ignore
164 place $btnRight2 -x 210 -y 30 -anchor nw -bordermode ignore
165 place $lblSub -x 135 -y 25 -anchor nw -bordermode ignore
166 place $base.lblt -x 15 -y 90 -anchor nw -bordermode ignore
167 place $base.btnOk -x 115 -y 175 -anchor nw -bordermode ignore
168 place $base.btnCancel -x 180 -y 175 -anchor nw -bordermode ignore
172 # set global focus input to dialog
175 # waits for dialog destruction, i.e. waits for user interaction with dialog
178 return [ list $sense $seriename $description ]