checkin from browser
authorClaus Gittinger <cg@exept.de>
Sun, 07 Mar 1999 14:25:33 +0100
changeset 1229 a0a54048f8ee
parent 1228 0aae4f7389ca
child 1230 1e521b1de695
checkin from browser
HScale.st
HorizontalScale.st
Scale.st
--- a/HScale.st	Sat Mar 06 13:49:08 1999 +0100
+++ b/HScale.st	Sun Mar 07 14:25:33 1999 +0100
@@ -11,10 +11,10 @@
 "
 
 SimpleView subclass:#HorizontalScale
-	 instanceVariableNames:'slider range action'
-	 classVariableNames:''
-	 poolDictionaries:''
-	 category:'Views-Interactors'
+	instanceVariableNames:'slider range action'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Views-Interactors'
 !
 
 !HorizontalScale class methodsFor:'documentation'!
@@ -33,39 +33,28 @@
 "
 !
 
-version
-    ^ '$Header: /cvs/stx/stx/libwidg2/Attic/HScale.st,v 1.4 1995-11-11 16:28:57 cg Exp $'
-!
-
 documentation
 "
     like a slider, but with a range (i.e. may be different from 0..100)
     and displaying the current value.
 "
-! !
-
-!HorizontalScale methodsFor:'slider actions'!
+!
 
