diff -r 90500780d2ff -r 8316c869d4df DataSetColumn.st --- a/DataSetColumn.st Wed Nov 12 17:26:33 1997 +0100 +++ b/DataSetColumn.st Wed Nov 12 17:27:30 1997 +0100 @@ -56,7 +56,6 @@ form
a form drawn when a cell is unselected form2 a second form (used by Toggle off). label cellLabel on device - writeSelector to write back a value [author:] Claus Atzkern @@ -75,15 +74,13 @@ at:aRowNr "get the value of the raw at an index, aRowNr " - ^ (dataSet at:aRowNr) perform:(description readSelector) + ^ description row:(dataSet at:aRowNr) at:columnNumber ! at:aRowNr put:something "set the value of the raw at an index, aRowNr " - writeSelector notNil ifTrue:[ - (dataSet at:aRowNr) perform:writeSelector with:something - ] + description row:(dataSet at:aRowNr) at:columnNumber put:something ! backgroundColor @@ -346,6 +343,19 @@ ! ! +!DataSetColumn methodsFor:'editing'! + +editorAt:aRowNr in:aView with:fg bg:bg + + ^ description editorOn:(dataSet at:aRowNr) + value:(self at:aRowNr) + in:aView + with:fg + bg:bg. + + +! ! + !DataSetColumn methodsFor:'event handling'! doesNotUnderstand:aMessage @@ -429,7 +439,7 @@ on:aDSVColumnView description:aDescription columnNumber:aNumber "instance creation; set attributes dependent on the description " - |rendererType device selector formatStr idx| + |rendererType device selector format idx type| columnNumber := aNumber. dataSet := aDSVColumnView. @@ -439,7 +449,6 @@ device := dataSet device. label := description rawLabel. drawableAction := nil. - writeSelector := description writeSelector. backgroundColor := description backgroundColor. foregroundColor := description foregroundColor. @@ -473,54 +482,30 @@ selector notNil ifTrue:[ drawableAction := [:aRowNr| - (dataSet list at:aRowNr) perform:selector with:dataSet + (dataSet at:aRowNr) perform:selector with:dataSet ]. ^ self ]. - selector := description readSelector. - formatStr := description formatString. - - (formatStr notNil and:[description type == #number]) ifTrue:[ - + ( (format := description formatString) notNil + and:[(type := description type) == #number or:[type == #numberOrNil]] + ) ifTrue:[ "/ has a format string for number (supports only floats) - (idx := formatStr indexOf:$.) ~~ 0 ifTrue:[ - idx := formatStr size - idx + (idx := format indexOf:$.) ~~ 0 ifTrue:[ + idx := format size - idx ]. - formatStr := '%0.', idx printString, 'f'. + format := '%0.', idx printString, 'f'. drawableAction := [:aRowNr||num| - num := (dataSet list at:aRowNr) perform:selector. - - num isReal ifTrue:[ - num := num asFloat printfPrintString:formatStr. + (num := self at:aRowNr) isReal ifTrue:[ + num := num asFloat printfPrintString:format. ]. num - ]. - ^ self - ]. - - "/ default: no format string - - drawableAction := [:aRowNr| - (dataSet list at:aRowNr) perform:selector - ]. - - - - - - - - - - - - - - - + ] + ] ifFalse:[ "/ default: no format string + drawableAction := [:aRowNr| self at:aRowNr ] + ] ! ! @@ -601,5 +586,5 @@ !DataSetColumn class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libwidg2/DataSetColumn.st,v 1.9 1997-11-07 13:27:44 ca Exp $' + ^ '$Header: /cvs/stx/stx/libwidg2/DataSetColumn.st,v 1.10 1997-11-12 16:27:30 ca Exp $' ! !