OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / util / src / TclTk / blt2.5 / demos / scripts / barchart2.tcl
1
2 proc FormatXTicks { w value } {
3
4     # Determine the element name from the value
5
6     set index [expr round($value)]
7     if { $index != $value } {
8         return $value 
9     }
10     incr index -1
11
12     set name [lindex { A1 B1 A2 B2 C1 D1 C2 A3 E1 } $index]
13     return $name
14 }
15
16 source scripts/patterns.tcl
17
18 image create photo bgTexture -file ./images/chalk.gif
19
20 set configOptions {
21     Axis.TickFont               -*-helvetica-medium-r-*-*-12-*-*
22     Axis.TitleFont              -*-helvetica-bold-r-*-*-12-*-*
23     Element.Background          white
24     Element.Relief              raised
25     Grid.Dashes                 { 2 4 }
26     Grid.Hide                   no
27     Grid.MapX                   ""
28     Legend.Font                 "-*-helvetica*-bold-r-*-*-12-*-*"
29     Legend.ActiveBorderWidth    2 
30     Legend.ActiveRelief         raised 
31     Legend.Anchor               ne 
32     Legend.BorderWidth          0 
33     Legend.Position             right
34     TextMarker.Font             *Helvetica-Bold-R*14*
35     activeBar.Foreground        black
36     activeBar.Stipple           pattern1
37     BarMode                     stacked
38     Font                        -*-helvetica-bold-r-*-*-14-*-*
39     Tile                        bgTexture
40     Title                       "Comparison of Simulators"
41     x.Command                   FormatXTicks
42     x.Title                     "Simulator"
43     y.Title                     "Time (hrs)"
44 }
45
46 set resource [string trimleft $graph .]
47 foreach { option value } $configOptions {
48     option add *$resource.$option $value
49 }
50
51 set visual [winfo screenvisual .] 
52 if { $visual != "staticgray" && $visual != "grayscale" } {
53     option add *print.background        yellow
54     option add *quit.background         red
55     option add *quit.activeBackground   red2
56 }
57
58 vector create X Y0 Y1 Y2 Y3 Y4
59
60 X set { 1 2 3 4 5 6 7 8 9 }
61 Y0 set { 
62     0.729111111  0.002250000  0.09108333  0.006416667  0.026509167 
63     0.007027778  0.1628611    0.06405278  0.08786667  
64 }
65 Y1 set {
66     0.003120278  0.004638889  0.01113889  0.048888889  0.001814722
67     0.291388889  0.0503500    0.13876389  0.04513333 
68 }
69 Y2 set {
70     11.534444444 3.879722222  4.54444444  4.460277778  2.334055556 
71     1.262194444  1.8009444    4.12194444  3.24527778  
72 }
73 Y3 set {
74     1.015750000  0.462888889  0.49394444  0.429166667  1.053694444
75     0.466111111  1.4152500    2.17538889  2.55294444 
76 }
77 Y4 set {
78     0.022018611  0.516333333  0.54772222  0.177638889  0.021703889 
79     0.134305556  0.5189278    0.07957222  0.41155556  
80 }
81
82
83 #
84 # Element attributes:  
85 #
86 #    Label      yData   Color           Stipple Pattern
87 set attributes { 
88     "Load"      Y2      lightblue       pattern1
89     "Other"     Y4      lightpink       pattern1
90     "Read In"   Y0      lightgoldenrod  pattern1
91     "Setup"     Y1      lightyellow     pattern2
92 }
93 set attributes { 
94     "Load"      Y2      white           azure           ""              0
95     "Solve"     Y3      cyan1           lightcyan       pattern2        1
96     "zOther"    Y4      lightpink       lightpink       pattern1        1
97     "Read In"   Y0      lightgoldenrod  lightgoldenrod  pattern1        1
98     "Setup"     Y1      lightyellow     lightyellow     pattern2        1
99 }
100      
101 foreach {label yData fg bg stipple bd} $attributes {
102     $graph element create $yData \
103         -label $label \
104         -borderwidth $bd \
105         -y $yData \
106         -x X \
107         -fg $fg \
108         -bg $bg \
109         -stipple $stipple
110 }
111
112 Blt_ZoomStack $graph
113 Blt_Crosshairs $graph
114 Blt_ActiveLegend $graph
115 Blt_ClosestPoint $graph
116
117 $graph marker bind all <B2-Motion> {
118     set coords [%W invtransform %x %y]
119     catch { %W marker configure [%W marker get current] -coords $coords }
120 }
121
122 $graph marker bind all <Enter> {
123     set marker [%W marker get current]
124     catch { %W marker configure $marker -bg green}
125 }
126
127 $graph marker bind all <Leave> {
128     set marker [%W marker get current]
129     catch { %W marker configure $marker -bg ""}
130 }
131