1# demo-meters.tcl --
2#     Straightforward demonstration of various meters
3
4package require controlwidget
5
6# main --
7#     Test it
8#
9#     Note: variable must exist! This is a bug
10#
11set ::metervar 1.0
12set ::slidervar {1.0 0.5 7}
13set ::barvar {1.0 4.0 7.0}
14set ::thmvar 10.0
15pack [::controlwidget::meter .meter -variable metervar -from 0.0 -to 10.0 -axisformat %.1f -axiscolor green] \
16     [::controlwidget::slider .slider -variable slidervar -from 0.0 -to 10.0 -number 3 -axisformat %.1f -axiscolor green] \
17     [::controlwidget::equalizerBar .bar -variable barvar -from 0.0 -to 10.0 -number 3 -warninglevel 5] \
18     [::controlwidget::thermometer  .thm -variable thmvar -from -10.0 -to 30.0 -majorticks 5] -side left
19
20after 1000 {
21    set ::metervar 5.0
22    .meter configure -arrowthickness 3
23    .meter configure -arrowcolor blue
24}
25
26set ledvar 0
27pack [::controlwidget::led .led -variable ledvar -off red] -side top
28
29after 2000 {
30    set ::ledvar 1
31}
32
33proc changeBars {v} {
34    set ::barvar [list [expr {5.0 + 5.0*cos($v)}] [expr {5.0 + 5.0*sin($v)}] [expr {4.0 + 2.5*cos(2*$v)}]]
35
36    after 100 [list changeBars [expr {$v+0.1}]]
37}
38
39after 500 [list changeBars 0.0]
40