allow handleImage to be specified in styleSheet
authorClaus Gittinger <cg@exept.de>
Tue, 19 May 1998 16:21:49 +0200
changeset 1529 509edab0a08b
parent 1528 02fc96381147
child 1530 9d1da6aabffc
allow handleImage to be specified in styleSheet
VarPanel.st
VariablePanel.st
--- a/VarPanel.st	Tue May 19 16:03:12 1998 +0200
+++ b/VarPanel.st	Tue May 19 16:21:49 1998 +0200
@@ -16,7 +16,8 @@
 		trackLine redrawLocked orientation handleLabels knobHeight'
 	classVariableNames:'DefaultShowHandle DefaultHandleStyle DefaultHandlePosition
 		DefaultTrackingLine DefaultSeparatingLine DefaultHandleColor
-		DefaultHandleLevel DefaultVCursor DefaultHCursor'
+		DefaultHandleLevel DefaultVCursor DefaultHCursor
+		DefaultHandleImage'
 	poolDictionaries:''
 	category:'Views-Layout'
 !
@@ -608,20 +609,25 @@
     "extract values from the styleSheet and cache them in class variables"
 
     <resource: #style (#'variablePanel.showHandle' 
-                       #'variablePanel.handlePosition' #'variablePanel.handleLevel'
-                       #'variablePanel.trackingLine' #'variablePanel.trackingStyle'
-                       #'variablePanel.separatingLine' #'variablePanel.handleColor')>
+                       #'variablePanel.handleStyle'
+                       #'variablePanel.handleImage'
+                       #'variablePanel.handlePosition' 
+                       #'variablePanel.handleLevel'
+                       #'variablePanel.trackingLine'   
+                       #'variablePanel.trackingStyle'
+                       #'variablePanel.separatingLine' 
+                       #'variablePanel.handleColor')>
 
     |lineModeBoolean|
 
     DefaultShowHandle := StyleSheet at:'variablePanel.showHandle' default:true.
     DefaultHandleStyle := StyleSheet at:'variablePanel.handleStyle'.
-    DefaultHandlePosition := StyleSheet at:'variablePanel.handlePosition' default:nil "#right".
+    DefaultHandlePosition := StyleSheet at:'variablePanel.handlePosition' "default:#right".
     DefaultHandlePosition isNil ifTrue:[
         DefaultHandlePosition := ScrollableView defaultScrollBarPosition.
     ].
     DefaultHandleLevel := StyleSheet at:'variablePanel.handleLevel' default:2.
