# HG changeset patch # User ca # Date 879508514 -3600 # Node ID 2588f809445d440cf1cc3599d3515f45e62e44ac # Parent 620553e6a537d803ad3751d554fe702a28f7b50e update:with:from: make editValue dependent; catch immediate accept diff -r 620553e6a537 -r 2588f809445d 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 $' ! !