insert
authorca
Wed, 22 Oct 1997 15:26:57 +0200
changeset 570 133bdb474043
parent 569 2a1014d6697c
child 571 a5320be56c4c
insert
DataSetView.st
--- 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 $'
 ! !