update:with:from:
authorca
Fri, 14 Nov 1997 12:55:14 +0100
changeset 622 2588f809445d
parent 621 620553e6a537
child 623 4de870640523
update:with:from: make editValue dependent; catch immediate accept
DSVColumnView.st
--- a/DSVColumnView.st	Fri Nov 14 10:26:21 1997 +0100
+++ b/DSVColumnView.st	Fri Nov 14 12:55:14 1997 +0100
@@ -439,11 +439,17 @@
     "
 
     "/ remove selection without redraw
+
+    editValue notNil ifTrue:[
+        editValue removeDependent:self.
+        editValue := nil
+    ].
+
     editView notNil ifTrue:[
         editView destroy.
         editView := nil.
     ].
-    editValue := nil.
+
     selectedColIndex := 0.
     selectedRowIndex := multipleSelectOk ifTrue:[nil] ifFalse:[0].
 
@@ -815,10 +821,14 @@
 
     changedObject == columnHolder ifTrue:[
         ^ self columnDescriptors:(columnHolder value)
-    ] ifFalse:[
-        row := (something isNumber) ifTrue:[something] ifFalse:[changedObject].
-        self redrawVisibleRow:row
-    ]
+    ].
+
+    changedObject == editValue ifTrue:[
+        ^ self selectedColumn at:(self firstIndexSelected) put:(editValue value)
+    ].
+
+    row := (something isNumber) ifTrue:[something] ifFalse:[changedObject].
+    self redrawVisibleRow:row.
 ! !
 
 !DSVColumnView methodsFor:'enumerating columns'!
@@ -2061,6 +2071,7 @@
         multipleSelectOk ifTrue:[oldRow := oldRow at:1].
 
         editValue notNil ifTrue:[
+            editValue removeDependent:self.
             (self columnAt:oldCol) at:oldRow put:editValue value.
             editValue := nil
         ].
@@ -2095,6 +2106,7 @@
             editView viewBackground:hgLgBgColor.
             editValue := newCol editorAt:sglSelRow in:editView with:hgLgFgColor bg:hgLgBgColor.
             editView realize.
+            editValue addDependent:self.
         ] ifFalse:[
             self redrawRowAt:sglSelRow colAt:colNr
         ].
@@ -2148,5 +2160,5 @@
 !DSVColumnView class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.13 1997-11-14 09:24:48 ca Exp $'
+    ^ '$Header: /cvs/stx/stx/libwidg2/DSVColumnView.st,v 1.14 1997-11-14 11:55:14 ca Exp $'
 ! !