-scroll:percent
-    |value x label|
-
-    action notNil ifTrue:[
-	value := (range last - range first) * (percent / 100).
-	value := value + range first.
-	action value:value.
+examples 
+"
+    |top s1 s2|
 
-	x := slider thumbFrame left + (slider thumbFrame width // 2).
-	self clear.
-	self paint:Black.
-	value := value roundTo:(range last - range first) / 100.
-	label := value asFloat printString.
-	(label endsWith:'.0') ifTrue:[
-	    label := value asInteger printString
-	].
-	self displayString:label
-			 x:x + ((font widthOf:label) // 2)
-			 y:slider height + device verticalPixelPerMillimeter
-    ]
+    top := StandardSystemView new.
+    top extent:200@200.
+    s1 := HorizontalScale origin:0.0 @ 0.0 in:top.
+    s1 extent:1.0 @ 50.
+
+    s2 := HorizontalScale origin:0.0 @ 0.5 in:top.
+    s2 extent:1.0 @ 50.
+    s2 range:(-50 to:50).
+    top open
+"
+
 ! !
 
 !HorizontalScale methodsFor:'accessing'!
@@ -78,6 +67,32 @@
     action := aBlock
 ! !
 
+!HorizontalScale methodsFor:'drawing'!
+
+redraw
+    |percent value x label|
+
+    percent := slider thumbOrigin.
+
+    value := (range last - range first) * (percent / 100).
+    value := value + range first.
+
+    x := slider thumbFrame left + (slider thumbFrame width // 2).
+    self clear.
+    self paint:Black.
+    value := value roundTo:(range last - range first) / 100.
+    label := value asFloat printString.
+    (label endsWith:'.0') ifTrue:[
+        label := value asInteger printString
+    ].
+    self displayString:label
+                     x:x - ((font widthOf:label) // 2)
+                     y:font ascent + device verticalPixelPerMillimeter
+
+    "Created: / 7.3.1999 / 00:16:54 / cg"
+    "Modified: / 7.3.1999 / 00:26:19 / cg"
+! !
+
 !HorizontalScale methodsFor:'initialization'!
 
 initialize
@@ -86,10 +101,43 @@
     range := (0 to:100).
     slider := HorizontalSlider in:self.
     slider origin:0.0 @ (font height + device verticalPixelPerMillimeter rounded).
-    slider extent:1.0 @ slider height.
-    self height:(slider height  
-		+ (font height)
-		+ (device verticalPixelPerMillimeter * 2) rounded).
+    slider width:1.0.
+
+"/    self height:(slider height  
+"/                + (font height)
+"/                + (device verticalPixelPerMillimeter * 2) rounded).
 
     slider scrollAction:[:percent | self scroll:percent].
+
+    "Modified: / 7.3.1999 / 00:21:52 / cg"
 ! !
+
+!HorizontalScale methodsFor:'queries'!
+
+preferredExtent
+    ^ slider preferredExtent + (0 @ (font height + device verticalPixelPerMillimeter rounded))
+
+    "Created: / 7.3.1999 / 00:18:28 / cg"
+    "Modified: / 7.3.1999 / 00:24:40 / cg"
+! !
+
+!HorizontalScale methodsFor:'slider actions'!
+
+scroll:percent
+    |value|
+
+    value := (range last - range first) * (percent / 100).
+    value := value + range first.
+    action notNil ifTrue:[
+        action value:value.
+    ].
+    self redraw
+
+    "Modified: / 7.3.1999 / 00:17:33 / cg"
+! !
+
+!HorizontalScale class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libwidg2/Attic/HScale.st,v 1.5 1999-03-07 13:25:09 cg Exp $'
+! !
--- a/HorizontalScale.st	Sat Mar 06 13:49:08 1999 +0100
+++ b/HorizontalScale.st	Sun Mar 07 14:25:33 1999 +0100
@@ -11,10 +11,10 @@
 "
 
 SimpleView subclass:#HorizontalScale
-	 instanceVariableNames:'slider range action'
-	 classVariableNames:''
-	 poolDictionaries:''
-	 category:'Views-Interactors'
+	instanceVariableNames:'slider range action'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Views-Interactors'
 !
 
 !HorizontalScale class methodsFor:'documentation'!
@@ -33,39 +33,28 @@
 "
 !
 
-version
-    ^ '$Header: /cvs/stx/stx/libwidg2/HorizontalScale.st,v 1.4 1995-11-11 16:28:57 cg Exp $'
-!
-
 documentation
 "
     like a slider, but with a range (i.e. may be different from 0..100)
     and displaying the current value.
 "
-! !
-
-!HorizontalScale methodsFor:'slider actions'!
+!
 
-scroll:percent
-    |value x label|
-
-    action notNil ifTrue:[
-	value := (range last - range first) * (percent / 100).
-	value := value + range first.
-	action value:value.
+examples 
+"
+    |top s1 s2|
 
-	x := slider thumbFrame left + (slider thumbFrame width // 2).
-	self clear.
-	self paint:Black.
-	value := value roundTo:(range last - range first) / 100.
-	label := value asFloat printString.
-	(label endsWith:'.0') ifTrue:[
-	    label := value asInteger printString
-	].
-	self displayString:label
-			 x:x + ((font widthOf:label) // 2)
-			 y:slider height + device verticalPixelPerMillimeter
-    ]
+    top := StandardSystemView new.
+    top extent:200@200.
+    s1 := HorizontalScale origin:0.0 @ 0.0 in:top.
+    s1 extent:1.0 @ 50.
+
+    s2 := HorizontalScale origin:0.0 @ 0.5 in:top.
+    s2 extent:1.0 @ 50.
+    s2 range:(-50 to:50).
+    top open
+"
+
 ! !
 
 !HorizontalScale methodsFor:'accessing'!
@@ -78,6 +67,32 @@
     action := aBlock
 ! !
 
+!HorizontalScale methodsFor:'drawing'!
+
+redraw
+    |percent value x label|
+
+    percent := slider thumbOrigin.
+
+    value := (range last - range first) * (percent / 100).
+    value := value + range first.
+
+    x := slider thumbFrame left + (slider thumbFrame width // 2).
+    self clear.
+    self paint:Black.
+    value := value roundTo:(range last - range first) / 100.
+    label := value asFloat printString.
+    (label endsWith:'.0') ifTrue:[
+        label := value asInteger printString
+    ].
+    self displayString:label
+                     x:x - ((font widthOf:label) // 2)
+                     y:font ascent + device verticalPixelPerMillimeter
+
+    "Created: / 7.3.1999 / 00:16:54 / cg"
+    "Modified: / 7.3.1999 / 00:26:19 / cg"
+! !
+
 !HorizontalScale methodsFor:'initialization'!
 
 initialize
@@ -86,10 +101,43 @@
     range := (0 to:100).
     slider := HorizontalSlider in:self.
     slider origin:0.0 @ (font height + device verticalPixelPerMillimeter rounded).
-    slider extent:1.0 @ slider height.
-    self height:(slider height  
-		+ (font height)
-		+ (device verticalPixelPerMillimeter * 2) rounded).
+    slider width:1.0.
+
+"/    self height:(slider height  
+"/                + (font height)
+"/                + (device verticalPixelPerMillimeter * 2) rounded).
 
     slider scrollAction:[:percent | self scroll:percent].
+
+    "Modified: / 7.3.1999 / 00:21:52 / cg"
 ! !
+
+!HorizontalScale methodsFor:'queries'!
+
+preferredExtent
+    ^ slider preferredExtent + (0 @ (font height + device verticalPixelPerMillimeter rounded))
+
+    "Created: / 7.3.1999 / 00:18:28 / cg"
+    "Modified: / 7.3.1999 / 00:24:40 / cg"
+! !
+
+!HorizontalScale methodsFor:'slider actions'!
+
+scroll:percent
+    |value|
+
+    value := (range last - range first) * (percent / 100).
+    value := value + range first.
+    action notNil ifTrue:[
+        action value:value.
+    ].
+    self redraw
+
+    "Modified: / 7.3.1999 / 00:17:33 / cg"
+! !
+
+!HorizontalScale class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libwidg2/HorizontalScale.st,v 1.5 1999-03-07 13:25:09 cg Exp $'
+! !
--- a/Scale.st	Sat Mar 06 13:49:08 1999 +0100
+++ b/Scale.st	Sun Mar 07 14:25:33 1999 +0100
@@ -11,10 +11,10 @@
 "
 
 SimpleView subclass:#Scale
-	 instanceVariableNames:'slider range action'
-	 classVariableNames:''
-	 poolDictionaries:''
-	 category:'Views-Interactors'
+	instanceVariableNames:'slider range action'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Views-Interactors'
 !
 
 !Scale class methodsFor:'documentation'!
@@ -33,10 +33,6 @@
 "
 !
 
-version
-    ^ '$Header: /cvs/stx/stx/libwidg2/Scale.st,v 1.4 1995-11-11 16:29:19 cg Exp $'
-!
-
 documentation
 "
     like a slider, but with a range (i.e. may be different from 0..100)
@@ -50,37 +46,16 @@
 
     top := StandardSystemView new.
     top extent:200@200.
-    s1 := Scale origin:0.0 @ 0.0 extent:50 @ 1.0 in:top.
-    s2 := Scale origin:0.5 @ 0.0 extent:50 @ 1.0 in:top.
+    s1 := Scale origin:0.0 @ 0.0 in:top.
+    s1 extent:50 @ 1.0.
+
+    s2 := Scale origin:0.5 @ 0.0 in:top.
+    s2 extent:50 @ 1.0.
     s2 range:(-50 to:50).
     top open
 "
 ! !
 
-!Scale methodsFor:'slider actions'!
-
-scroll:percent
-    |value y label|
-
-    action notNil ifTrue:[
-	value := (range last - range first) * (percent / 100).
-	value := value + range first.
-	action value:value.
-
-	y := slider thumbFrame top + (slider thumbFrame height // 2).
-	self clear.
-	self paint:Black.
-	value := value roundTo:(range last - range first) / 100.
-	label := value asFloat printString.
-	(label endsWith:'.0') ifTrue:[
-	    label := value asInteger printString
-	].
-	self displayString:label
-			 x:slider width + device horizontalPixelPerMillimeter
-			 y:y + (font ascent // 2)
-    ]
-! !
-
 !Scale methodsFor:'accessing'!
 
 range:anInterval
@@ -91,6 +66,31 @@
     action := aBlock
 ! !
 
+!Scale methodsFor:'drawing'!
+
+redraw
+    |percent value y label|
+
+    percent := slider thumbOrigin.
+    value := (range last - range first) * (percent / 100).
+    value := value + range first.
+
+    y := slider thumbFrame top + (slider thumbFrame height // 2).
+    self clear.
+    self paint:Black.
+    value := value roundTo:(range last - range first) / 100.
+    label := value asFloat printString.
+    (label endsWith:'.0') ifTrue:[
+        label := value asInteger printString
+    ].
+    self displayString:label
+                     x:slider width + device horizontalPixelPerMillimeter
+                     y:y + (font ascent // 2)
+
+    "Created: / 7.3.1999 / 00:12:42 / cg"
+    "Modified: / 7.3.1999 / 00:17:52 / cg"
+! !
+
 !Scale methodsFor:'initialization'!
 
 initialize
@@ -98,13 +98,44 @@
 
     range := (0 to:100).
     slider := Slider in:self.
-    slider fixSize.
+"/    slider fixSize.
     slider origin:0.0 @ 0.0.
-    slider extent:slider width@ 1.0.
-    self width:(slider width  
-		+ (font widthOf:'100')
-		+ (device horizontalPixelPerMillimeter * 2) rounded).
+    slider height:1.0.
+
+"/    self width:(slider width  
+"/                + (font widthOf:'100')
+"/                + (device horizontalPixelPerMillimeter * 2) rounded).
 
     slider scrollAction:[:percent | self scroll:percent].
+
+    "Modified: / 7.3.1999 / 00:23:42 / cg"
+! !
+
+!Scale methodsFor:'queries'!
+
+preferredExtent
+    ^ slider preferredExtent + ((font widthOf:'999') @ 0)
+
+    "Created: / 7.3.1999 / 00:02:25 / cg"
 ! !
 
+!Scale methodsFor:'slider actions'!
+
+scroll:percent
+    |value|
+
+    value := (range last - range first) * (percent / 100).
+    value := value + range first.
+    action notNil ifTrue:[
+        action value:value.
+    ].
+    self redraw
+
+    "Modified: / 7.3.1999 / 00:17:46 / cg"
+! !
+
+!Scale class methodsFor:'documentation'!
+
+version
+    ^ '$Header: /cvs/stx/stx/libwidg2/Scale.st,v 1.5 1999-03-07 13:25:33 cg Exp $'
+! !