--- a/DataSetBuilder.st Fri Jan 16 15:03:04 1998 +0100
+++ b/DataSetBuilder.st Fri Jan 16 15:10:41 1998 +0100
@@ -14,7 +14,7 @@
-ApplicationModel subclass:#DataSetBuilder
+ToolApplicationModel subclass:#DataSetBuilder
instanceVariableNames:'className superclassName hasChanged columnView columns
selectedColumnIndex tabSelectionIndex aspects isModified'
classVariableNames:'Number'
@@ -79,46 +79,64 @@
#'window:'
#(#WindowSpec
#'name:' 'DataSet Basic'
- #'layout:' #(#LayoutFrame 219 0 193 0 507 0 448 0)
+ #'layout:' #(#LayoutFrame 100 0 173 0 388 0 428 0)
#'label:' 'DataSet Basic'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 219 193 508 449)
+ #'bounds:' #(#Rectangle 100 173 389 429)
#'usePreferredExtent:' false
)
#'component:'
#(#SpecCollection
#'collection:'
#(
- #(#LabelSpec
- #'name:' 'labelLabel'
- #'layout:' #(#AlignmentOrigin 70 0 30 0 1 0.5)
- #'label:' 'Label:'
- #'adjust:' #right
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'labelField'
- #'layout:' #(#LayoutFrame 74 0 22 0 -12 1.0 40 0)
- #'activeHelpKey:' #label
- #'model:' #label
+ #(#FramedBoxSpec
+ #'name:' 'framedBox1'
+ #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 92 0)
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#LabelSpec
+ #'name:' 'label1'
+ #'layout:' #(#AlignmentOrigin 107 0 31 0 1 0.5)
+ #'label:' 'Label:'
+ #'resizeForLabel:' true
+ )
+ #(#InputFieldSpec
+ #'name:' 'labelField'
+ #'layout:' #(#LayoutFrame 110 0 21 0 15 1.0 43 0)
+ #'activeHelpKey:' #label
+ #'model:' #label
+ )
+ #(#CheckBoxSpec
+ #'name:' 'labelIsImage'
+ #'layout:' #(#LayoutOrigin 107 0 47 0)
+ #'activeHelpKey:' #labelIsImage
+ #'model:' #labelIsImage
+ #'label:' 'Label Is Image'
+ )
+ )
+ )
+ #'label:' 'Header:'
+ #'labelPosition:' #topLeft
)
#(#FramedBoxSpec
#'name:' 'typesFrame'
- #'layout:' #(#LayoutFrame 8 0.0 69 0 0 1.0 149 0)
+ #'layout:' #(#LayoutFrame 0 0.0 92 0 0 1.0 174 0)
#'component:'
#(#SpecCollection
#'collection:'
#(
#(#LabelSpec
#'name:' 'rendererLabel'
- #'layout:' #(#AlignmentOrigin 84 0 26 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 107 0 28 0 1 0.5)
#'label:' 'Renderer:'
#'resizeForLabel:' true
)
#(#ComboListSpec
#'name:' 'rendererField'
- #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
+ #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
#'activeHelpKey:' #rendererType
#'model:' #rendererType
#'comboList:' #rendererTypeList
@@ -126,13 +144,13 @@
)
#(#LabelSpec
#'name:' 'editorLabel'
- #'layout:' #(#AlignmentOrigin 84 0 50 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 107 0 53 0 1 0.5)
#'label:' 'Editor:'
#'resizeForLabel:' true
)
#(#ComboBoxSpec
#'name:' 'editorField'
- #'layout:' #(#LayoutFrame 86 0 41 0 17 1.0 61 0)
+ #'layout:' #(#LayoutFrame 110 0 44 0 15 1.0 66 0)
#'activeHelpKey:' #editorField
#'model:' #editorType
#'type:' #symbolOrNil
@@ -141,127 +159,7 @@
)
)
)
- #'label:' 'Types:'
- #'labelPosition:' #topLeft
- )
- #(#CheckBoxSpec
- #'name:' 'labelIsImage'
- #'layout:' #(#LayoutOrigin 9 0 189 0)
- #'activeHelpKey:' #labelIsImage
- #'model:' #labelIsImage
- #'label:' 'Label Is Image'
- )
- )
- )
- )
-!
-
-cellEditSpec
- "this window spec was automatically generated by the ST/X UIPainter"
-
- "do not manually edit this - the painter/builder may not be able to
- handle the specification if its corrupted."
-
- "
- UIPainter new openOnClass:DataSetBuilder andSelector:#cellEditSpec
- DataSetBuilder new openInterface:#cellEditSpec
- "
-
- <resource: #canvas>
-
- ^
-
- #(#FullSpec
- #'window:'
- #(#WindowSpec
- #'name:' 'DataSet Misc'
- #'layout:' #(#LayoutFrame 219 0 193 0 496 0 423 0)
- #'label:' 'DataSet Misc'
- #'min:' #(#Point 10 10)
- #'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 219 193 497 424)
- #'usePreferredExtent:' false
- )
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#FramedBoxSpec
- #'name:' 'defaultColorsBox'
- #'layout:' #(#LayoutFrame 0 0.0 22 0 0 1.0 115 0)
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#ColorMenuSpec
- #'name:' 'fgMenu'
- #'layout:' #(#LayoutFrame 101 0 17 0 10 1.0 40 0)
- #'activeHelpKey:' #foregroundColor
- #'model:' #foregroundColor
- )
- #(#LabelSpec
- #'name:' 'fgLabel'
- #'layout:' #(#AlignmentOrigin 100 0 29 0 1 0.5)
- #'label:' 'FG-Color:'
- #'adjust:' #right
- #'resizeForLabel:' true
- )
- #(#LabelSpec
- #'name:' 'bgLabel'
- #'layout:' #(#AlignmentOrigin 100 0 63 0 1 0.5)
- #'label:' 'BG-Color:'
- #'adjust:' #right
- #'resizeForLabel:' true
- )
- #(#ColorMenuSpec
- #'name:' 'bgMenu'
- #'layout:' #(#LayoutFrame 101 0 52 0 10 1.0 75 0)
- #'activeHelpKey:' #backgroundColor
- #'model:' #backgroundColor
- )
- )
- )
- #'label:' 'Default Colors:'
- #'labelPosition:' #topLeft
- )
- #(#FramedBoxSpec
- #'name:' 'cellColorsBox'
- #'layout:' #(#LayoutFrame 0 0 127 0 0 1.0 226 0)
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#LabelSpec
- #'name:' 'fgSelLabel'
- #'layout:' #(#AlignmentOrigin 100 0 32 0 1 0.5)
- #'label:' 'FG-Color:'
- #'adjust:' #right
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'fgSelField'
- #'layout:' #(#LayoutFrame 101 0 23 0 10 1.0 45 0)
- #'activeHelpKey:' #foregroundSelector
- #'model:' #foregroundSelector
- #'type:' #symbolOrNil
- )
- #(#LabelSpec
- #'name:' 'bgSelLabel'
- #'layout:' #(#AlignmentOrigin 100 0 66 0 1 0.5)
- #'label:' 'BG-Color:'
- #'adjust:' #right
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'bgSelField'
- #'layout:' #(#LayoutFrame 101 0 57 0 10 1.0 79 0)
- #'activeHelpKey:' #backgroundSelector
- #'model:' #backgroundSelector
- #'type:' #symbolOrNil
- )
- )
- )
- #'label:' 'Color Selectors (Cell):'
+ #'label:' 'Cell Type:'
#'labelPosition:' #topLeft
)
)
@@ -269,15 +167,15 @@
)
!
-colorEditSpec
+colorsEditSpec
"this window spec was automatically generated by the ST/X UIPainter"
"do not manually edit this - the painter/builder may not be able to
handle the specification if its corrupted."
"
- UIPainter new openOnClass:DataSetBuilder andSelector:#colorEditSpec
- DataSetBuilder new openInterface:#colorEditSpec
+ UIPainter new openOnClass:DataSetBuilder andSelector:#colorsEditSpec
+ DataSetBuilder new openInterface:#colorsEditSpec
"
<resource: #canvas>
@@ -288,11 +186,11 @@
#'window:'
#(#WindowSpec
#'name:' 'DataSet Misc'
- #'layout:' #(#LayoutFrame 219 0 193 0 496 0 423 0)
+ #'layout:' #(#LayoutFrame 354 0 229 0 722 0 528 0)
#'label:' 'DataSet Misc'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 219 193 497 424)
+ #'bounds:' #(#Rectangle 354 229 723 529)
#'usePreferredExtent:' false
)
#'component:'
@@ -301,271 +199,106 @@
#(
#(#FramedBoxSpec
#'name:' 'defaultColorsBox'
- #'layout:' #(#LayoutFrame 0 0.0 22 0 0 1.0 121 0)
+ #'layout:' #(#LayoutFrame 0 0.0 88 0 0 1.0 230 0)
#'component:'
#(#SpecCollection
#'collection:'
#(
#(#ColorMenuSpec
#'name:' 'fgMenu'
- #'layout:' #(#LayoutFrame 101 0 17 0 10 1.0 45 0)
+ #'layout:' #(#LayoutFrame 110 0 15 0 12 1.0 37 0)
#'activeHelpKey:' #foregroundColor
#'model:' #foregroundColor
)
#(#LabelSpec
#'name:' 'fgLabel'
- #'layout:' #(#AlignmentOrigin 100 0 32 0 1 0.5)
- #'label:' 'FG-Color:'
+ #'layout:' #(#AlignmentOrigin 107 0 27 0 1 0.5)
+ #'label:' 'Foreground:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#LabelSpec
#'name:' 'bgLabel'
- #'layout:' #(#AlignmentOrigin 100 0 66 0 1 0.5)
- #'label:' 'BG-Color:'
+ #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
+ #'label:' 'Background:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#ColorMenuSpec
#'name:' 'bgMenu'
- #'layout:' #(#LayoutFrame 101 0 52 0 10 1.0 80 0)
+ #'layout:' #(#LayoutFrame 110 0 43 0 12 1.0 65 0)
#'activeHelpKey:' #backgroundColor
#'model:' #backgroundColor
)
- )
- )
- #'label:' 'Default Colors:'
- #'labelPosition:' #topLeft
- )
- #(#FramedBoxSpec
- #'name:' 'cellColorsBox'
- #'layout:' #(#LayoutFrame 0 0 127 0 0 1.0 226 0)
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
#(#LabelSpec
#'name:' 'fgSelLabel'
- #'layout:' #(#AlignmentOrigin 100 0 32 0 1 0.5)
- #'label:' 'FG-Color:'
+ #'layout:' #(#AlignmentOrigin 107 0 89 0 1 0.5)
+ #'label:' 'FG-Selector:'
#'adjust:' #right
#'resizeForLabel:' true
)
- #(#InputFieldSpec
- #'name:' 'fgSelField'
- #'layout:' #(#LayoutFrame 101 0 23 0 10 1.0 45 0)
- #'model:' #foregroundSelector
- #'activeHelpKey:' #foregroundSelector
- #'type:' #symbolOrNil
- )
#(#LabelSpec
#'name:' 'bgSelLabel'
- #'layout:' #(#AlignmentOrigin 100 0 66 0 1 0.5)
- #'label:' 'BG-Color:'
+ #'layout:' #(#AlignmentOrigin 107 0 114 0 1 0.5)
+ #'label:' 'BG-Selector:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'bgSelField'
- #'layout:' #(#LayoutFrame 101 0 57 0 10 1.0 79 0)
+ #'layout:' #(#LayoutFrame 110 0 103 0 15 1.0 125 0)
+ #'activeHelpKey:' #backgroundSelector
#'model:' #backgroundSelector
- #'activeHelpKey:' #backgroundSelector
+ #'type:' #symbolOrNil
+ )
+ #(#InputFieldSpec
+ #'name:' 'fgSelField'
+ #'layout:' #(#LayoutFrame 110 0 78 0 15 1.0 100 0)
+ #'activeHelpKey:' #foregroundSelector
+ #'model:' #foregroundSelector
#'type:' #symbolOrNil
)
)
)
- #'label:' 'Color Selectors (Cell):'
- #'labelPosition:' #topLeft
- )
- )
- )
- )
-!
-
-detailsEditSpec
- "this window spec was automatically generated by the ST/X UIPainter"
-
- "do not manually edit this - the painter/builder may not be able to
- handle the specification if its corrupted."
-
- "
- UIPainter new openOnClass:DataSetBuilder andSelector:#detailsEditSpec
- DataSetBuilder new openInterface:#detailsEditSpec
- "
-
- <resource: #canvas>
-
- ^
-
- #(#FullSpec
- #'window:'
- #(#WindowSpec
- #'name:' 'DataSet Basic'
- #'layout:' #(#LayoutFrame 219 0 193 0 507 0 448 0)
- #'label:' 'DataSet Basic'
- #'min:' #(#Point 10 10)
- #'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 219 193 508 449)
- #'usePreferredExtent:' false
- )
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#FramedBoxSpec
- #'name:' 'selectionBox'
- #'layout:' #(#LayoutFrame 0 0.0 20 0 0 1.0 101 0)
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#CheckBoxSpec
- #'name:' 'canSelect'
- #'layout:' #(#Point 83 15)
- #'activeHelpKey:' #canSelect
- #'model:' #canSelect
- #'label:' 'Is Selectable'
- )
- #(#LabelSpec
- #'name:' 'selectorLabel'
- #'layout:' #(#AlignmentOrigin 84 0 51 0 1 0.5)
- #'label:' 'Selector:'
- #'adjust:' #right
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'selectSelector'
- #'layout:' #(#LayoutFrame 86 0 42 0 17 1.0 62 0)
- #'activeHelpKey:' #selectSelector
- #'model:' #selectSelector
- #'type:' #symbolOrNil
- )
- )
- )
- #'label:' 'Selection:'
+ #'label:' 'Cell Colors:'
#'labelPosition:' #topLeft
)
#(#FramedBoxSpec
- #'name:' 'separatorBox'
- #'layout:' #(#LayoutFrame 0 0.0 131 0 0 1.0 217 0)
+ #'name:' 'ColorsBox'
+ #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 88 0)
#'component:'
#(#SpecCollection
#'collection:'
#(
- #(#CheckBoxSpec
- #'name:' 'showRowSeparator'
- #'layout:' #(#AlignmentOrigin 39 0 30 0 0 0.5)
- #'activeHelpKey:' #showRowSeparator
- #'model:' #showRowSeparator
- #'label:' 'Show Row-Separator'
+ #(#ColorMenuSpec
+ #'name:' 'colorMenu1'
+ #'layout:' #(#LayoutFrame 110 0 15 0 12 1.0 37 0)
+ #'activeHelpKey:' #foregroundColor
+ #'model:' #labelForegroundColor
+ )
+ #(#LabelSpec
+ #'name:' 'label1'
+ #'layout:' #(#AlignmentOrigin 107 0 27 0 1 0.5)
+ #'label:' 'Foreground:'
+ #'adjust:' #right
+ #'resizeForLabel:' true
)
- #(#CheckBoxSpec
- #'name:' 'showColSeparator'
- #'layout:' #(#AlignmentOrigin 39 0 56 0 0 0.5)
- #'activeHelpKey:' #showColumnSeparator
- #'model:' #showColSeparator
- #'label:' 'Show Column-Separator'
+ #(#LabelSpec
+ #'name:' 'label2'
+ #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
+ #'label:' 'Background:'
+ #'adjust:' #right
+ #'resizeForLabel:' true
+ )
+ #(#ColorMenuSpec
+ #'name:' 'colorMenu2'
+ #'layout:' #(#LayoutFrame 110 0 43 0 12 1.0 65 0)
+ #'activeHelpKey:' #backgroundColor
+ #'model:' #labelBackgroundColor
)
)
)
- #'label:' 'Separators'
- #'labelPosition:' #topLeft
- )
- )
- )
- )
-!
-
-dimensionEditSpec
- "this window spec was automatically generated by the ST/X UIPainter"
-
- "do not manually edit this - the painter/builder may not be able to
- handle the specification if its corrupted."
-
- "
- UIPainter new openOnClass:DataSetBuilder andSelector:#dimensionEditSpec
- DataSetBuilder new openInterface:#dimensionEditSpec
- "
-
- <resource: #canvas>
-
- ^
-
- #(#FullSpec
- #'window:'
- #(#WindowSpec
- #'name:' 'DataSet Dimension'
- #'layout:' #(#LayoutFrame 197 0 172 0 487 0 385 0)
- #'label:' 'DataSet Dimension'
- #'min:' #(#Point 10 10)
- #'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 197 172 488 386)
- )
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#FramedBoxSpec
- #'name:' 'columnWidthFrame'
- #'layout:' #(#LayoutFrame 0 0.0 20 0 0 1.0 107 0)
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#LabelSpec
- #'name:' 'widthLabel'
- #'layout:' #(#AlignmentOrigin 68 0.0 27 0 1 0.5)
- #'label:' 'width:'
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'widthField'
- #'layout:' #(#LayoutFrame 70 0 17 0 0 1.0 39 0)
- #'activeHelpKey:' #width
- #'model:' #width
- #'type:' #numberOrNil
- )
- #(#LabelSpec
- #'name:' 'minWidthLabel'
- #'layout:' #(#AlignmentOrigin 68 0.0 56 0 1 0.5)
- #'label:' 'minWidth:'
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'minWidthField'
- #'layout:' #(#LayoutFrame 70 0 46 0 0 1.0 68 0)
- #'activeHelpKey:' #minWidth
- #'model:' #minWidth
- #'type:' #numberOrNil
- )
- )
- )
- #'label:' 'Column Width:'
- #'labelPosition:' #topLeft
- )
- #(#FramedBoxSpec
- #'name:' 'rowHeightFrame'
- #'layout:' #(#LayoutFrame 0 0.0 134 0 0 1.0 194 0)
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#LabelSpec
- #'name:' 'heightLabel'
- #'layout:' #(#AlignmentOrigin 68 0.0 29 0 1 0.5)
- #'label:' 'height:'
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'heightField'
- #'layout:' #(#LayoutFrame 70 0 19 0 0 1.0 41 0)
- #'activeHelpKey:' #height
- #'model:' #height
- #'type:' #numberOrNil
- )
- )
- )
- #'label:' 'Row Height:'
+ #'label:' 'Label Colors:'
#'labelPosition:' #topLeft
)
)
@@ -592,82 +325,116 @@
#'window:'
#(#WindowSpec
#'name:' 'DataSet Details'
- #'layout:' #(#LayoutFrame 219 0 193 0 509 0 406 0)
+ #'layout:' #(#LayoutFrame 54 0 445 0 441 0 736 0)
#'label:' 'DataSet Details'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 219 193 510 407)
+ #'bounds:' #(#Rectangle 54 445 442 737)
#'usePreferredExtent:' false
)
#'component:'
#(#SpecCollection
#'collection:'
#(
- #(#LabelSpec
- #'name:' 'textDescription'
- #'layout:' #(#Point 10 15)
- #'label:' 'Text Description:'
- #'resizeForLabel:' true
- )
- #(#LabelSpec
- #'name:' 'formatLabel'
- #'layout:' #(#AlignmentOrigin 83 0 47 0 1 0.5)
- #'label:' 'Format:'
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'formatField'
- #'layout:' #(#LayoutFrame 87 0 37 0 -2 1.0 59 0)
- #'activeHelpKey:' #formatString
- #'model:' #formatString
- )
- #(#LabelSpec
- #'name:' 'inpFieldDescription'
- #'layout:' #(#Point 10 80)
- #'label:' 'InputField Description:'
- #'resizeForLabel:' true
+ #(#FramedBoxSpec
+ #'name:' 'framedBox1'
+ #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 87 0)
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#LabelSpec
+ #'name:' 'typeLabel'
+ #'layout:' #(#AlignmentOrigin 107 0 26 0 1 0.5)
+ #'label:' 'Input Type:'
+ #'resizeForLabel:' true
+ )
+ #(#LabelSpec
+ #'name:' 'sizeLabel'
+ #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
+ #'label:' 'Max Size:'
+ #'resizeForLabel:' true
+ )
+ #(#InputFieldSpec
+ #'name:' 'sizeField'
+ #'layout:' #(#LayoutFrame 110 0 44 0 15 1.0 66 0)
+ #'activeHelpKey:' #size
+ #'model:' #size
+ #'type:' #numberOrNil
+ )
+ #(#ComboListSpec
+ #'name:' 'typeCombo'
+ #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
+ #'activeHelpKey:' #type
+ #'model:' #type
+ #'comboList:'
+ #(#string
+ #password #number
+ #numberOrNil #symbolOrNil
+ )
+ #'useIndex:' false
+ )
+ )
+ )
+ #'label:' 'Input Format'
+ #'labelPosition:' #topLeft
)
- #(#LabelSpec
- #'name:' 'typeLabel'
- #'layout:' #(#AlignmentOrigin 83 0 111 0 1 0.5)
- #'label:' 'Type:'
- #'resizeForLabel:' true
- )
- #(#ComboListSpec
- #'name:' 'typeCombo'
- #'layout:' #(#LayoutFrame 87 0 102 0 -2 1.0 122 0)
- #'activeHelpKey:' #type
- #'model:' #type
- #'comboList:' #typeList
- #'useIndex:' false
- )
- #(#LabelSpec
- #'name:' 'sizeLabel'
- #'layout:' #(#AlignmentOrigin 83 0 136 0 1 0.5)
- #'label:' 'Size:'
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'sizeField'
- #'layout:' #(#LayoutFrame 87 0 126 0 -2 1.0 148 0)
- #'activeHelpKey:' #size
- #'model:' #size
- #'type:' #numberOrNil
+ #(#FramedBoxSpec
+ #'name:' 'framedBox2'
+ #'layout:' #(#LayoutFrame 0 0.0 87 0 0 1.0 175 0)
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#LabelSpec
+ #'name:' 'formatLabel'
+ #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
+ #'label:' 'Text Format:'
+ #'resizeForLabel:' true
+ )
+ #(#LabelSpec
+ #'name:' 'JustificationLabel'
+ #'layout:' #(#LayoutOrigin 35 0 21 0)
+ #'label:' 'Justification:'
+ #'adjust:' #left
+ #'resizeForLabel:' true
+ )
+ #(#PopUpListSpec
+ #'name:' 'Alignment'
+ #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
+ #'label:' 'Alignment'
+ #'model:' #labelAlignment
+ #'menu:'
+ #(#left
+ #right #center
+ )
+ #'useIndex:' false
+ )
+ #(#InputFieldSpec
+ #'name:' 'formatField'
+ #'layout:' #(#LayoutFrame 110 0 45 0 15 1.0 67 0)
+ #'activeHelpKey:' #formatString
+ #'model:' #formatString
+ )
+ )
+ )
+ #'label:' 'Output Format'
+ #'labelPosition:' #topLeft
)
)
)
)
!
-labelEditSpec
+frameEditSpec
"this window spec was automatically generated by the ST/X UIPainter"
"do not manually edit this - the painter/builder may not be able to
handle the specification if its corrupted."
"
- UIPainter new openOnClass:DataSetBuilder andSelector:#labelEditSpec
- DataSetBuilder new openInterface:#labelEditSpec
+ UIPainter new openOnClass:DataSetBuilder andSelector:#frameEditSpec
+ DataSetBuilder new openInterface:#frameEditSpec
"
<resource: #canvas>
@@ -677,12 +444,12 @@
#(#FullSpec
#'window:'
#(#WindowSpec
- #'name:' 'DataSet Misc'
- #'layout:' #(#LayoutFrame 219 0 193 0 496 0 423 0)
- #'label:' 'DataSet Misc'
+ #'name:' 'DataSet Dimension'
+ #'layout:' #(#LayoutFrame 442 0 269 0 732 0 482 0)
+ #'label:' 'DataSet Dimension'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 219 193 497 424)
+ #'bounds:' #(#Rectangle 442 269 733 483)
#'usePreferredExtent:' false
)
#'component:'
@@ -690,103 +457,99 @@
#'collection:'
#(
#(#FramedBoxSpec
- #'name:' 'ColorsBox'
- #'layout:' #(#LayoutFrame 0 0.0 22 0 0 1.0 105 0)
+ #'name:' 'separatorBox'
+ #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 86 0)
#'component:'
#(#SpecCollection
#'collection:'
#(
- #(#ColorMenuSpec
- #'name:' 'fgMenu'
- #'layout:' #(#LayoutFrame 101 0 15 0 10 1.0 38 0)
- #'activeHelpKey:' #foregroundColor
- #'model:' #labelForegroundColor
+ #(#CheckBoxSpec
+ #'name:' 'showRowSeparator'
+ #'layout:' #(#LayoutFrame 18 0 19 0 194 0 42 0)
+ #'activeHelpKey:' #showRowSeparator
+ #'model:' #showRowSeparator
+ #'label:' 'Show Row-Separator'
+ )
+ #(#CheckBoxSpec
+ #'name:' 'showColSeparator'
+ #'layout:' #(#LayoutFrame 18 0 45 0 194 0 68 0)
+ #'activeHelpKey:' #showColumnSeparator
+ #'model:' #showColSeparator
+ #'label:' 'Show Column-Separator'
+ )
+ )
+ )
+ #'label:' 'Separators'
+ #'labelPosition:' #topLeft
+ )
+ #(#FramedBoxSpec
+ #'name:' 'framedBox1'
+ #'layout:' #(#LayoutFrame 0 0.0 86 0 0 1.0 198 0)
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#InputFieldSpec
+ #'name:' 'heightField'
+ #'layout:' #(#LayoutFrame 110 0 73 0 15 1.0 95 0)
+ #'activeHelpKey:' #height
+ #'model:' #height
+ #'type:' #numberOrNil
)
#(#LabelSpec
- #'name:' 'fgLabel'
- #'layout:' #(#AlignmentOrigin 100 0 27 0 1 0.5)
- #'label:' 'FG-Color:'
+ #'name:' 'heightLabel'
+ #'layout:' #(#LayoutFrame 10 0.0 76 0 107 0.0 93 0)
+ #'label:' 'Row Height:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#LabelSpec
- #'name:' 'bgLabel'
- #'layout:' #(#AlignmentOrigin 100 0 55 0 1 0.5)
- #'label:' 'BG-Color:'
+ #'name:' 'minWidthLabel'
+ #'layout:' #(#LayoutFrame 10 0.0 45 0 107 0.0 62 0)
+ #'label:' 'Min Width:'
#'adjust:' #right
#'resizeForLabel:' true
)
- #(#ColorMenuSpec
- #'name:' 'bgMenu'
- #'layout:' #(#LayoutFrame 101 0 44 0 10 1.0 67 0)
- #'activeHelpKey:' #backgroundColor
- #'model:' #labelBackgroundColor
+ #(#InputFieldSpec
+ #'name:' 'minWidthField'
+ #'layout:' #(#LayoutFrame 110 0 42 0 15 1.0 64 0)
+ #'activeHelpKey:' #minWidth
+ #'model:' #minWidth
+ #'type:' #numberOrNil
+ )
+ #(#LabelSpec
+ #'name:' 'widthLabel'
+ #'layout:' #(#LayoutFrame 10 0.0 20 0 107 0.0 37 0)
+ #'label:' 'Column Width:'
+ #'adjust:' #right
+ #'resizeForLabel:' true
+ )
+ #(#InputFieldSpec
+ #'name:' 'widthField'
+ #'layout:' #(#LayoutFrame 110 0 17 0 15 1.0 39 0)
+ #'activeHelpKey:' #width
+ #'model:' #width
+ #'type:' #numberOrNil
)
)
)
- #'label:' 'Colors:'
+ #'label:' 'Dimensions:'
#'labelPosition:' #topLeft
)
- #(#UISubSpecification
- #'name:' 'fontSubSpec'
- #'layout:' #(#LayoutFrame 67 0.0 116 0 -4 1.0 141 0)
- #'minorKey:' #fontSpec
- )
- #(#LabelSpec
- #'name:' 'ActionLabel'
- #'layout:' #(#AlignmentOrigin 110 0 189 0 1 0.5)
- #'label:' 'Select Action:'
- #'adjust:' #left
- #'resizeForLabel:' true
- )
- #(#LabelSpec
- #'name:' 'ArgumentLabel'
- #'layout:' #(#AlignmentOrigin 110 0 212 0 1 0.5)
- #'label:' 'Argument:'
- #'adjust:' #left
- #'resizeForLabel:' true
- )
- #(#LabelSpec
- #'name:' 'AlignLabel'
- #'layout:' #(#AlignmentOrigin 110 0 157 0 1 0.5)
- #'label:' 'Align Label:'
- #'adjust:' #left
- #'resizeForLabel:' true
- )
- #(#PopUpListSpec
- #'name:' 'Alignment'
- #'layout:' #(#LayoutFrame 116 0 146 0 -4 1.0 168 0)
- #'label:' 'Alignment'
- #'model:' #labelAlignment
- #'menu:' #alignmentList
- #'useIndex:' false
- )
- #(#InputFieldSpec
- #'name:' 'ActionSelector'
- #'layout:' #(#LayoutFrame 116 0 179 0 -4 1.0 201 0)
- #'model:' #labelActionSelector
- #'type:' #symbolOrNil
- )
- #(#InputFieldSpec
- #'name:' 'ArgumentValue'
- #'layout:' #(#LayoutFrame 116 0 202 0 -4 1.0 224 0)
- #'model:' #labelActionArgument
- #'type:' #string
- )
)
)
)
!
-selectorsEditSpec
+selectionEditSpec
"this window spec was automatically generated by the ST/X UIPainter"
"do not manually edit this - the painter/builder may not be able to
handle the specification if its corrupted."
"
- UIPainter new openOnClass:DataSetBuilder andSelector:#selectorsEditSpec
- DataSetBuilder new openInterface:#selectorsEditSpec
+ UIPainter new openOnClass:DataSetBuilder andSelector:#selectionEditSpec
+ DataSetBuilder new openInterface:#selectionEditSpec
"
<resource: #canvas>
@@ -797,11 +560,143 @@
#'window:'
#(#WindowSpec
#'name:' 'DataSet Basic'
- #'layout:' #(#LayoutFrame 55 0 280 0 350 0 585 0)
+ #'layout:' #(#LayoutFrame 414 0 196 0 702 0 451 0)
#'label:' 'DataSet Basic'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1280 1024)
- #'bounds:' #(#Rectangle 55 280 351 586)
+ #'bounds:' #(#Rectangle 414 196 703 452)
+ #'usePreferredExtent:' false
+ )
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#FramedBoxSpec
+ #'name:' 'framedBox1'
+ #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 84 0)
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#CheckBoxSpec
+ #'name:' 'canSelect'
+ #'layout:' #(#Point 107 17)
+ #'activeHelpKey:' #canSelect
+ #'model:' #canSelect
+ #'label:' 'Is Selectable'
+ )
+ #(#LabelSpec
+ #'name:' 'selectorLabel'
+ #'layout:' #(#AlignmentOrigin 107 0 51 0 1 0.5)
+ #'label:' 'Selector:'
+ #'adjust:' #right
+ #'resizeForLabel:' true
+ )
+ #(#InputFieldSpec
+ #'name:' 'selectSelector'
+ #'layout:' #(#LayoutFrame 110 0 42 0 15 1.0 64 0)
+ #'activeHelpKey:' #selectSelector
+ #'model:' #selectSelector
+ #'type:' #symbolOrNil
+ )
+ )
+ )
+ #'label:' 'Selection:'
+ #'labelPosition:' #topLeft
+ )
+ #(#FramedBoxSpec
+ #'name:' 'framedBox2'
+ #'layout:' #(#LayoutFrame 0 0.0 84 0 0 1.0 166 0)
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#InputFieldSpec
+ #'name:' 'ArgumentValue'
+ #'layout:' #(#LayoutFrame 110 0 42 0 15 1.0 64 0)
+ #'model:' #labelActionArgument
+ #'type:' #string
+ )
+ #(#LabelSpec
+ #'name:' 'ArgumentLabel'
+ #'layout:' #(#AlignmentOrigin 107 0 52 0 1 0.5)
+ #'label:' 'Argument:'
+ #'adjust:' #left
+ #'resizeForLabel:' true
+ )
+ #(#LabelSpec
+ #'name:' 'ActionLabel'
+ #'layout:' #(#AlignmentOrigin 107 0 27 0 1 0.5)
+ #'label:' 'Selector:'
+ #'adjust:' #left
+ #'resizeForLabel:' true
+ )
+ #(#InputFieldSpec
+ #'name:' 'ActionSelector'
+ #'layout:' #(#LayoutFrame 110 0 17 0 15 1.0 39 0)
+ #'model:' #labelActionSelector
+ #'type:' #symbolOrNil
+ )
+ )
+ )
+ #'label:' 'Select Action:'
+ #'labelPosition:' #topLeft
+ )
+ #(#FramedBoxSpec
+ #'name:' 'framedBox3'
+ #'layout:' #(#LayoutFrame 0 0.0 166 0 0 1.0 220 0)
+ #'component:'
+ #(#SpecCollection
+ #'collection:'
+ #(
+ #(#LabelSpec
+ #'name:' 'doubleLabel'
+ #'layout:' #(#AlignmentOrigin 107 0 26 0 1 0.5)
+ #'label:' 'Selector:'
+ #'adjust:' #right
+ #'resizeForLabel:' true
+ )
+ #(#InputFieldSpec
+ #'name:' 'doubleClicked'
+ #'layout:' #(#LayoutFrame 110 0 16 0 15 1.0 38 0)
+ #'activeHelpKey:' #doubleClickedSelector
+ #'model:' #doubleClickedSelector
+ #'type:' #symbolOrNil
+ )
+ )
+ )
+ #'label:' 'Doubel Click:'
+ #'labelPosition:' #topLeft
+ )
+ )
+ )
+ )
+!
+
+valuesEditSpec
+ "this window spec was automatically generated by the ST/X UIPainter"
+
+ "do not manually edit this - the painter/builder may not be able to
+ handle the specification if its corrupted."
+
+ "
+ UIPainter new openOnClass:DataSetBuilder andSelector:#valuesEditSpec
+ DataSetBuilder new openInterface:#valuesEditSpec
+ "
+
+ <resource: #canvas>
+
+ ^
+
+ #(#FullSpec
+ #'window:'
+ #(#WindowSpec
+ #'name:' 'DataSet Basic'
+ #'layout:' #(#LayoutFrame 563 0 305 0 858 0 610 0)
+ #'label:' 'DataSet Basic'
+ #'min:' #(#Point 10 10)
+ #'max:' #(#Point 1280 1024)
+ #'bounds:' #(#Rectangle 563 305 859 611)
#'usePreferredExtent:' false
)
#'component:'
@@ -810,122 +705,96 @@
#(
#(#FramedBoxSpec
#'name:' 'valuesBox'
- #'layout:' #(#LayoutFrame 0 0.0 16 0 0 1.0 117 0)
+ #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 107 0)
#'component:'
#(#SpecCollection
#'collection:'
#(
#(#LabelSpec
#'name:' 'readLabel'
- #'layout:' #(#AlignmentOrigin 84 0 25 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 107 0 28 0 1 0.5)
#'label:' 'Read:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'readSelector'
- #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
+ #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
#'activeHelpKey:' #readSelector
#'model:' #readSelector
#'type:' #symbolOrNil
)
#(#InputFieldSpec
#'name:' 'writeSelector'
- #'layout:' #(#LayoutFrame 86 0 38 0 17 1.0 58 0)
+ #'layout:' #(#LayoutFrame 110 0 43 0 15 1.0 63 0)
#'activeHelpKey:' #writeSelector
#'model:' #writeSelector
#'type:' #symbolOrNil
)
#(#LabelSpec
#'name:' 'printLabel'
- #'layout:' #(#AlignmentOrigin 84 0 75 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 107 0 76 0 1 0.5)
#'label:' 'Print:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'printSelector'
- #'layout:' #(#LayoutFrame 86 0 66 0 17 1.0 86 0)
+ #'layout:' #(#LayoutFrame 110 0 66 0 15 1.0 86 0)
#'activeHelpKey:' #printSelector
#'model:' #printSelector
#'type:' #symbolOrNil
)
#(#LabelSpec
#'name:' 'writeLabel'
- #'layout:' #(#AlignmentOrigin 84 0 48 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 107 0 53 0 1 0.5)
#'label:' 'Write:'
#'adjust:' #right
#'resizeForLabel:' true
)
)
)
- #'label:' 'Values:'
+ #'label:' 'Value Selectors:'
#'labelPosition:' #topLeft
)
#(#FramedBoxSpec
#'name:' 'menusBox'
- #'layout:' #(#LayoutFrame 0 0.0 120 0 0 1.0 200 0)
+ #'layout:' #(#LayoutFrame 0 0.0 107 0 0 1.0 186 0)
#'component:'
#(#SpecCollection
#'collection:'
#(
#(#LabelSpec
#'name:' 'menuLabel'
- #'layout:' #(#AlignmentOrigin 84 0 25 0 1 0.5)
+ #'layout:' #(#AlignmentOrigin 107 0 28 0 1 0.5)
#'label:' 'Menu:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'menuSelector'
- #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
+ #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 38 0)
#'activeHelpKey:' #menuSelector
#'model:' #menu
#'type:' #symbolOrNil
)
#(#LabelSpec
#'name:' 'choicesLabel'
- #'layout:' #(#AlignmentOrigin 84 0 51 0 1 0.5)
- #'label:' 'Choices:'
+ #'layout:' #(#AlignmentOrigin 107 0 51 0 1 0.5)
+ #'label:' 'Choice:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#InputFieldSpec
#'name:' 'choicesSelector'
- #'layout:' #(#LayoutFrame 86 0 42 0 17 1.0 62 0)
+ #'layout:' #(#LayoutFrame 110 0 41 0 15 1.0 61 0)
#'activeHelpKey:' #choices
#'model:' #choices
#'type:' #symbolOrNil
)
)
)
- #'label:' 'Menus:'
- #'labelPosition:' #topLeft
- )
- #(#FramedBoxSpec
- #'name:' 'eventBox'
- #'layout:' #(#LayoutFrame 0 0.0 203 0 0 1.0 252 0)
- #'component:'
- #(#SpecCollection
- #'collection:'
- #(
- #(#LabelSpec
- #'name:' 'doubleLabel'
- #'layout:' #(#AlignmentOrigin 84 0 24 0 1 0.5)
- #'label:' 'Double:'
- #'adjust:' #right
- #'resizeForLabel:' true
- )
- #(#InputFieldSpec
- #'name:' 'doubleClicked'
- #'layout:' #(#LayoutFrame 86 0 15 0 17 1.0 35 0)
- #'activeHelpKey:' #doubleClickedSelector
- #'model:' #doubleClickedSelector
- #'type:' #symbolOrNil
- )
- )
- )
- #'label:' 'Click Events:'
+ #'label:' 'Menu Selectors:'
#'labelPosition:' #topLeft
)
)
@@ -1020,14 +889,6 @@
)
! !
-!DataSetBuilder class methodsFor:'images'!
-
-iconCreateItem
- ^ MenuEditor iconCreateItem
-
-
-! !
-
!DataSetBuilder class methodsFor:'interface specs'!
defineClassNameSpec
@@ -1049,11 +910,12 @@
#'window:'
#(#WindowSpec
#'name:' 'Class Definition'
- #'layout:' #(#LayoutFrame 76 0 249 0 401 0 378 0)
+ #'layout:' #(#LayoutFrame 299 0 162 0 624 0 291 0)
#'label:' 'Class Definition'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1152 900)
- #'bounds:' #(#Rectangle 76 249 402 379)
+ #'bounds:' #(#Rectangle 299 162 625 292)
+ #'usePreferredExtent:' false
)
#'component:'
#(#SpecCollection
@@ -1062,21 +924,21 @@
#(#LabelSpec
#'name:' 'classLabel'
#'layout:' #(#AlignmentOrigin 50 0.11 50 0 1 0.5)
- #'label:' 'class:'
+ #'label:' 'Class:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#LabelSpec
#'name:' 'superClassLabel'
#'layout:' #(#AlignmentOrigin 50 0.11 77 0 1 0.5)
- #'label:' 'superclass:'
+ #'label:' 'Superclass:'
#'adjust:' #right
#'resizeForLabel:' true
)
#(#LabelSpec
#'name:' 'topLabel'
#'layout:' #(#Point 2 10)
- #'label:' 'class for code:'
+ #'label:' 'Class for code:'
#'adjust:' #left
#'resizeForLabel:' true
)
@@ -1095,17 +957,17 @@
#(
#(#ActionButtonSpec
#'name:' 'button1'
- #'label:' 'cancel'
+ #'label:' 'Cancel'
#'tabable:' true
#'model:' #cancel
#'extent:' #(#Point 156 22)
)
#(#ActionButtonSpec
#'name:' 'button2'
- #'label:' 'ok'
+ #'label:' 'OK'
#'tabable:' true
+ #'model:' #accept
#'isDefault:' true
- #'model:' #accept
#'extent:' #(#Point 157 22)
)
)
@@ -1127,14 +989,14 @@
!
slices
- ^ #( (Basics basicsEditSpec)
- (Details detailsEditSpec)
- (Selectors selectorsEditSpec)
- (Format formatEditSpec)
- (Label labelEditSpec)
- (Cell cellEditSpec)
- (Dimension dimensionEditSpec)
- )
+ ^#(
+ (Basics basicsEditSpec)
+ (Values valuesEditSpec)
+ (Format formatEditSpec)
+ (Selection selectionEditSpec)
+ (Frame frameEditSpec)
+ (Colors colorsEditSpec)
+ )
!
windowSpec
@@ -1156,12 +1018,13 @@
#(#FullSpec
#'window:'
#(#WindowSpec
- #'name:' 'unnamed canvas'
- #'layout:' #(#LayoutFrame 219 0 193 0 705 0 520 0)
- #'label:' 'unnamed canvas'
+ #'name:' 'Data Set Builder'
+ #'layout:' #(#LayoutFrame 442 0 314 0 928 0 673 0)
+ #'label:' 'Data Set Builder'
#'min:' #(#Point 10 10)
#'max:' #(#Point 1152 900)
- #'bounds:' #(#Rectangle 219 193 706 521)
+ #'bounds:' #(#Rectangle 442 314 929 674)
+ #'menu:' #menu
#'usePreferredExtent:' false
)
#'component:'
@@ -1169,13 +1032,13 @@
#'collection:'
#(
#(#MenuPanelSpec
- #'name:' 'mainMenu'
- #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 25 0)
- #'menu:' #mainMenu
+ #'name:' 'menuToolbarView'
+ #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 34 0)
+ #'menu:' #menuToolbar
)
#(#VariableHorizontalPanelSpec
#'name:' 'VariablePanel'
- #'layout:' #(#LayoutFrame 0 0.0 25 0.0 0 1.0 0 1.0)
+ #'layout:' #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -22 1.0)
#'component:'
#(#SpecCollection
#'collection:'
@@ -1186,17 +1049,12 @@
#(#SpecCollection
#'collection:'
#(
- #(#MenuPanelSpec
- #'name:' 'subMenu'
- #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 35 0)
- #'menu:' #subMenu
- )
#(#SequenceViewSpec
#'name:' 'columnView'
- #'layout:' #(#LayoutFrame 0 0.0 35 0.0 0 1.0 0 1.0)
+ #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
#'enableChannel:' #isNotModified
#'model:' #selectedColumnModel
- #'menu:' #columnMenu
+ #'menu:' #menuEdit
#'hasHorizontalScrollBar:' true
#'hasVerticalScrollBar:' true
#'miniScrollerHorizontal:' true
@@ -1233,17 +1091,17 @@
#(
#(#ActionButtonSpec
#'name:' 'cancelButton'
- #'label:' 'cancel'
+ #'label:' 'Cancel'
#'model:' #cancel
#'enableChannel:' #modifiedChannel
#'extent:' #(#Point 173 24)
)
#(#ActionButtonSpec
#'name:' 'acceptButton'
- #'label:' 'ok'
+ #'label:' 'OK'
#'model:' #accept
#'enableChannel:' #modifiedChannel
- #'extent:' #(#Point 173 24)
+ #'extent:' #(#Point 174 24)
)
)
)
@@ -1260,6 +1118,20 @@
)
#'handles:' #(#Any 0.265905 1.0)
)
+ #(#LabelSpec
+ #'name:' 'infoLabel'
+ #'layout:' #(#LayoutFrame 0 0.0 -22 1 -80 1.0 0 1.0)
+ #'labelChannel:' #valueOfInfoLabel
+ #'level:' 1
+ #'adjust:' #left
+ )
+ #(#LabelSpec
+ #'name:' 'timeLabel'
+ #'layout:' #(#LayoutFrame -80 1 -22 1 0 1.0 0 1.0)
+ #'labelChannel:' #valueOfTimeLabel
+ #'level:' 1
+ #'adjust:' #right
+ )
)
)
)
@@ -1267,42 +1139,15 @@
!DataSetBuilder class methodsFor:'menu specs'!
-columnMenu
+menu
"this window spec was automatically generated by the ST/X MenuEditor"
"do not manually edit this - the builder may not be able to
handle the specification if its corrupted."
"
- MenuEditor new openOnClass:DataSetBuilder andSelector:#columnMenu
- (Menu new fromLiteralArrayEncoding:(DataSetBuilder columnMenu)) startUp
- "
-
- <resource: #menu>
-
- ^
-
- #(#Menu
-
- #(
- #(#MenuItem
- #'label:' 'cut'
- #'value:' #doCutColumn
- )
- ) nil
- nil
- )
-!
-
-mainMenu
- "this window spec was automatically generated by the ST/X MenuEditor"
-
- "do not manually edit this - the builder may not be able to
- handle the specification if its corrupted."
-
- "
- MenuEditor new openOnClass:DataSetBuilder andSelector:#mainMenu
- (Menu new fromLiteralArrayEncoding:(DataSetBuilder mainMenu)) startUp
+ MenuEditor new openOnClass:DataSetBuilder andSelector:#menu
+ (Menu new fromLiteralArrayEncoding:(DataSetBuilder menu)) startUp
"
<resource: #menu>
@@ -1313,13 +1158,37 @@
#(
#(#MenuItem
- #'label:' 'file'
+ #'label:' 'About'
+ #'labelImage:' #(#ResourceRetriever #UIPainter #icon)
+ #'submenuChannel:' #menuAbout
+ )
+ #(#MenuItem
+ #'label:' 'File'
+ #'accessCharacterPosition:' 1
#'submenu:'
#(#Menu
#(
#(#MenuItem
- #'label:' 'close'
+ #'label:' 'Generate Code'
+ #'value:' #doGenerateCode
+ )
+ #(#MenuItem
+ #'label:' '-'
+ )
+ #(#MenuItem
+ #'label:' 'Define Class...'
+ #'value:' #doDefineClass
+ )
+ #(#MenuItem
+ #'label:' 'Browse Class'
+ #'value:' #doBrowseClass
+ )
+ #(#MenuItem
+ #'label:' '-'
+ )
+ #(#MenuItem
+ #'label:' 'Exit'
#'value:' #closeRequest
)
) nil
@@ -1327,44 +1196,91 @@
)
)
#(#MenuItem
- #'label:' 'code'
- #'submenu:'
- #(#Menu
-
- #(
- #(#MenuItem
- #'label:' 'class'
- #'value:' #doDefineClass
- )
- #(#MenuItem
- #'label:' 'generate code'
- #'value:' #doGenerateCode
- )
- #(#MenuItem
- #'label:' '-'
- )
- #(#MenuItem
- #'label:' 'browse class'
- #'value:' #doBrowseClass
- )
- ) nil
- nil
- )
+ #'label:' 'Edit'
+ #'accessCharacterPosition:' 1
+ #'submenuChannel:' #menuEdit
)
) nil
nil
)
!
-subMenu
+menuEdit
"this window spec was automatically generated by the ST/X MenuEditor"
"do not manually edit this - the builder may not be able to
handle the specification if its corrupted."
"
- MenuEditor new openOnClass:DataSetBuilder andSelector:#subMenu
- (Menu new fromLiteralArrayEncoding:(DataSetBuilder subMenu)) startUp
+ MenuEditor new openOnClass:DataSetBuilder andSelector:#menuEdit
+ (Menu new fromLiteralArrayEncoding:(DataSetBuilder menuEdit)) startUp
+ "
+
+ <resource: #menu>
+
+ ^
+
+ #(#Menu
+
+ #(
+ #(#MenuItem
+ #'label:' 'Cut'
+ #'value:' #doCutColumn
+ #'enabled:' #isColumnSelected
+ #'shortcutKeyCharacter:' #Cut
+ )
+ #(#MenuItem
+ #'label:' 'Copy'
+ #'value:' #doCopyColumn
+ #'enabled:' #isColumnSelected
+ #'shortcutKeyCharacter:' #Copy
+ )
+ #(#MenuItem
+ #'label:' 'Paste'
+ #'value:' #doPasteColumn
+ #'enabled:' #valueOfHavingClipboard
+ #'shortcutKeyCharacter:' #Paste
+ )
+ #(#MenuItem
+ #'label:' '-'
+ )
+ #(#MenuItem
+ #'label:' 'Create Column'
+ #'value:' #doCreateColumn
+ #'enabled:' #isNotModified
+ #'labelImage:' #(#ResourceRetriever #DataSetBuilder #newColumnIcon 'Create Column')
+ )
+ #(#MenuItem
+ #'label:' '-'
+ )
+ #(#MenuItem
+ #'label:' 'Shift Up'
+ #'value:' #'doMoveColumn:'
+ #'enabled:' #isColumnSelected
+ #'argument:' #up
+ #'labelImage:' #(#ResourceRetriever #DataSetBuilder #upIcon 'Shift Up')
+ )
+ #(#MenuItem
+ #'label:' 'Shift Down'
+ #'value:' #'doMoveColumn:'
+ #'enabled:' #isColumnSelected
+ #'argument:' #down
+ #'labelImage:' #(#ResourceRetriever #DataSetBuilder #downIcon 'Shift Down')
+ )
+ ) nil
+ nil
+ )
+!
+
+menuToolbar
+ "this window spec was automatically generated by the ST/X MenuEditor"
+
+ "do not manually edit this - the builder may not be able to
+ handle the specification if its corrupted."
+
+ "
+ MenuEditor new openOnClass:DataSetBuilder andSelector:#menuToolbar
+ (Menu new fromLiteralArrayEncoding:(DataSetBuilder menuToolbar)) startUp
"
<resource: #menu>
@@ -1376,44 +1292,43 @@
#(
#(#MenuItem
#'label:' 'createColumn'
+ #'isButton:' true
#'value:' #doCreateColumn
#'enabled:' #isNotModified
- #'labelImage:' #(#ResourceRetriever #MenuEditor #iconCreateItem)
- )
- #(#MenuItem
- #'label:' '-'
+ #'labelImage:' #(#ResourceRetriever nil #newColumnIcon)
)
#(#MenuItem
#'label:' ''
)
#(#MenuItem
- #'label:' '-'
- )
- #(#MenuItem
#'label:' 'stepUp'
+ #'isButton:' true
#'value:' #'doMoveColumn:'
- #'enabled:' #isNotModified
+ #'enabled:' #isColumnSelected
#'argument:' #up
- #'labelImage:' #(#ResourceRetriever #UIPainter #iconStepUp)
- )
- #(#MenuItem
- #'label:' '-'
+ #'labelImage:' #(#ResourceRetriever nil #upIcon)
)
#(#MenuItem
#'label:' 'stepDown'
+ #'isButton:' true
#'value:' #'doMoveColumn:'
- #'enabled:' #isNotModified
+ #'enabled:' #isColumnSelected
#'argument:' #down
- #'labelImage:' #(#ResourceRetriever #UIPainter #iconStepDown)
- )
- #(#MenuItem
- #'label:' '-'
+ #'labelImage:' #(#ResourceRetriever nil #downIcon)
)
) nil
nil
)
! !
+!DataSetBuilder class methodsFor:'resources'!
+
+newColumnIcon
+ "ImageEditor openOnClass:self andSelector:#newColumnIcon"
+
+ <resource: #image>
+ ^(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(#[17 17 16 0 0 0 0 0 0 17 17 17 17 16 17 17 17 17 17 32 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 32 2 32 34 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 32 2 32 34 48 17 17 16 17 16 18 34 34 34 34 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 0 2 0 2 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 2 2 2 2 48 17 17 17 17 16 18 0 2 0 2 48 17 17 17 17 16 18 2 2 0 2 48 17 17 17 17 16 18 2 2 2 2 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 35 51 51 51 51 48 17 17 17 17 16 0 0 0 0 0 0 17 17]) ; colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color grey:66.9978); add:(Color grey:49.9962); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9992 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9992 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9992); add:(Color red:0.0 green:49.9992 blue:49.9992); add:(Color red:49.9992 green:49.9992 blue:0.0); add:(Color red:49.9992 green:0.0 blue:49.9992); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 195 7 255 192 7 255 192 7 255 192 7 255 192 7 255 195 7 255 193 7 255 192 7 255 195 7 255 192 7 255 195 7 255 192 7 255 192 7 255 193]) ; yourself); yourself! !
+
!DataSetBuilder methodsFor:'accessing'!
columns
@@ -1485,14 +1400,24 @@
!
+doCopyColumn
+ "copy selected column to the clipboard"
+
+ |idx|
+
+ (idx := selectedColumnIndex) ~~ 0 ifTrue:[
+ self clipboard: (columns at: idx) deepCopy.
+ ].
+!
+
doCreateColumn
"create a new column after selected column or at left (nothing selected)
"
|label list|
list := self seqList.
- label := 'column ', list size printString.
- columns add:(DataSetColumnSpec label:label selector:#ToBeDefined) afterIndex:selectedColumnIndex.
+ label := 'Column ', list size printString.
+ columns add:(DataSetColumnSpec label:label selector:nil) afterIndex:selectedColumnIndex.
self seqList add:label afterIndex:selectedColumnIndex.
hasChanged := true.
@@ -1504,15 +1429,17 @@
!
doCutColumn
- "remove selected column
- "
+ "remove selected column and put it to the clipboard"
+
|idx|
(idx := selectedColumnIndex) ~~ 0 ifTrue:[
self selectedColumnModel value:0.
+ self clipboard: (columns at: idx).
columns removeIndex:idx.
self seqList removeIndex:idx.
self updateColumnView.
+ columns isEmpty ifTrue: [self isColumnSelected value: false]
].
!
@@ -1650,6 +1577,24 @@
self updateColumnView.
!
+doPasteColumn
+ "paste clipboard copy column after selected column or at left (nothing selected)
+ "
+ |label list|
+
+ list := self seqList.
+ label := self class clipboard label.
+ columns add: self class clipboard deepCopy afterIndex:selectedColumnIndex.
+ self seqList add: label afterIndex:selectedColumnIndex.
+ hasChanged := true.
+
+ self modified ifFalse:[
+ self selectedColumnModel value:(selectedColumnIndex + 1)
+ ].
+ self updateColumnView.
+
+!
+
mainMenu
"this window spec was automatically generated by the UI Builder"
@@ -1658,6 +1603,30 @@
!
+menu
+ "this window spec was automatically generated by the UI Builder"
+
+ ^ self class menu
+
+
+!
+
+menuEdit
+ "this window spec was automatically generated by the UI Builder"
+
+ ^ self class menuEdit
+
+
+!
+
+menuToolbar
+ "this window spec was automatically generated by the UI Builder"
+
+ ^ self class menuToolbar
+
+
+!
+
subMenu
"this window spec was automatically generated by the UI Builder"
@@ -1713,18 +1682,11 @@
tabSelectionIndex == 0 ifTrue:[self tabModel value:1].
].
self modifiedChannel value:false.
- self isNotModified value:true.
isModified := false.
! !
!DataSetBuilder methodsFor:'aspects'!
-alignmentList
- ^ #( #left #right #center )
-
-
-!
-
aspectFor:aKey
"returns aspect for a key or nil
"
@@ -1750,11 +1712,11 @@
^ list
!
-isNotModified
+isColumnSelected
"returns a boolean value holder which is set to true if something is modified
and not accepted
"
- ^ builder valueAspectFor:#isNotModified initialValue:true
+ ^ builder valueAspectFor:#isColumnSelected initialValue: false
@@ -1842,12 +1804,6 @@
builder aspectAt:#tabModel put:holder.
].
^ holder
-!
-
-typeList
- "automatically generated by UIPainter ..."
-
- ^ #( string password number numberOrNil symbolOrNil )
! !
!DataSetBuilder methodsFor:'change & update'!
@@ -1858,7 +1814,7 @@
isModified ifFalse:[
isModified := hasChanged := true.
self modifiedChannel value:true.
- self isNotModified value:false.
+ "self isNotModified value:false. "
]
! !
@@ -2157,6 +2113,23 @@
!DataSetBuilder methodsFor:'private'!
+checkMenuItemModified
+ "check column modification"
+
+ self modifiedChannel value
+ ifTrue:
+ [
+ ((YesNoBox title:'Column was modified!!\Save it?\' withCRs)
+ noText:'No';
+ yesText:'Yes';
+ showAtPointer;
+ accepted) ifFalse: [self modifiedChannel value: false. ^true].
+ self accept
+ ].
+ ^true
+
+!
+
resolveClassNamed
"returns current class or nil
"
@@ -2207,6 +2180,7 @@
something == selectedColumnIndex ifFalse:[
selectedColumnIndex := something ? 0.
self cancel.
+ self isColumnSelected value: true
].
!
@@ -2238,6 +2212,18 @@
! !
+!DataSetBuilder methodsFor:'startup / release'!
+
+postBuildWith:builder
+
+ super postBuildWith:builder.
+
+ (builder componentAt: #columnView) selectConditionBlock: [:i|self checkMenuItemModified]
+
+
+
+! !
+
!DataSetBuilder class methodsFor:'documentation'!
version