--- a/VerticalRuler.st Fri Nov 19 14:27:57 1999 +0100
+++ b/VerticalRuler.st Wed Nov 24 13:12:33 1999 +0100
@@ -40,33 +40,12 @@
"
! !
-!VerticalRuler methodsFor:'accessing'!
-
-paperHeightInch:inches
- "set the width of the document"
-
- paperHeight := inches.
- shown ifTrue:[
- self redraw
- ]
-!
-
-paperHeightMM:millis
- "set the width of the document"
-
- paperHeight := UnitConverter millimeterToInch:millis.
- shown ifTrue:[
- self redraw
- ]
-
- "Modified: 31.5.1996 / 19:39:46 / cg"
-! !
-
!VerticalRuler methodsFor:'initialization'!
initialize
+ orientation := #vertical.
+
super initialize.
-
self width:(font widthOf:'inch').
"
@@ -74,125 +53,8 @@
"
! !
-!VerticalRuler methodsFor:'redrawing'!
-
-redraw
- "redraw the scale"
-
- |y pixelPerMM pixelPerInch mod pos shortLen veryShortLen longLen charX
- left paperHeightMM paperHeightPixel yOrigin labelBot marg fontHeight|
-
- shown ifFalse:[^ self].
-
- self clear.
-
- yOrigin := self viewOrigin y.
-
- paperHeightPixel := ((self inchToPixel:paperHeight) * scale) rounded.
-
- (yOrigin + height > paperHeightPixel) ifTrue:[
- self paint:(Color darkGrey).
- self fillRectangleX:0 y:paperHeightPixel
- width:width
- height:(yOrigin + height - paperHeightPixel).
- self paint:fgColor.
- self displayLineFromX:0 y:paperHeightPixel
- toX:width y:paperHeightPixel
- ].
-
- self paint:fgColor.
-
- left := 0. "width - (font widthOf:'WW')"
- longLen := font widthOf:'WW'.
- shortLen := longLen // 2.
- charX := left + shortLen.
- mod := 1.
- marg := 3. "character shift"
- fontHeight := font height.
-
- showUnit ifTrue:[
- labelBot := marg + font height + font ascent + yOrigin.
- ] ifFalse:[
- labelBot := yOrigin
- ].
-
- (metric == #mm) ifTrue:[
- "centimeter - long blibs every centimeter; short ones every half"
-
- paperHeightMM := UnitConverter inchToMillimeter:paperHeight.
- pixelPerMM := (self millimeterToPixel:1) * scale.
- pos := 5.
- y := (pixelPerMM * pos) rounded.
- [(y < (height+yOrigin)) and:[pos <= paperHeightMM]] whileTrue:[
- |l|
-
- l := shortLen.
- (mod ~~ 1) ifTrue:[
- y < labelBot ifFalse:[
- l := longLen
- ]
- ].
- self displayLineFromX:left y:y toX:(left + l) y:y.
-
- (mod ~~ 1 and:[y >= labelBot]) ifTrue:[
- self displayString:(pos // 10) printString
- x:charX
- y:(y + marg + fontHeight)
- ].
- mod := (mod + 1) \\ 2.
- pos := pos + 5.
- y := (pixelPerMM * pos) rounded
- ].
- showUnit ifTrue:[
- self displayString:'cm ' x:charX y:marg + fontHeight + yOrigin.
- ]
- ].
- (metric == #inch) ifTrue:[
- "inches - long blibs every inch; short ones every half; very
- short ones every quarter"
-
- pixelPerInch := (self inchToPixel:1) * scale.
- pos := 0.25.
-
- y := (pixelPerInch * pos) rounded.
- veryShortLen := longLen // 4.
- [(y < (yOrigin + height)) and:[pos <= paperHeight]] whileTrue:[
- |l|
-
- l := shortLen.
- (mod == 0) ifTrue:[
- y < labelBot ifFalse:[
- l := longLen.
- ]
- ] ifFalse:[
- (mod == 2) ifFalse:[
- l := veryShortLen
- ]
- ].
- self displayLineFromX:left y:y toX:(left + l) y:y.
-
- (mod == 0) ifTrue:[
- y < labelBot ifFalse:[
- self displayString:pos asInteger printString
- x:charX
- y:(y + marg + fontHeight)
- ]
- ].
- mod := (mod + 1) \\ 4.
- pos := pos + 0.25.
- y := (pixelPerInch * pos) rounded
- ].
- showUnit ifTrue:[
- self displayString:'inch ' x:charX y:marg + fontHeight + yOrigin.
- ]
- ].
- self redrawEdges
-
- "Modified: 31.5.1996 / 18:06:59 / cg"
-! !
-
!VerticalRuler class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/VerticalRuler.st,v 1.9 1996-05-31 18:08:14 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/VerticalRuler.st,v 1.10 1999-11-24 12:12:33 cg Exp $'
! !