--- a/DataSetView.st Wed Oct 22 15:26:06 1997 +0200
+++ b/DataSetView.st Wed Oct 22 15:26:57 1997 +0200
@@ -246,6 +246,64 @@
"
+!
+
+test
+ |t1 top scr clDc rows slct list bool tmArr listModel|
+
+ top := StandardSystemView new label:'select'; extent:600@440.
+ scr := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top.
+
+ clDc := OrderedCollection new.
+ rows := OrderedCollection new.
+ list := #( 'Text ' 'Field ' 'C-Box ' 'C-List ' true ).
+ slct := #( #text #field #cbox #clist #toggle ).
+ bool := true.
+
+ clDc add:( DataSetColumnSpec label:'Text' editorType:#None selector:#text ).
+ clDc add:( DataSetColumnSpec label:'Field' editorType:#InputField selector:#field ).
+ clDc add:( DataSetColumnSpec label:'C-Box' editorType:#ComboBox selector:#cbox ).
+ clDc add:( DataSetColumnSpec label:'C-List' editorType:#ComboList selector:#clist ).
+ clDc add:( DataSetColumnSpec label:'Toggle' editorType:#CheckToggle selector:#toggle ).
+
+ scr columnDescriptors:clDc.
+ scr beDependentOfRows:false.
+ scr has3Dsepartors:false.
+
+ top openAndWait.
+ tmArr := Array new:8.
+ listModel := List new.
+ scr listHolder:listModel.
+
+ (1 to:tmArr size) do:[:i|
+ listModel removeAll.
+
+ t1 := Time millisecondsToRun:[
+ 1 to:200 do:[:i| |values|
+ values := list collect:[:n|
+ n isString ifTrue:[n, i printString]
+ ifFalse:[n == true ifTrue:[bool] ifFalse:[n]]
+ ].
+ listModel add:(Structure newWith:slct values:values).
+ bool := bool not.
+
+ i even ifTrue:[
+ listModel removeFirst
+ ]
+ ].
+ ].
+ tmArr at:i put:t1
+ ].
+ t1 := 0.
+
+ Transcript showCR:'----------'.
+ tmArr do:[:t|
+ t1 := t1 + t.
+ Transcript showCR:'TIME : ', t printString.
+ ].
+ Transcript showCR:'----------'.
+ Transcript showCR:'DIFF : ', (t1 // tmArr size) printString.
+
! !
!DataSetView methodsFor:'accessing'!
@@ -448,18 +506,17 @@
"raised from listHolder: insert collection of rows derived from listHolder
from start (anArray at:1) to stop (anArray at:2).
"
- |start size list|
+ |start stop size list|
list := listHolder value.
start := anArray first.
size := anArray last.
- size timesRepeat:[
- columnView add:(list at:start) beforeIndex:start.
- start := start + 1
- ]
-
-
+ size == 0 ifTrue:[
+ ^ self
+ ].
+ stop := start + size - 1.
+ columnView addAll:(list copyFrom:start to:stop) beforeIndex:start
!
remove:anIndex
@@ -561,5 +618,5 @@
!DataSetView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libwidg2/DataSetView.st,v 1.2 1997-10-16 13:19:33 ca Exp $'
+ ^ '$Header: /cvs/stx/stx/libwidg2/DataSetView.st,v 1.3 1997-10-22 13:26:57 ca Exp $'
! !