--- a/DataSetBuilder.st Fri Nov 07 14:30:55 1997 +0100
+++ b/DataSetBuilder.st Wed Nov 12 17:26:53 1997 +0100
@@ -538,7 +538,7 @@
#(
#(#FramedBoxSpec
#'name:' 'valuesBox'
- #'layout:' #(#LayoutFrame 0 0.0 20 0 0 1.0 101 0)
+ #'layout:' #(#LayoutFrame 0 0.0 20 0 0 1.0 125 0)
#'component:'
#(#SpecCollection
#'collection:'
@@ -557,20 +557,34 @@
#'model:' #readSelector
#'type:' #symbolOrNil
)
+ #(#InputFieldSpec
+ #'name:' 'writeSelector'
+ #'layout:' #(#LayoutFrame 86 0 38 0 17 1.0 58 0)
+ #'activeHelpKey:' #writeSelector
+ #'model:' #writeSelector
+ #'type:' #symbolOrNil
+ )
#(#LabelSpec
#'name:' 'printLabel'
- #'layout:' #(#AlignmentOrigin 84 0 51 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 84 0 78 0 1 0.5)
#'label:' 'Print:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'printSelector'
- #'layout:' #(#LayoutFrame 86 0 42 0 17 1.0 62 0)
+ #'layout:' #(#LayoutFrame 86 0 69 0 17 1.0 89 0)
#'activeHelpKey:' #printSelector
#'model:' #printSelector
#'type:' #symbolOrNil
)
+ #(#LabelSpec
+ #'name:' 'writeLabel'
+ #'layout:' #(#AlignmentOrigin 84 0 48 0 1 0.5)
+ #'label:' 'Write:'
+ #'adjust:' #right
+ #'resizeForLabel:' true
+ )
)
)
#'label:' 'Values:'
@@ -578,7 +592,7 @@
)
#(#FramedBoxSpec
#'name:' 'menusBox'
- #'layout:' #(#LayoutFrame 0 0.0 115 0 0 1.0 195 0)
+ #'layout:' #(#LayoutFrame 0 0.0 137 0 0 1.0 217 0)
#'component:'
#(#SpecCollection
#'collection:'
@@ -1357,7 +1371,7 @@
type := (aspects at:#rendererType) value.
type == #rowSelector ifTrue:[
- #( label width minWidth editorType choices readSelector printSelector
+ #( label width minWidth editorType choices readSelector writeSelector printSelector
formatString type size height canSelect selectSelector
) do:[:aKey| (aspects at:aKey) value:nil ].
].
@@ -1624,7 +1638,11 @@
and:[(aClass implements:sel) not]]
) ifTrue:[
(aColumn printSelector isNil or:[aColumn canSelect]) ifTrue:[
- bCode := sel asString, code.
+ sel numArgs == 0 ifTrue:[
+ bCode := sel asString, code
+ ] ifFalse:[
+ bCode := sel asString, 'anIndex\', code
+ ].
aColumn rendererType == #CheckToggle ifFalse:[
bCode := bCode, ' ^ nil'
] ifTrue:[
@@ -1665,7 +1683,7 @@
generateWriteSelectorIn:aClass
"generate code for #writeSelector
"
- |sel catg code|
+ |sel catg code bCode sz|
catg := 'accessing writeSelector' asSymbol.
code := 'aValue\'
@@ -1675,10 +1693,18 @@
.
columns do:[:aColumn|
- ( (sel := aColumn writeSelector) notNil
- and:[(aClass implements:sel) not]
+ ( (sel := aColumn writeSelector) notNil
+ and:[(aColumn canSelect)
+ and:[(aClass implements:sel) not]]
) ifTrue:[
- self compile:(sel asString, code) forClass:aClass inCategory:catg
+ sel numArgs == 1 ifTrue:[
+ bCode := sel asString
+ ] ifFalse:[
+ sz := sel indexOf:$:.
+ bCode := sel copyTo:sz.
+ bCode := bCode, 'anIndex ', (sel copyFrom:(sz + 1)).
+ ].
+ self compile:(bCode, code) forClass:aClass inCategory:catg
]
]
! !
@@ -1714,6 +1740,7 @@
selectSelector
printSelector
readSelector
+ writeSelector
rendererType
showColSeparator
showRowSeparator