preps for dynamic handle visibility
authorClaus Gittinger <cg@exept.de>
Sun, 19 Dec 2010 09:40:16 +0100
changeset 4206 570f1a1e587e
parent 4205 9ebe97f40c57
child 4207 281ffd00c1a8
preps for dynamic handle visibility
VariablePanel.st
--- a/VariablePanel.st	Sun Dec 19 09:21:52 2010 +0100
+++ b/VariablePanel.st	Sun Dec 19 09:40:16 2010 +0100
@@ -13,13 +13,15 @@
 
 SimpleView subclass:#VariablePanel
 	instanceVariableNames:'barHeight barWidth barLevel separatingLine shadowForm lightForm
-		showHandle handlePosition handleColor handleStyle handleLevel
-		noColor trackLine redrawLocked orientation handleLabels
-		knobHeight realRelativeSizes snapAdornment'
+		showHandle showHandleWhenEntered handlePosition handleColor
+		handleStyle handleLevel noColor trackLine redrawLocked
+		orientation handleLabels knobHeight realRelativeSizes
+		snapAdornment'
 	classVariableNames:'DefaultShowHandle DefaultHandleStyle DefaultHandlePosition
 		DefaultTrackingLine DefaultSeparatingLine DefaultHandleColor
 		DefaultHandleLevel DefaultVCursor DefaultHCursor
-		DefaultHandleImage DefaultSnapIcons DefaultSnapHandlePosition'
+		DefaultHandleImage DefaultSnapIcons DefaultSnapHandlePosition
+		DefaultShowHandleWhenEntered'
 	poolDictionaries:''
 	category:'Views-Layout'
 !
@@ -730,6 +732,7 @@
     DefaultVCursor := DefaultHCursor := nil.
 
     DefaultShowHandle := StyleSheet at:#'variablePanel.showHandle' default:true.
+    DefaultShowHandleWhenEntered := StyleSheet at:#'variablePanel.showHandleWhenEntered' default:false.
     DefaultHandleStyle := StyleSheet at:#'variablePanel.handleStyle'.
     DefaultHandlePosition := StyleSheet at:#'variablePanel.handlePosition' "default:#right".
     DefaultHandlePosition isNil ifTrue:[
@@ -756,7 +759,7 @@
      VariablePanel updateStyleCache
     "
 
-    "Modified: / 13.12.1999 / 12:08:33 / cg"
+    "Modified: / 19-12-2010 / 09:39:50 / cg"
 ! !
 
 !VariablePanel class methodsFor:'image specs'!
@@ -1108,9 +1111,11 @@
 !
 
 showHandle
-    "return the the handle-drawing flag; aBoolean"
+    "handle-drawing enabled/disable; a Boolean"
 
     ^ showHandle
+
+    "Modified: / 19-12-2010 / 09:28:31 / cg"
 !
 
 showHandle:aBoolean
@@ -1118,8 +1123,29 @@
 
     showHandle ~~ aBoolean ifTrue:[
         showHandle := aBoolean ? DefaultShowHandle.
-        self redrawIfShown
+        self invalidate. "/ redrawIfShown
     ]
+
+    "Modified: / 19-12-2010 / 09:30:49 / cg"
+!
+
+showHandleWhenEntered
+    "return aBoolean"
+
+    ^ showHandleWhenEntered
+
+    "Created: / 19-12-2010 / 09:27:40 / cg"
+!
+
+showHandleWhenEntered:aBoolean
+    "enabled/disable the handle-drawing"
+
+    showHandleWhenEntered ~~ aBoolean ifTrue:[
+        showHandleWhenEntered := aBoolean ? DefaultShowHandleWhenEntered.
+        self invalidate. "/ redrawIfShown
+    ]
+
+    "Created: / 19-12-2010 / 09:28:04 / cg"
 !
 
 snapHandlePosition
@@ -1722,6 +1748,24 @@
 
 !VariablePanel methodsFor:'event handling'!
 
+pointerEnter:buttonState x:x y:y
+    showHandleWhenEntered == true ifTrue:[
+        self showHandle:true
+    ].
+    super pointerEnter:buttonState x:x y:y.
+
+    "Created: / 19-12-2010 / 09:29:51 / cg"
+!
+
+pointerLeave:buttonState
+    showHandleWhenEntered == true ifTrue:[
+        self showHandle:false
+    ].
+    super pointerLeave:buttonState.
+
+    "Created: / 19-12-2010 / 09:30:20 / cg"
+!
+
 sizeChanged:how
     "my size has changed; resize my subviews"
 
@@ -1829,6 +1873,7 @@
 
     handleLevel := DefaultHandleLevel.
     showHandle := DefaultShowHandle.
+    showHandleWhenEntered := DefaultShowHandleWhenEntered.
     handlePosition := DefaultHandlePosition.
     "/ snapHandlePosition := DefaultSnapHandlePosition.
     trackLine := DefaultTrackingLine.
@@ -1859,7 +1904,7 @@
         barWidth := (ArrowButton new direction:#up) width + 1 
     ].
 
-    "Modified: / 19.5.1998 / 16:21:02 / cg"
+    "Modified: / 19-12-2010 / 09:31:29 / cg"
 !
 
 initialize
@@ -2548,9 +2593,9 @@
 !VariablePanel class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.91 2010-10-31 12:01:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.92 2010-12-19 08:40:16 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.91 2010-10-31 12:01:12 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg/VariablePanel.st,v 1.92 2010-12-19 08:40:16 cg Exp $'
 ! !