--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/python-2.5.2/win32/tcl/tix8.4/Meter.tcl Fri Apr 03 17:19:34 2009 +0100
@@ -0,0 +1,137 @@
+# -*- mode: TCL; fill-column: 75; tab-width: 8; coding: iso-latin-1-unix -*-
+#
+# $Id: Meter.tcl,v 1.3 2001/12/09 05:04:02 idiscovery Exp $
+#
+# Meter.tcl --
+#
+# Implements the tixMeter widget
+#
+# Copyright (c) 1993-1999 Ioi Kim Lam.
+# Copyright (c) 2000-2001 Tix Project Group.
+#
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#
+
+
+tixWidgetClass tixMeter {
+ -classname TixMeter
+ -superclass tixPrimitive
+ -method {
+ }
+ -flag {
+ -foreground -text -value
+ }
+ -configspec {
+ {-fillcolor fillColor FillColor #8080ff}
+ {-foreground foreground Foreground black}
+ {-text text Text ""}
+ {-value value Value 0}
+ }
+ -default {
+ {.relief sunken}
+ {.borderWidth 2}
+ {.width 150}
+ }
+}
+
+proc tixMeter:InitWidgetRec {w} {
+ upvar #0 $w data
+ global env
+
+ tixChainMethod $w InitWidgetRec
+}
+
+#----------------------------------------------------------------------
+# Construct widget
+#----------------------------------------------------------------------
+proc tixMeter:ConstructWidget {w} {
+ upvar #0 $w data
+
+ tixChainMethod $w ConstructWidget
+
+ set data(w:canvas) [canvas $w.canvas]
+ pack $data(w:canvas) -expand yes -fill both
+
+ tixMeter:Update $w
+}
+
+proc tixMeter:SetBindings {w} {
+ upvar #0 $w data
+
+ tixChainMethod $w SetBindings
+}
+
+proc tixMeter:Update {w} {
+ upvar #0 $w data
+
+ # set the width of the canvas
+ set W [expr $data(-width)-\
+ ([$data(w:root) cget -bd]+[$data(w:root) cget -highlightthickness]*2)]
+ $data(w:canvas) config -width $W
+
+ if {$data(-text) == ""} {
+ set text [format "%d%%" [expr int($data(-value)*100)]]
+ } else {
+ set text $data(-text)
+ }
+
+ # (Create/Modify) the text item.
+ #
+ if {![info exists data(text)]} {
+ set data(text) [$data(w:canvas) create text 0 0 -text $text]
+ } else {
+ $data(w:canvas) itemconfig $data(text) -text $text
+ }
+
+ set bbox [$data(w:canvas) bbox $data(text)]
+
+ set itemW [expr [lindex $bbox 2]-[lindex $bbox 0]]
+ set itemH [expr [lindex $bbox 3]-[lindex $bbox 1]]
+
+
+ $data(w:canvas) coord $data(text) [expr $W/2] [expr $itemH/2+4]
+
+ set H [expr $itemH + 4]
+ $data(w:canvas) config -height [expr $H]
+
+
+ set rectW [expr int($W*$data(-value))]
+
+ if {![info exists data(rect)]} {
+ set data(rect) [$data(w:canvas) create rectangle 0 0 $rectW 1000]
+ } else {
+ $data(w:canvas) coord $data(rect) 0 0 $rectW 1000
+ }
+
+ $data(w:canvas) itemconfig $data(rect) \
+ -fill $data(-fillcolor) -outline $data(-fillcolor)
+
+ $data(w:canvas) raise $data(text)
+}
+
+#----------------------------------------------------------------------
+# Configuration
+#----------------------------------------------------------------------
+proc tixMeter:config-value {w value} {
+ upvar #0 $w data
+
+ set data(-value) $value
+ tixMeter:Update $w
+}
+
+proc tixMeter:config-text {w value} {
+ upvar #0 $w data
+
+ set data(-text) $value
+ tixMeter:Update $w
+}
+
+proc tixMeter:config-fillcolor {w value} {
+ upvar #0 $w data
+
+ set data(-fillcolor) $value
+ tixMeter:Update $w
+}
+
+