# HG changeset patch # User ca # Date 879499505 -3600 # Node ID 4a919c3f5f04adc2702df7555312ceba335aa370 # Parent 6a79bf9b4cd36779d54dcaa26f87887c9cc38eca add examples diff -r 6a79bf9b4cd3 -r 4a919c3f5f04 DataSetView.st --- a/DataSetView.st Fri Nov 14 10:24:48 1997 +0100 +++ b/DataSetView.st Fri Nov 14 10:25:05 1997 +0100 @@ -56,7 +56,7 @@ examples " - example 1 + example 1: list with valid rows of type Array [exBegin] |top scr columns rows bool rdWtSel| @@ -84,7 +84,35 @@ [exEnd] - example 2 + + example 2: list with none valid rows; defining #rowIfAbsent: block + [exBegin] + |top scr columns bool rdWtSel| + + top := StandardSystemView new label:'select'; extent:700@440. + scr := DataSetView origin:(0.0 @ 0.0) corner:(1.0 @ 1.0) in:top. + + columns := OrderedCollection new. + bool := true. + rdWtSel := #( #at: #at:put: ). + + columns add:(DataSetColumnSpec label:'Text' editorType:#None selector:rdWtSel). + columns add:(DataSetColumnSpec label:'Input' editorType:#InputField selector:rdWtSel). + columns add:(DataSetColumnSpec label:'Toggle' editorType:#CheckToggle selector:rdWtSel). + + scr rowIfAbsent:[:i| + bool := bool not. + Array with:('text: ', i printString) with:('input: ') with:bool + ]. + + scr columnDescriptors:columns. + scr list:(Array new:1000). + top open. + [exEnd] + + + + example 3: list with valid rows of type Structure [exBegin] |top scr clDc rows slct list idx bool| @@ -125,7 +153,7 @@ - example 3: add a row selector + example 4: table includes a row selector and multiple select is enabled [exBegin] |top scr clDc rows slct list idx bool| @@ -160,6 +188,7 @@ scr has3Dseparators:true. scr columnDescriptors:clDc. + scr multipleSelectOk:true. scr list:rows. top open. [exEnd] @@ -167,7 +196,7 @@ - example 4: performance test + example 5: performance test; with valid rows [exBegin] |t1 top scr clDc rows slct list bool tmArr listModel| @@ -227,7 +256,72 @@ - example 5: images as label + example 6: performance test; with invalid rows: defining #rowIfAbsent:. + [exBegin] + |t1 top scr clDc rows slct list bool tmArr listModel ctr| + + 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 ). + ctr := 0. + + scr rowIfAbsent:[:i||values| + bool := bool not. + ctr := ctr + 1. + values := list collect:[:n| + n isString ifTrue:[n, ctr printString] + ifFalse:[n == true ifTrue:[bool] ifFalse:[n]] + ]. + Structure newWith:slct values:values + ]. + + scr columnDescriptors:clDc. + scr beDependentOfRows:false. + scr has3Dseparators:true. + + top openAndWait. + tmArr := Array new:4. + listModel := List new. + scr listHolder:listModel. + + (1 to:tmArr size) do:[:i| + listModel removeAll. + + t1 := Time millisecondsToRun:[ + 1 to:200 do:[:i| |values| + listModel add:nil. + 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. + [exEnd] + + + + example 7: images as label [exBegin] |lbl top scr clDc rows slct list idx bool| @@ -506,7 +600,7 @@ start := anArray first. stop := anArray last. - (start == 1 and:[stop == columnView size]) ifTrue:[ + listHolder value size == 0 ifTrue:[ columnView list:nil ] ifFalse:[ (stop - start + 1) timesRepeat:[ @@ -588,5 +682,5 @@ !DataSetView class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libwidg2/DataSetView.st,v 1.5 1997-11-12 16:25:06 ca Exp $' + ^ '$Header: /cvs/stx/stx/libwidg2/DataSetView.st,v 1.6 1997-11-14 09:25:05 ca Exp $' ! !