]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/tcl/windows/subtract.tcl
creaMaracasVisu Library
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / tcl / windows / subtract.tcl
1
2 namespace eval subtract {
3
4     namespace export \
5         show
6
7     # variables
8     variable base ""
9
10     variable frSerieName    .frSerieName
11     variable frDescription  .frDescription
12     variable frSeries       .frSeries
13
14     variable edtSerieName   .frSerieName.02
15     variable edtDescription .frDescription.02
16
17     variable btnLeft1  .frSeries.btnLeft1
18     variable btnLeft2  .frSeries.btnLeft2
19     variable btnRight1 .frSeries.btnRight1
20     variable btnRight2 .frSeries.btnRight2
21
22     variable btnOk     .btnOk
23     variable btnCancel .btnCancel
24
25     variable lbl001 .frSerieName.01
26     variable lblSub .frSeries.lblSub
27     variable lbl002 .frDescription.01
28     variable lblt   .lblt
29
30     variable sense 12
31     variable description
32     variable seriename
33
34 }
35
36 proc subtract::reset_values { } {
37
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
56
57     set base           ""
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"
67     set btnOk          ".btnOk"
68     set btnCancel      ".btnCancel"
69     set lbl001         ".frSerieName.01"
70     set lblSub         ".frSeries.lblSub"
71     set lbl002         ".frDescription.01"
72     set lblt           ".lblt"
73     set sense 12
74
75 }
76
77
78 proc subtract::show { parent serie1 serie2 } {
79
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
100
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"
118
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
126     wm deiconify        $base
127     wm title            $base "$string_table::str_subtract_series"
128
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 
132
133     entry $edtSerieName   -textvariable subtract::seriename
134     entry $edtDescription -textvariable subtract::description
135
136     $edtSerieName   delete 0 end
137     $edtDescription delete 0 end
138     $edtSerieName   insert 0 "subtraction_$serie1\_$serie2"
139     $edtDescription insert 0 "subtraction_$serie1\_$serie2"
140
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"
145
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"
148
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 
153
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 
169
170     $btnLeft1 invoke
171
172     # set global focus input to dialog
173     grab set $base
174
175     # waits for dialog destruction, i.e. waits for user interaction with dialog
176     tkwait window $base
177
178     return [ list $sense $seriename $description ]
179
180 }
181
182 # EOF - subtract.tcl