-    DefaultTrackingLine := StyleSheet at:'variablePanel.trackingStyle' default:nil.
+    DefaultTrackingLine := StyleSheet at:'variablePanel.trackingStyle'.
     DefaultTrackingLine isNil ifTrue:[
         lineModeBoolean := StyleSheet at:'variablePanel.trackingLine' default:false.
         lineModeBoolean ifTrue:[
@@ -634,11 +640,13 @@
     DefaultSeparatingLine := StyleSheet at:'variablePanel.separatingLine' default:false.
     DefaultHandleColor := StyleSheet colorAt:'variablePanel.handleColor' default:Black.
 
+    DefaultHandleImage := StyleSheet at:'variablePanel.handleImage'
+
     "
      VariablePanel updateStyleCache
     "
 
-    "Modified: / 3.11.1997 / 02:19:56 / cg"
+    "Modified: / 19.5.1998 / 16:08:54 / cg"
 ! !
 
 !VariablePanel methodsFor:'accessing'!
@@ -1242,16 +1250,24 @@
     trackLine := DefaultTrackingLine.
     separatingLine := DefaultSeparatingLine.
 
-    handleStyle == #next ifTrue:[
-        shadowForm := self class shadowFormOn:device.
-        lightForm := self class lightFormOn:device.
-
+    DefaultHandleImage notNil ifTrue:[
+        shadowForm := DefaultHandleImage onDevice:device.
         barWidth := shadowForm width.
     ] ifFalse:[
-        shadowForm := lightForm := nil.
+        handleStyle == #next ifTrue:[
+            DefaultHandleImage notNil ifTrue:[
+                shadowForm := DefaultHandleImage onDevice:device.
+            ] ifFalse:[
+                shadowForm := self class shadowFormOn:device.
+                lightForm := self class lightFormOn:device.
+            ].
+            barWidth := shadowForm width.
+        ] ifFalse:[
+            shadowForm := lightForm := nil.
 
-        mm := device verticalPixelPerMillimeter.
-        barWidth := (1.5 * mm) rounded. "motif style width"
+            mm := device verticalPixelPerMillimeter.
+            barWidth := (1.5 * mm) rounded. "motif style width"
+        ].
     ].
     self computeBarHeight.
 
@@ -1259,7 +1275,7 @@
         barWidth := (ArrowButton new direction:#up) width + 1 
     ].
 
-    "Modified: / 31.10.1997 / 22:15:42 / cg"
+    "Modified: / 19.5.1998 / 16:21:02 / cg"
 !
 
 initialize
@@ -1514,5 +1530,5 @@
 !VariablePanel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/Attic/VarPanel.st,v 1.38 1998-01-17 13:47:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Attic/VarPanel.st,v 1.39 1998-05-19 14:21:49 cg Exp $'
 ! !
--- a/VariablePanel.st	Tue May 19 16:03:12 1998 +0200
+++ b/VariablePanel.st	Tue May 19 16:21:49 1998 +0200
@@ -16,7 +16,8 @@
 		trackLine redrawLocked orientation handleLabels knobHeight'
 	classVariableNames:'DefaultShowHandle DefaultHandleStyle DefaultHandlePosition
 		DefaultTrackingLine DefaultSeparatingLine DefaultHandleColor
-		DefaultHandleLevel DefaultVCursor DefaultHCursor'
+		DefaultHandleLevel DefaultVCursor DefaultHCursor
+		DefaultHandleImage'
 	poolDictionaries:''
 	category:'Views-Layout'
 !
@@ -608,20 +609,25 @@
     "extract values from the styleSheet and cache them in class variables"
 
     <resource: #style (#'variablePanel.showHandle' 
-                       #'variablePanel.handlePosition' #'variablePanel.handleLevel'
-                       #'variablePanel.trackingLine' #'variablePanel.trackingStyle'
-                       #'variablePanel.separatingLine' #'variablePanel.handleColor')>
+                       #'variablePanel.handleStyle'
+                       #'variablePanel.handleImage'
+                       #'variablePanel.handlePosition' 
+                       #'variablePanel.handleLevel'
+                       #'variablePanel.trackingLine'   
+                       #'variablePanel.trackingStyle'
+                       #'variablePanel.separatingLine' 
+                       #'variablePanel.handleColor')>
 
     |lineModeBoolean|
 
     DefaultShowHandle := StyleSheet at:'variablePanel.showHandle' default:true.
     DefaultHandleStyle := StyleSheet at:'variablePanel.handleStyle'.
-    DefaultHandlePosition := StyleSheet at:'variablePanel.handlePosition' default:nil "#right".
+    DefaultHandlePosition := StyleSheet at:'variablePanel.handlePosition' "default:#right".
     DefaultHandlePosition isNil ifTrue:[
         DefaultHandlePosition := ScrollableView defaultScrollBarPosition.
     ].
     DefaultHandleLevel := StyleSheet at:'variablePanel.handleLevel' default:2.
-    DefaultTrackingLine := StyleSheet at:'variablePanel.trackingStyle' default:nil.
+    DefaultTrackingLine := StyleSheet at:'variablePanel.trackingStyle'.
     DefaultTrackingLine isNil ifTrue:[
         lineModeBoolean := StyleSheet at:'variablePanel.trackingLine' default:false.
         lineModeBoolean ifTrue:[
@@ -634,11 +640,13 @@
     DefaultSeparatingLine := StyleSheet at:'variablePanel.separatingLine' default:false.
     DefaultHandleColor := StyleSheet colorAt:'variablePanel.handleColor' default:Black.
 
+    DefaultHandleImage := StyleSheet at:'variablePanel.handleImage'
+
     "
      VariablePanel updateStyleCache
     "
 
-    "Modified: / 3.11.1997 / 02:19:56 / cg"
+    "Modified: / 19.5.1998 / 16:08:54 / cg"
 ! !
 
 !VariablePanel methodsFor:'accessing'!
@@ -1242,16 +1250,24 @@
     trackLine := DefaultTrackingLine.
     separatingLine := DefaultSeparatingLine.
 
-    handleStyle == #next ifTrue:[
-        shadowForm := self class shadowFormOn:device.
-        lightForm := self class lightFormOn:device.
-
+    DefaultHandleImage notNil ifTrue:[
+        shadowForm := DefaultHandleImage onDevice:device.
         barWidth := shadowForm width.
     ] ifFalse:[
-        shadowForm := lightForm := nil.
+        handleStyle == #next ifTrue:[
+            DefaultHandleImage notNil ifTrue:[
+                shadowForm := DefaultHandleImage onDevice:device.
+            ] ifFalse:[
+                shadowForm := self class shadowFormOn:device.
+                lightForm := self class lightFormOn:device.
+            ].
+            barWidth := shadowForm width.
+        ] ifFalse:[
+            shadowForm := lightForm := nil.
 
-        mm := device verticalPixelPerMillimeter.
-        barWidth := (1.5 * mm) rounded. "motif style width"
+            mm := device verticalPixelPerMillimeter.
+            barWidth := (1.5 * mm) rounded. "motif style width"
+        ].
     ].
     self computeBarHeight.
 
@@ -1259,7 +1275,7 @@
         barWidth := (ArrowButton new direction:#up) width + 1 
     ].
 
-    "Modified: / 31.10.1997 / 22:15:42 / cg"
+    "Modified: / 19.5.1998 / 16:21:02 / cg"
 !
 
 initialize
@@ -1514,5 +1530,5 @@
 !VariablePanel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.38 1998-01-17 13:47:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.39 1998-05-19 14:21:49 cg Exp $'
 ! !