Button.st
changeset 1206 003498bf0349
parent 1196 42a10a56d284
child 1223 840e31e3f140
--- a/Button.st	Sat Apr 26 14:02:26 1997 +0200
+++ b/Button.st	Sat Apr 26 21:00:46 1997 +0200
@@ -15,7 +15,7 @@
 		disabledFgColor activeFgColor activeBgColor enteredFgColor
 		enteredBgColor isReturnButton shadowForm lightForm formColor
 		formShadowColor formLightColor edgeStyle halfShadowColor
-		halfLightColor defaultable'
+		halfLightColor defaultable enterLevel leaveLevel'
 	classVariableNames:'ReturnForm ReturnLightForm ReturnShadowForm DefaultActiveLevel
 		DefaultPassiveLevel DefaultEdgeStyle DefaultBorderWidth
 		DefaultForegroundColor DefaultBackgroundColor
@@ -1282,6 +1282,26 @@
     edgeStyle := aSymbol
 !
 
+enterLevel
+    "return the level to be used when the mouse
+     pointer enters the button area"
+
+    ^ enterLevel
+
+    "Created: 26.4.1997 / 20:48:53 / cg"
+    "Modified: 26.4.1997 / 20:49:29 / cg"
+!
+
+enterLevel:aNumber
+    "set the level to be used when the mouse
+     pointer enters the button area"
+
+    enterLevel := aNumber
+
+    "Created: 26.4.1997 / 20:49:10 / cg"
+    "Modified: 26.4.1997 / 20:49:35 / cg"
+!
+
 enteredBackgroundColor
     "return the background color to be used when the mouse
      pointer enters the button area"
@@ -1333,6 +1353,26 @@
     ]
 !
 
+leaveLevel
+    "return the level to be used when the mouse
+     pointer leaves the button area"
+
+    ^ leaveLevel
+
+    "Created: 26.4.1997 / 20:48:26 / cg"
+    "Modified: 26.4.1997 / 20:49:47 / cg"
+!
+
+leaveLevel:aNumber
+    "set the level to be used when the mouse
+     pointer leaves the button area"
+
+    leaveLevel := aNumber
+
+    "Created: 26.4.1997 / 20:49:22 / cg"
+    "Modified: 26.4.1997 / 20:49:53 / cg"
+!
+
 loseDefault
     "ST-80 compatibility - clear isReturnButton attribute"
 
@@ -1748,7 +1788,7 @@
         ].
     ].
 
-    "Modified: 17.1.1997 / 23:15:57 / cg"
+    "Modified: 26.4.1997 / 20:53:05 / cg"
 !
 
 initialize
@@ -2010,7 +2050,7 @@
      Thats like redrawing a label, but use different colors when pressed
      or entered."
 
-    |fg bg entered noFrame|
+    |fg bg entered noFrame lvl|
 
     shown ifFalse:[^ self].
 
@@ -2035,7 +2075,18 @@
         entered := controller entered.
         entered ifTrue:[
             enteredFgColor notNil ifTrue:[fg := enteredFgColor].
-            enteredBgColor notNil ifTrue:[bg := enteredBgColor]
+            enteredBgColor notNil ifTrue:[bg := enteredBgColor].
+            lvl := enterLevel.
+        ] ifFalse:[
+            lvl := leaveLevel
+        ].
+        (enterLevel notNil and:[leaveLevel notNil]) ifTrue:[
+            offLevel ~~ lvl ifTrue:[
+                offLevel := lvl.
+                offLevel ~~ level ifTrue:[
+                    self level:offLevel
+                ]
+            ]
         ].
         (controller pressed and:[entered or:[controller isTriggerOnDown]]) ifTrue:[
             noFrame := false.
@@ -2069,7 +2120,7 @@
         ^ self
     ].
 
-    "Modified: 1.4.1997 / 13:26:16 / cg"
+    "Modified: 26.4.1997 / 20:59:05 / cg"
 !
 
 redrawIfPressed
@@ -2121,5 +2172,5 @@
 !Button class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/Button.st,v 1.84 1997-04-18 18:36:15 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/Button.st,v 1.85 1997-04-26 19:00:46 cg Exp $'
 ! !