DataSetBuilder.st
author ca
Wed, 15 Oct 1997 18:03:57 +0200
changeset 338 ea36cf31c084
parent 333 a2e23dea36bf
child 342 df086591eb11
permissions -rw-r--r--
add some help text
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     1
"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     2
 COPYRIGHT (c) 1997 by eXept Software AG / Claus Gittinger
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     3
              All Rights Reserved
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     4
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     5
 This software is furnished under a license and may be used
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
b895330fc7aa intitial checkin
ca
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    10
 hereby transferred.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    11
"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    12
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    13
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    14
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    15
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    16
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    17
ApplicationModel subclass:#DataSetBuilder
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    18
	instanceVariableNames:'className superclassName hasChanged columnView columns
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    19
		selectedColumnIndex tabSelectionIndex aspects isModified'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    20
	classVariableNames:'Number'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    21
	poolDictionaries:''
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    22
	category:'Interface-UIPainter'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    23
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    24
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    25
!DataSetBuilder class methodsFor:'documentation'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    26
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    27
copyright
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    28
"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    29
 COPYRIGHT (c) 1997 by eXept Software AG / Claus Gittinger
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    30
              All Rights Reserved
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    31
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    32
 This software is furnished under a license and may be used
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    33
 only in accordance with the terms of that license and with the
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    35
 be provided or otherwise made available to, or used by, any
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    36
 other person.  No title to or ownership of the software is
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    37
 hereby transferred.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    38
"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    39
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    40
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    41
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    42
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    43
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    44
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    45
documentation
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    46
"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    47
    create and modify or inspect dataset columns; used by UIPainter (DataSetColumnSpec)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    48
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    49
    [see also:]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    50
        DataSetColumnSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    51
        DataSetSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    52
        DataSetView
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    53
        DataSetColumn
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    54
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    55
    [author:]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    56
        Claus Atzkern
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    57
"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    58
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    59
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    60
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    61
!DataSetBuilder class methodsFor:'columns specs'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    62
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    63
basicsEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    64
    "this window spec was automatically generated by the ST/X UIPainter"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    65
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    66
    "do not manually edit this - the painter/builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    67
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    68
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    69
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    70
     UIPainter new openOnClass:DataSetBuilder andSelector:#basicsEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    71
     DataSetBuilder new openInterface:#basicsEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    72
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    73
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    74
    <resource: #canvas>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    75
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    76
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    77
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    78
       #(#FullSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    79
          #'window:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    80
           #(#WindowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    81
              #'name:' 'DataSet Basic'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    82
              #'layout:' #(#LayoutFrame 197 0 172 0 485 0 427 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    83
              #'label:' 'DataSet Basic'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    84
              #'min:' #(#Point 10 10)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    85
              #'max:' #(#Point 1280 1024)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    86
              #'bounds:' #(#Rectangle 197 172 486 428)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    87
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    88
          #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    89
           #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    90
              #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    91
               #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    92
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    93
                    #'name:' 'labelLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    94
                    #'layout:' #(#AlignmentOrigin 84 0 29 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    95
                    #'label:' 'Label:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    96
                    #'adjust:' #right
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    97
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    98
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
    99
                 #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   100
                    #'name:' 'labelField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   101
                    #'layout:' #(#LayoutFrame 86 0 20 0 -12 1.0 40 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   102
                    #'activeHelpKey:' #label
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   103
                    #'model:' #label
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   104
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   105
                 #(#FramedBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   106
                    #'name:' 'typesFrame'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   107
                    #'layout:' #(#LayoutFrame 0 0.0 51 0 0 1.0 131 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   108
                    #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   109
                     #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   110
                        #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   111
                         #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   112
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   113
                              #'name:' 'rendererLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   114
                              #'layout:' #(#AlignmentOrigin 84 0 26 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   115
                              #'label:' 'Renderer:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   116
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   117
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   118
                           #(#ComboListSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   119
                              #'name:' 'rendererField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   120
                              #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   121
                              #'activeHelpKey:' #rendererType
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   122
                              #'model:' #rendererType
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   123
                              #'comboList:' #rendererTypeList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   124
                              #'useIndex:' false
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   125
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   126
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   127
                              #'name:' 'editorLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   128
                              #'layout:' #(#AlignmentOrigin 84 0 50 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   129
                              #'label:' 'Editor:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   130
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   131
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   132
                           #(#ComboBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   133
                              #'name:' 'editorField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   134
                              #'layout:' #(#LayoutFrame 86 0 41 0 17 1.0 61 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   135
                              #'activeHelpKey:' #editorField
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   136
                              #'model:' #editorType
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   137
                              #'type:' #symbolOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   138
                              #'comboList:' #editorTypeList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   139
                              #'useIndex:' false
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   140
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   141
                        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   142
                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   143
                    #'label:' 'Types:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   144
                    #'labelPosition:' #topLeft
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   145
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   146
                 #(#FramedBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   147
                    #'name:' 'selectorsFrame'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   148
                    #'layout:' #(#LayoutFrame 0 0.0 143 0 0 1.0 245 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   149
                    #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   150
                     #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   151
                        #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   152
                         #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   153
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   154
                              #'name:' 'readLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   155
                              #'layout:' #(#AlignmentOrigin 84 0 25 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   156
                              #'label:' 'Read:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   157
                              #'adjust:' #right
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   158
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   159
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   160
                           #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   161
                              #'name:' 'readSelector'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   162
                              #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   163
                              #'activeHelpKey:' #readSelector
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   164
                              #'model:' #readSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   165
                              #'type:' #symbolOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   166
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   167
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   168
                              #'name:' 'menuLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   169
                              #'layout:' #(#AlignmentOrigin 84 0 51 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   170
                              #'label:' 'Menu:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   171
                              #'adjust:' #right
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   172
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   173
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   174
                           #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   175
                              #'name:' 'menuField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   176
                              #'layout:' #(#LayoutFrame 86 0 41 0 17 1.0 61 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   177
                              #'activeHelpKey:' #menuSelector
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   178
                              #'model:' #menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   179
                              #'type:' #symbolOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   180
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   181
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   182
                              #'name:' 'printLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   183
                              #'layout:' #(#AlignmentOrigin 84 0 75 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   184
                              #'label:' 'Print:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   185
                              #'adjust:' #right
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   186
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   187
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   188
                           #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   189
                              #'name:' 'printSelector'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   190
                              #'layout:' #(#LayoutFrame 86 0 66 0 17 1.0 86 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   191
                              #'activeHelpKey:' #printSelector
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   192
                              #'model:' #printSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   193
                              #'type:' #symbolOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   194
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   195
                        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   196
                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   197
                    #'label:' 'Selectors:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   198
                    #'labelPosition:' #topLeft
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   199
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   200
              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   201
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   202
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   203
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   204
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   205
detailsEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   206
    "this window spec was automatically generated by the ST/X UIPainter"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   207
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   208
    "do not manually edit this - the painter/builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   209
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   210
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   211
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   212
     UIPainter new openOnClass:DataSetBuilder andSelector:#detailsEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   213
     DataSetBuilder new openInterface:#detailsEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   214
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   215
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   216
    <resource: #canvas>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   217
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   218
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   219
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   220
       #(#FullSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   221
          #'window:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   222
           #(#WindowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   223
              #'name:' 'DataSet Details'
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   224
              #'layout:' #(#LayoutFrame 327 0 282 0 617 0 495 0)
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   225
              #'label:' 'DataSet Details'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   226
              #'min:' #(#Point 10 10)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   227
              #'max:' #(#Point 1280 1024)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   228
              #'bounds:' #(#Rectangle 327 282 618 496)
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   229
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   230
          #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   231
           #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   232
              #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   233
               #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   234
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   235
                    #'name:' 'textDescription'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   236
                    #'layout:' #(#Point 10 15)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   237
                    #'label:' 'Text Description:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   238
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   239
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   240
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   241
                    #'name:' 'formatLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   242
                    #'layout:' #(#AlignmentOrigin 83 0 47 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   243
                    #'label:' 'Format:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   244
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   245
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   246
                 #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   247
                    #'name:' 'formatField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   248
                    #'layout:' #(#LayoutFrame 87 0 37 0 -19 1.0 59 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   249
                    #'activeHelpKey:' #formatString
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   250
                    #'model:' #formatString
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   251
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   252
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   253
                    #'name:' 'inpFieldDescription'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   254
                    #'layout:' #(#Point 10 80)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   255
                    #'label:' 'InputField Description:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   256
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   257
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   258
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   259
                    #'name:' 'typeLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   260
                    #'layout:' #(#AlignmentOrigin 83 0 111 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   261
                    #'label:' 'Type:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   262
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   263
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   264
                 #(#ComboListSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   265
                    #'name:' 'typeCombo'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   266
                    #'layout:' #(#LayoutFrame 87 0 102 0 289 0 122 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   267
                    #'activeHelpKey:' #type
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   268
                    #'model:' #type
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   269
                    #'comboList:' #typeList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   270
                    #'useIndex:' false
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   271
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   272
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   273
                    #'name:' 'sizeLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   274
                    #'layout:' #(#AlignmentOrigin 83 0 136 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   275
                    #'label:' 'Size:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   276
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   277
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   278
                 #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   279
                    #'name:' 'sizeField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   280
                    #'layout:' #(#LayoutFrame 87 0 126 0 -19 1.0 148 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   281
                    #'activeHelpKey:' #size
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   282
                    #'model:' #size
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   283
                    #'type:' #numberOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   284
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   285
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   286
                    #'name:' 'choicesLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   287
                    #'layout:' #(#Point 10 165)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   288
                    #'label:' 'Choices:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   289
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   290
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   291
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   292
                    #'name:' 'selectorLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   293
                    #'layout:' #(#AlignmentOrigin 83 0 198 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   294
                    #'label:' 'Selector:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   295
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   296
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   297
                 #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   298
                    #'name:' 'choiceField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   299
                    #'layout:' #(#LayoutFrame 87 0 188 0 -19 1.0 210 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   300
                    #'activeHelpKey:' #choices
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   301
                    #'model:' #choices
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   302
                    #'type:' #symbolOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   303
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   304
              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   305
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   306
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   307
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   308
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   309
dimensionEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   310
    "this window spec was automatically generated by the ST/X UIPainter"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   311
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   312
    "do not manually edit this - the painter/builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   313
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   314
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   315
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   316
     UIPainter new openOnClass:DataSetBuilder andSelector:#dimensionEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   317
     DataSetBuilder new openInterface:#dimensionEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   318
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   319
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   320
    <resource: #canvas>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   321
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   322
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   323
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   324
       #(#FullSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   325
          #'window:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   326
           #(#WindowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   327
              #'name:' 'DataSet Dimension'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   328
              #'layout:' #(#LayoutFrame 197 0 172 0 487 0 385 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   329
              #'label:' 'DataSet Dimension'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   330
              #'min:' #(#Point 10 10)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   331
              #'max:' #(#Point 1280 1024)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   332
              #'bounds:' #(#Rectangle 197 172 488 386)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   333
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   334
          #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   335
           #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   336
              #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   337
               #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   338
                 #(#FramedBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   339
                    #'name:' 'columnWidthFrame'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   340
                    #'layout:' #(#LayoutFrame 0 0.0 20 0 0 1.0 107 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   341
                    #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   342
                     #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   343
                        #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   344
                         #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   345
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   346
                              #'name:' 'widthLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   347
                              #'layout:' #(#AlignmentOrigin 68 0.0 27 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   348
                              #'label:' 'width:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   349
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   350
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   351
                           #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   352
                              #'name:' 'widthField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   353
                              #'layout:' #(#LayoutFrame 70 0 17 0 0 1.0 39 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   354
                              #'activeHelpKey:' #width
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   355
                              #'model:' #width
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   356
                              #'type:' #numberOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   357
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   358
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   359
                              #'name:' 'minWidthLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   360
                              #'layout:' #(#AlignmentOrigin 68 0.0 56 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   361
                              #'label:' 'minWidth:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   362
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   363
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   364
                           #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   365
                              #'name:' 'minWidthField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   366
                              #'layout:' #(#LayoutFrame 70 0 46 0 0 1.0 68 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   367
                              #'activeHelpKey:' #minWidth
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   368
                              #'model:' #minWidth
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   369
                              #'type:' #numberOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   370
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   371
                        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   372
                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   373
                    #'label:' 'Column Width:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   374
                    #'labelPosition:' #topLeft
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   375
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   376
                 #(#FramedBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   377
                    #'name:' 'rowHeightFrame'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   378
                    #'layout:' #(#LayoutFrame 0 0.0 134 0 0 1.0 194 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   379
                    #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   380
                     #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   381
                        #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   382
                         #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   383
                           #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   384
                              #'name:' 'heightLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   385
                              #'layout:' #(#AlignmentOrigin 68 0.0 29 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   386
                              #'label:' 'height:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   387
                              #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   388
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   389
                           #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   390
                              #'name:' 'heightField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   391
                              #'layout:' #(#LayoutFrame 70 0 19 0 0 1.0 41 0)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   392
                              #'activeHelpKey:' #height
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   393
                              #'model:' #height
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   394
                              #'type:' #numberOrNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   395
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   396
                        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   397
                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   398
                    #'label:' 'Row Height:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   399
                    #'labelPosition:' #topLeft
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   400
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   401
              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   402
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   403
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   404
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   405
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   406
miscEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   407
    "this window spec was automatically generated by the ST/X UIPainter"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   408
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   409
    "do not manually edit this - the painter/builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   410
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   411
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   412
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   413
     UIPainter new openOnClass:DataSetBuilder andSelector:#miscEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   414
     DataSetBuilder new openInterface:#miscEditSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   415
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   416
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   417
    <resource: #canvas>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   418
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   419
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   420
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   421
       #(#FullSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   422
          #'window:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   423
           #(#WindowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   424
              #'name:' 'DataSet Misc'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   425
              #'layout:' #(#LayoutFrame 197 0 172 0 487 0 385 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   426
              #'label:' 'DataSet Misc'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   427
              #'min:' #(#Point 10 10)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   428
              #'max:' #(#Point 1280 1024)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   429
              #'bounds:' #(#Rectangle 197 172 488 386)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   430
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   431
          #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   432
           #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   433
              #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   434
               #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   435
                 #(#CheckBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   436
                    #'name:' 'canSelect'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   437
                    #'layout:' #(#Point 17 21)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   438
                    #'activeHelpKey:' #canSelect
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   439
                    #'model:' #canSelect
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   440
                    #'label:' 'Is Selectable'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   441
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   442
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   443
                    #'name:' 'separatorsLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   444
                    #'layout:' #(#AlignmentOrigin 84 0 154 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   445
                    #'label:' 'Separators:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   446
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   447
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   448
                 #(#CheckBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   449
                    #'name:' 'showRowSeparator'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   450
                    #'layout:' #(#AlignmentOrigin 86 0 156 0 0 0.5)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   451
                    #'activeHelpKey:' #showRowSeparator
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   452
                    #'model:' #showRowSeparator
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   453
                    #'label:' 'Show Row-Separator'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   454
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   455
                 #(#CheckBoxSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   456
                    #'name:' 'showColSeparator'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   457
                    #'layout:' #(#AlignmentOrigin 86 0 182 0 0 0.5)
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   458
                    #'activeHelpKey:' #showColumnSeparator
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   459
                    #'model:' #showColSeparator
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   460
                    #'label:' 'Show Column-Separator'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   461
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   462
              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   463
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   464
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   465
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   466
338
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   467
!DataSetBuilder class methodsFor:'help specs'!
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   468
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   469
helpSpec
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   470
    "return a dictionary filled with helpKey -> helptext associations.
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   471
     These are used by the activeHelp tool."
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   472
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   473
    "
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   474
    UIHelpTool openOnClass:DataSetBuilder    
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   475
    "
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   476
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   477
  ^ super helpSpec addPairsFrom:#(
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   478
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   479
#menuSelector
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   480
'a selector to access the middleButton menu or nil'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   481
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   482
#canSelect
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   483
'are cells in column selectable'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   484
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   485
#formatString
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   486
'string describing special formatting for an input field { #InputField #ComboBox #ComboList }.'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   487
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   488
#size
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   489
'max size of an InputField, ComboBox or ComboList. 0 or nil means unlimited.'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   490
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   491
#rendererType
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   492
'text description type: how the text should be shown in the cell'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   493
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   494
#minWidth
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   495
'makes sense if the width is set to 0 or nil. This is the minimum size required; no computation dependent on the contents. When resizing the view the column may grow or shrink to the minimum width.'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   496
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   497
#type
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   498
'a type converter symbol used by the input field'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   499
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   500
#label
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   501
'the label of the column'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   502
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   503
#choices
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   504
'selector to get the collection of choices for a #ComboBox or #ComboList (optional).'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   505
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   506
#showRowSeparator
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   507
'show or hide row separator (bottom horizontal separator)'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   508
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   509
#width
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   510
'the width of a fixed column; in case of nil or 0 the column width will be computed dependent on the contents.'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   511
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   512
#printSelector
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   513
'a selector with one argument the gc. Used to access a drawable display object (optional). In case of nil, the value derived from the readSelector is shown in the unselected cell.'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   514
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   515
#showColumnSeparator
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   516
'show or hide column separator (right vertical separator).'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   517
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   518
#height
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   519
'preferred height (optional)'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   520
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   521
#editorField
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   522
'type of visual editor (using default editors) or a selector, which will return an visual editor'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   523
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   524
#readSelector
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   525
'selector used to get and set a value'
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   526
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   527
)
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   528
! !
ea36cf31c084 add some help text
ca
parents: 333
diff changeset
   529
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   530
!DataSetBuilder class methodsFor:'images'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   531
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   532
iconCreateItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   533
    ^ MenuEditor iconCreateItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   534
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   535
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   536
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   537
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   538
!DataSetBuilder class methodsFor:'interface specs'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   539
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   540
defineClassNameSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   541
    "this window spec was automatically generated by the ST/X UIPainter"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   542
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   543
    "do not manually edit this - the painter/builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   544
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   545
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   546
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   547
     UIPainter new openOnClass:DataSetBuilder andSelector:#defineClassNameSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   548
     DataSetBuilder new openInterface:#defineClassNameSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   549
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   550
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   551
    <resource: #canvas>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   552
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   553
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   554
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   555
       #(#FullSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   556
          #'window:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   557
           #(#WindowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   558
              #'name:' 'Class Definition'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   559
              #'layout:' #(#LayoutFrame 76 0 249 0 401 0 378 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   560
              #'label:' 'Class Definition'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   561
              #'min:' #(#Point 10 10)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   562
              #'max:' #(#Point 1152 900)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   563
              #'bounds:' #(#Rectangle 76 249 402 379)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   564
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   565
          #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   566
           #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   567
              #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   568
               #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   569
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   570
                    #'name:' 'classLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   571
                    #'layout:' #(#AlignmentOrigin 50 0.11 50 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   572
                    #'label:' 'class:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   573
                    #'adjust:' #right
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   574
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   575
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   576
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   577
                    #'name:' 'superClassLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   578
                    #'layout:' #(#AlignmentOrigin 50 0.11 77 0 1 0.5)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   579
                    #'label:' 'superclass:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   580
                    #'adjust:' #right
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   581
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   582
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   583
                 #(#LabelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   584
                    #'name:' 'topLabel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   585
                    #'layout:' #(#Point 2 10)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   586
                    #'label:' 'class for code:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   587
                    #'adjust:' #left
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   588
                    #'resizeForLabel:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   589
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   590
                 #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   591
                    #'name:' 'classNameField'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   592
                    #'layout:' #(#LayoutFrame 51 0.11 39 0 -2 1.0 61 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   593
                    #'tabable:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   594
                    #'model:' #classNameChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   595
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   596
                 #(#HorizontalPanelViewSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   597
                    #'name:' 'commitPanel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   598
                    #'layout:' #(#LayoutFrame 2 0.0 -30 1.0 -2 1.0 -2 1.0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   599
                    #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   600
                     #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   601
                        #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   602
                         #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   603
                           #(#ActionButtonSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   604
                              #'name:' 'button1'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   605
                              #'label:' 'cancel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   606
                              #'tabable:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   607
                              #'model:' #cancel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   608
                              #'extent:' #(#Point 156 22)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   609
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   610
                           #(#ActionButtonSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   611
                              #'name:' 'button2'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   612
                              #'label:' 'ok'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   613
                              #'tabable:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   614
                              #'isDefault:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   615
                              #'model:' #accept
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   616
                              #'extent:' #(#Point 157 22)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   617
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   618
                        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   619
                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   620
                    #'horizontalLayout:' #fitSpace
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   621
                    #'verticalLayout:' #fitSpace
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   622
                    #'horizontalSpace:' 3
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   623
                    #'verticalSpace:' 3
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   624
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   625
                 #(#InputFieldSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   626
                    #'name:' 'inputField1'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   627
                    #'layout:' #(#LayoutFrame 51 0.11 67 0 -2 1.0 89 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   628
                    #'tabable:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   629
                    #'model:' #superclassNameChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   630
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   631
              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   632
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   633
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   634
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   635
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   636
slices
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   637
    ^  #(       (Basics         basicsEditSpec)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   638
                (Details        detailsEditSpec)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   639
                (Misc           miscEditSpec)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   640
                (Dimension      dimensionEditSpec)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   641
        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   642
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   643
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   644
windowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   645
    "this window spec was automatically generated by the ST/X UIPainter"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   646
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   647
    "do not manually edit this - the painter/builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   648
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   649
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   650
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   651
     UIPainter new openOnClass:DataSetBuilder andSelector:#windowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   652
     DataSetBuilder new openInterface:#windowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   653
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   654
    "DataSetBuilder open"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   655
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   656
    <resource: #canvas>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   657
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   658
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   659
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   660
       #(#FullSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   661
          #'window:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   662
           #(#WindowSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   663
              #'name:' 'unnamed canvas'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   664
              #'layout:' #(#LayoutFrame 197 0 172 0 668 0 512 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   665
              #'label:' 'unnamed canvas'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   666
              #'min:' #(#Point 10 10)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   667
              #'max:' #(#Point 1152 900)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   668
              #'bounds:' #(#Rectangle 197 172 669 513)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   669
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   670
          #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   671
           #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   672
              #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   673
               #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   674
                 #(#MenuPanelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   675
                    #'name:' 'mainMenu'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   676
                    #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 25 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   677
                    #'menu:' #mainMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   678
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   679
                 #(#VariableHorizontalPanelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   680
                    #'name:' 'VariablePanel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   681
                    #'layout:' #(#LayoutFrame 0 0.0 25 0.0 0 1.0 0 1.0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   682
                    #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   683
                     #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   684
                        #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   685
                         #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   686
                           #(#ViewSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   687
                              #'name:' 'labelsView'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   688
                              #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   689
                               #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   690
                                  #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   691
                                   #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   692
                                     #(#MenuPanelSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   693
                                        #'name:' 'subMenu'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   694
                                        #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 35 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   695
                                        #'menu:' #subMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   696
                                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   697
                                     #(#SequenceViewSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   698
                                        #'name:' 'columnView'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   699
                                        #'layout:' #(#LayoutFrame 0 0.0 35 0.0 0 1.0 0 1.0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   700
                                        #'model:' #selectedColumnModel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   701
                                        #'menu:' #columnMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   702
                                        #'hasVerticalScrollBar:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   703
                                        #'useIndex:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   704
                                        #'sequenceList:' #seqList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   705
                                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   706
                                  )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   707
                              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   708
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   709
                           #(#ViewSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   710
                              #'name:' 'specView'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   711
                              #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   712
                               #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   713
                                  #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   714
                                   #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   715
                                     #(#TabViewSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   716
                                        #'name:' 'tabView'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   717
                                        #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 35 0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   718
                                        #'model:' #tabModel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   719
                                        #'menu:' #tabList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   720
                                        #'useIndex:' true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   721
                                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   722
                                     #(#SubCanvasSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   723
                                        #'name:' 'specCanvas'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   724
                                        #'layout:' #(#LayoutFrame 0 0.0 35 0.0 0 1.0 -30 1.0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   725
                                        #'specHolder:' #specChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   726
                                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   727
                                     #(#HorizontalPanelViewSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   728
                                        #'name:' 'modifyPanel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   729
                                        #'layout:' #(#LayoutFrame 0 0.0 -30 1.0 0 1.0 0 1.0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   730
                                        #'component:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   731
                                         #(#SpecCollection
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   732
                                            #'collection:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   733
                                             #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   734
                                               #(#ActionButtonSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   735
                                                  #'name:' 'cancelButton'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   736
                                                  #'label:' 'cancel'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   737
                                                  #'model:' #cancel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   738
                                                  #'enableChannel:' #modifiedChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   739
                                                  #'extent:' #(#Point 150 24)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   740
                                              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   741
                                               #(#ActionButtonSpec
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   742
                                                  #'name:' 'acceptButton'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   743
                                                  #'label:' 'ok'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   744
                                                  #'model:' #accept
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   745
                                                  #'enableChannel:' #modifiedChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   746
                                                  #'extent:' #(#Point 151 24)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   747
                                              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   748
                                            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   749
                                        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   750
                                        #'horizontalLayout:' #fitSpace
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   751
                                        #'verticalLayout:' #fitSpace
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   752
                                        #'horizontalSpace:' 3
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   753
                                        #'verticalSpace:' 3
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   754
                                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   755
                                  )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   756
                              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   757
                              #'borderWidth:' 1
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   758
                          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   759
                        )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   760
                    )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   761
                    #'handles:' #(#Any 0.334746 1.0)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   762
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   763
              )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   764
          )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   765
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   766
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   767
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   768
!DataSetBuilder class methodsFor:'menu specs'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   769
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   770
columnMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   771
    "this window spec was automatically generated by the ST/X MenuEditor"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   772
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   773
    "do not manually edit this - the builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   774
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   775
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   776
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   777
     MenuEditor new openOnClass:DataSetBuilder andSelector:#columnMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   778
     (Menu new fromLiteralArrayEncoding:(DataSetBuilder columnMenu)) startUp
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   779
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   780
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   781
    <resource: #menu>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   782
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   783
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   784
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   785
       #(#Menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   786
          
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   787
           #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   788
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   789
                #'label:' 'cut'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   790
                #'value:' #doCutColumn
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   791
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   792
          ) nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   793
          nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   794
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   795
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   796
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   797
mainMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   798
    "this window spec was automatically generated by the ST/X MenuEditor"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   799
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   800
    "do not manually edit this - the builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   801
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   802
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   803
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   804
     MenuEditor new openOnClass:DataSetBuilder andSelector:#mainMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   805
     (Menu new fromLiteralArrayEncoding:(DataSetBuilder mainMenu)) startUp
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   806
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   807
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   808
    <resource: #menu>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   809
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   810
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   811
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   812
       #(#Menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   813
          
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   814
           #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   815
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   816
                #'label:' 'file'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   817
                #'submenu:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   818
                 #(#Menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   819
                    
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   820
                     #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   821
                       #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   822
                          #'label:' 'close'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   823
                          #'value:' #closeRequest
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   824
                      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   825
                    ) nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   826
                    nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   827
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   828
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   829
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   830
                #'label:' 'code'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   831
                #'submenu:' 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   832
                 #(#Menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   833
                    
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   834
                     #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   835
                       #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   836
                          #'label:' 'class'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   837
                          #'value:' #doDefineClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   838
                      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   839
                       #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   840
                          #'label:' 'generate code'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   841
                          #'value:' #doGenerateCode
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   842
                      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   843
                       #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   844
                          #'label:' '-'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   845
                      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   846
                       #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   847
                          #'label:' 'browse class'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   848
                          #'value:' #doBrowseClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   849
                      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   850
                    ) nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   851
                    nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   852
                )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   853
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   854
          ) nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   855
          nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   856
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   857
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   858
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   859
subMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   860
    "this window spec was automatically generated by the ST/X MenuEditor"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   861
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   862
    "do not manually edit this - the builder may not be able to
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   863
     handle the specification if its corrupted."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   864
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   865
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   866
     MenuEditor new openOnClass:DataSetBuilder andSelector:#subMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   867
     (Menu new fromLiteralArrayEncoding:(DataSetBuilder subMenu)) startUp
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   868
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   869
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   870
    <resource: #menu>
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   871
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   872
    ^
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   873
     
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   874
       #(#Menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   875
          
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   876
           #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   877
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   878
                #'label:' 'createColumn'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   879
                #'value:' #doCreateColumn
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   880
                #'enabled:' #isNotModified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   881
                #'labelImage:' #(#ResourceRetriever #MenuEditor #iconCreateItem)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   882
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   883
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   884
                #'label:' '-'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   885
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   886
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   887
                #'label:' ''
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   888
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   889
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   890
                #'label:' '-'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   891
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   892
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   893
                #'label:' 'stepUp'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   894
                #'value:' #'doMoveColumn:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   895
                #'enabled:' #isNotModified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   896
                #'argument:' #up
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   897
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconStepUp)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   898
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   899
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   900
                #'label:' '-'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   901
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   902
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   903
                #'label:' 'stepDown'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   904
                #'value:' #'doMoveColumn:'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   905
                #'enabled:' #notModified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   906
                #'argument:' #down
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   907
                #'labelImage:' #(#ResourceRetriever #UIPainter #iconStepDown)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   908
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   909
             #(#MenuItem
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   910
                #'label:' '-'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   911
            )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   912
          ) nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   913
          nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   914
      )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   915
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   916
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   917
!DataSetBuilder methodsFor:'accessing'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   918
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   919
columns
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   920
    "returns list of columns
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   921
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   922
    ^ columns
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   923
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   924
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   925
columns:aListOfColumns fromView:aColumnView
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   926
    "setup columns from a column view
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   927
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   928
    |list|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   929
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   930
    columnView := aColumnView.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   931
    columns    := OrderedCollection new.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   932
    list       := self seqList.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   933
    hasChanged := false.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   934
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   935
    list removeAll.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   936
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   937
    aListOfColumns size ~~ 0 ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   938
        aListOfColumns do:[:aCol|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   939
            columns add:(aCol copy).
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   940
            aCol rendererType == #rowSelector ifFalse:[list add:(aCol label)]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   941
                                               ifTrue:[list add:'Row Selector'].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   942
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   943
    ].
333
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   944
!
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   945
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   946
rowClassName
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   947
    ^ (Smalltalk resolveName:className inClass:self class) notNil ifTrue:[className] ifFalse:[nil]
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   948
!
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   949
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   950
rowClassName:aClassName
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   951
    |cls|
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   952
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   953
    superclassName := nil.
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   954
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   955
    (className := aClassName) notNil ifTrue:[
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   956
        (cls := self resolveClassNamed) notNil ifTrue:[
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   957
            superclassName := cls superclass name asString.
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   958
        ] ifFalse:[
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   959
            superclassName := 'Object'
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   960
        ]
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   961
    ]
a2e23dea36bf change className to rowClassName
ca
parents: 332
diff changeset
   962
332
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   963
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   964
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   965
!DataSetBuilder methodsFor:'accessing menu'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   966
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   967
columnMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   968
    "this window spec was automatically generated by the UI Builder"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   969
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   970
    ^ self class columnMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   971
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   972
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   973
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   974
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   975
doBrowseClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   976
    |cls|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   977
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   978
    (cls := self resolveClassNamed) notNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   979
        SystemBrowser openInClass:cls
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   980
    ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   981
        self information:'no class yet'.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   982
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   983
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   984
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   985
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   986
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   987
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   988
doCreateColumn
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   989
    "create a new column after selected column or at left (nothing selected)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   990
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   991
    |label list|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   992
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   993
    list := self seqList.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   994
    label := 'column ', list size printString.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   995
    columns add:(DataSetColumnSpec label:label selector:#ToBeDefined) afterIndex:selectedColumnIndex.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   996
    self seqList add:label afterIndex:selectedColumnIndex.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   997
    hasChanged := true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   998
b895330fc7aa intitial checkin
ca
parents:
diff changeset
   999
    self modified ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1000
        self selectedColumnModel value:(selectedColumnIndex + 1)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1001
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1002
    self updateColumnView.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1003
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1004
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1005
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1006
doCutColumn
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1007
    "remove selected column
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1008
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1009
    |idx|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1010
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1011
    (idx := selectedColumnIndex) ~~ 0 ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1012
        self selectedColumnModel value:0.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1013
        self seqList removeIndex:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1014
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1015
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1016
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1017
doDefineClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1018
    "launch a dialog to define class and superclass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1019
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1020
    |aspects cls oldClass oldSuper|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1021
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1022
    aspects  := IdentityDictionary new.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1023
    oldClass := className.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1024
    oldSuper := superclassName.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1025
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1026
    [true] whileTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1027
        className notNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1028
            (cls := self resolveClassNamed) notNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1029
                superclassName := cls superclass name asString.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1030
            ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1031
            aspects at:#classNameChannel put:className asValue
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1032
        ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1033
            aspects at:#classNameChannel put:'DSVRow' asValue
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1034
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1035
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1036
        superclassName notNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1037
            aspects at:#superclassNameChannel put:superclassName asValue
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1038
        ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1039
            aspects at:#superclassNameChannel put:'Object' asValue
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1040
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1041
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1042
        (self openDialogInterface:#defineClassNameSpec withBindings:aspects) ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1043
            className := oldClass.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1044
            superclassName := oldSuper.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1045
          ^ self
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1046
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1047
        className      := ((aspects at:#classNameChannel) value)      withoutSeparators.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1048
        superclassName := ((aspects at:#superclassNameChannel) value) withoutSeparators.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1049
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1050
        className size == 0 ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1051
            className := nil.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1052
            self information:'no valid className'.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1053
        ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1054
            cls := self resolveClassNamed.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1055
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1056
            cls notNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1057
                cls := cls superclass name asString
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1058
            ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1059
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1060
            superclassName size == 0 ifTrue:[        
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1061
                cls notNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1062
                    superclassName := cls
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1063
                ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1064
                    superclassName := 'Object'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1065
                ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1066
                self information:( 'set superclassName' ).
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1067
            ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1068
                (cls isNil or:[superclassName = cls]) ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1069
                    hasChanged := true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1070
                    ^ self
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1071
                ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1072
                self information:('a global named ' , className , ' exists,\' ,
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1073
                                  'but is not a subclass of ' , superclassName, '.\\' ,
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1074
                                  'Check and try again if that is not what you want.') withCRs.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1075
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1076
                superclassName := cls.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1077
            ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1078
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1079
    ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1080
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1081
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1082
doGenerateCode
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1083
    |cls superclass|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1084
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1085
    className isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1086
        ^ self information:'no class defined'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1087
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1088
    cls := self resolveClassNamed.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1089
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1090
    cls isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1091
        superclass := Smalltalk resolveName:superclassName inClass:self class.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1092
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1093
        superclass isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1094
            ^ self information:'no superclass defined'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1095
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1096
        (self confirm:'create ' , className , ' ?') ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1097
            ^ self
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1098
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1099
        cls := superclass subclass:(className asSymbol)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1100
                     instanceVariableNames:''
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1101
                     classVariableNames:''
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1102
                     poolDictionaries:''
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1103
                     category:'Applications'.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1104
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1105
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1106
    self generateChoicesIn:cls.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1107
    self generateMenuIn:cls.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1108
    self generatePrintSelectorIn:cls.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1109
    self generateReadSelectorIn:cls.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1110
    self generateWriteSelectorIn:cls.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1111
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1112
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1113
doMoveColumn:upOrDown
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1114
    "move selected column up or down
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1115
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1116
    |idx list label col size|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1117
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1118
    (idx := selectedColumnIndex) == 0 ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1119
        ^ self
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1120
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1121
    list := self seqList.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1122
    size := list size.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1123
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1124
    size == 1 ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1125
        ^ self
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1126
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1127
    hasChanged := true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1128
    selectedColumnIndex := 0.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1129
    label := list at:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1130
    col   := columns at:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1131
    list    removeIndex:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1132
    columns removeIndex:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1133
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1134
    upOrDown == #up ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1135
        idx == 1 ifTrue:[idx := size]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1136
                ifFalse:[idx := idx - 1]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1137
    ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1138
        idx == size ifTrue:[idx := 1]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1139
                   ifFalse:[idx := idx + 1]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1140
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1141
    columns add:col   beforeIndex:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1142
    list    add:label beforeIndex:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1143
    self selectedColumnModel value:idx.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1144
    self updateColumnView.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1145
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1146
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1147
mainMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1148
    "this window spec was automatically generated by the UI Builder"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1149
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1150
    ^ self class mainMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1151
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1152
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1153
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1154
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1155
subMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1156
    "this window spec was automatically generated by the UI Builder"
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1157
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1158
    ^ self class subMenu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1159
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1160
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1161
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1162
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1163
!DataSetBuilder methodsFor:'actions'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1164
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1165
accept
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1166
    "accept changes made
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1167
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1168
    |column type|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1169
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1170
    self modifiedChannel value == false ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1171
        ^ self
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1172
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1173
    isModified := true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1174
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1175
    (column := self selectedColumn) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1176
        ^ self cancel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1177
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1178
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1179
    type := (aspects at:#rendererType) value.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1180
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1181
    type == #rowSelector ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1182
        #( label width minWidth editorType choices readSelector printSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1183
           formatString type size height canSelect
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1184
         ) do:[:aKey| (aspects at:aKey) value:nil ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1185
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1186
        
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1187
    aspects keysAndValuesDo:[:aKey :aModel|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1188
        column perform:(aKey , ':') asSymbol with:(aModel value)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1189
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1190
    self seqList at:selectedColumnIndex put:((aspects at:#label) value).
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1191
    self updateColumnView.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1192
    self cancel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1193
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1194
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1195
cancel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1196
    "remove all changes and reload selected column
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1197
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1198
    |column|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1199
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1200
    isModified := true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1201
    (column := self selectedColumn) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1202
        self tabModel value:0.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1203
    ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1204
        aspects keysAndValuesDo:[:aKey :aModel|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1205
            aModel value:(column perform:aKey)
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1206
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1207
        tabSelectionIndex == 0 ifTrue:[self tabModel value:1].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1208
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1209
    self modifiedChannel value:false.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1210
    self isNotModified   value:true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1211
    isModified := false.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1212
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1213
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1214
!DataSetBuilder methodsFor:'aspects'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1215
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1216
aspectFor:aKey
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1217
    "returns aspect for a key or nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1218
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1219
  ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1220
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1221
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1222
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1223
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1224
editorTypeList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1225
    "generate list of supported editor types
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1226
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1227
    |list|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1228
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1229
    (list := builder bindingAt:#editorTypeList) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1230
        list := OrderedCollection new.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1231
        DataSetColumnSpec slices do:[:aSlice||type|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1232
            type := aSlice at:1.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1233
            (list includes:type) ifFalse:[list add:type].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1234
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1235
        builder aspectAt:#editorTypeList put:list.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1236
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1237
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1238
    ^ list
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1239
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1240
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1241
isNotModified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1242
    "returns a boolean value holder which is set to true if something is modified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1243
     and not accepted
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1244
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1245
    ^ builder valueAspectFor:#isNotModified initialValue:true
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1246
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1247
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1248
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1249
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1250
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1251
modifiedChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1252
    "returns a boolean value holder which is set to true if something is modified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1253
     and not accepted
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1254
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1255
    ^ builder booleanValueAspectFor:#modifiedChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1256
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1257
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1258
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1259
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1260
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1261
rendererTypeList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1262
    "generate list of supported renderer types
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1263
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1264
    |list|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1265
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1266
    (list := builder bindingAt:#rendererTypeList) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1267
        list := OrderedCollection new.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1268
        DataSetColumnSpec slices do:[:aSlice||type|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1269
            type := aSlice at:2.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1270
            (list includes:type) ifFalse:[list add:type].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1271
        ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1272
        builder aspectAt:#rendererTypeList put:list.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1273
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1274
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1275
    ^ list
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1276
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1277
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1278
selectedColumnModel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1279
    "automatically generated by UIPainter ..."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1280
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1281
    |holder|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1282
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1283
    (holder := builder bindingAt:#selectedColumnModel) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1284
        holder := AspectAdaptor new subject:self; forAspect:#selectedColumnIndex.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1285
        builder aspectAt:#selectedColumnModel put:holder.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1286
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1287
    ^ holder
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1288
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1289
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1290
seqList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1291
    "automatically generated by UIPainter ..."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1292
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1293
    |list|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1294
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1295
    (list := builder bindingAt:#seqList) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1296
        builder aspectAt:#seqList put:(list :=  List new).
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1297
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1298
    ^ list
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1299
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1300
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1301
specChannel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1302
    "automatically generated by UIPainter ..."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1303
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1304
    |holder|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1305
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1306
    (holder := builder bindingAt:#specChannel) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1307
        builder aspectAt:#specChannel put:(holder :=  ValueHolder new).
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1308
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1309
    ^ holder
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1310
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1311
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1312
tabList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1313
    "automatically generated by UIPainter ..."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1314
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1315
    ^ self class slices collect:[:aSlice| aSlice first ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1316
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1317
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1318
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1319
tabModel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1320
    "returns a value holder which keeps the index of the current selected tab or 0
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1321
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1322
    |holder|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1323
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1324
    (holder := builder bindingAt:#tabModel) isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1325
        holder := AspectAdaptor new subject:self; forAspect:#tabSelectionIndex.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1326
        builder aspectAt:#tabModel put:holder.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1327
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1328
    ^ holder
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1329
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1330
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1331
typeList
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1332
    "automatically generated by UIPainter ..."
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1333
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1334
    ^ #( string password number numberOrNil symbolOrNil )
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1335
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1336
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1337
!DataSetBuilder methodsFor:'change & update'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1338
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1339
update:something with:aParameter from:someObject
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1340
    "one of my aspects has changed; update modified channel
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1341
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1342
    isModified ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1343
        isModified := hasChanged := true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1344
        self modifiedChannel value:true.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1345
        self isNotModified   value:false.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1346
    ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1347
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1348
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1349
!DataSetBuilder methodsFor:'code generation'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1350
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1351
compile:aCode forClass:aClass inCategory:aCategory
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1352
    "compile method for class in a category
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1353
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1354
    ByteCodeCompiler compile:aCode withCRs forClass:aClass inCategory:aCategory
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1355
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1356
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1357
generateChoicesIn:aClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1358
    "generate code for #choices
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1359
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1360
    |sel catg code|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1361
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1362
    catg := 'accessing choices' asSymbol.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1363
    code :=   '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1364
            , '    "automatically generated by DataSetBuilder ..."\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1365
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1366
            , '    "get choices for visual editor; (a list of labels)\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1367
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1368
            , '    ^ nil'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1369
            .
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1370
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1371
    columns do:[:aColumn|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1372
        (     aColumn canSelect
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1373
         and:[aColumn rendererType ~~ #rowSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1374
         and:[(sel := aColumn choices) notNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1375
         and:[(aClass implements:sel) not]]]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1376
        ) ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1377
            self compile:(sel asString, code) forClass:aClass inCategory:catg
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1378
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1379
    ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1380
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1381
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1382
generateMenuIn:aClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1383
    "generate code for #menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1384
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1385
    |sel catg code|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1386
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1387
    catg := 'accessing menus' asSymbol.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1388
    code :=   '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1389
            , '    "automatically generated by DataSetBuilder ..."\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1390
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1391
            , '    "get middleButton menu for selected cell in column"\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1392
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1393
            , '    ^ nil'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1394
            .
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1395
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1396
    columns do:[:aColumn|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1397
        (     aColumn canSelect
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1398
         and:[(sel := aColumn menu) notNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1399
         and:[(aClass implements:sel) not]]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1400
        ) ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1401
            self compile:(sel asString, code) forClass:aClass inCategory:catg
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1402
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1403
    ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1404
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1405
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1406
generatePrintSelectorIn:aClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1407
    "generate code for #printSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1408
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1409
    |sel catg code|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1410
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1411
    catg := 'accessing printSelector' asSymbol.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1412
    code :=   'aGC\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1413
            , '    "automatically generated by DataSetBuilder ..."\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1414
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1415
            , '    "get drawable image or text on a gc"\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1416
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1417
            , '    ^ nil'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1418
            .
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1419
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1420
    columns do:[:aColumn|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1421
        (     aColumn rendererType ~~ #rowSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1422
         and:[(sel := aColumn printSelector) notNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1423
         and:[(aClass implements:sel) not]]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1424
        ) ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1425
            self compile:(sel asString, code) forClass:aClass inCategory:catg
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1426
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1427
    ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1428
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1429
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1430
generateReadSelectorIn:aClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1431
    "generate code for #readSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1432
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1433
    |sel catg code bCode|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1434
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1435
    catg := 'accessing readSelector' asSymbol.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1436
    code :=   '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1437
            , '    "automatically generated by DataSetBuilder ..."\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1438
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1439
            , '    "get value"\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1440
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1441
            .
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1442
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1443
    columns do:[:aColumn|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1444
        (     aColumn rendererType ~~ #rowSelector 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1445
         and:[(sel := aColumn readSelector) notNil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1446
         and:[(aClass implements:sel) not]]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1447
        ) ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1448
            (aColumn printSelector isNil or:[aColumn canSelect]) ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1449
                bCode := sel asString, code.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1450
                aColumn rendererType == #CheckToggle ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1451
                    bCode := bCode, '    ^ nil'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1452
                ] ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1453
                    bCode := bCode, '    ^ true'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1454
                ]. 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1455
                self compile:bCode forClass:aClass inCategory:catg
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1456
            ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1457
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1458
    ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1459
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1460
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1461
generateWriteSelectorIn:aClass
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1462
    "generate code for #writeSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1463
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1464
    |sel catg code|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1465
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1466
    catg := 'accessing writeSelector' asSymbol.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1467
    code :=   'aValue\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1468
            , '    "automatically generated by DataSetBuilder ..."\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1469
            , '\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1470
            , '    "set value"\'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1471
            .
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1472
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1473
    columns do:[:aColumn|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1474
        (     (sel := aColumn writeSelector) notNil 
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1475
         and:[(aClass implements:sel) not]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1476
        ) ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1477
            self compile:(sel asString, code) forClass:aClass inCategory:catg
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1478
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1479
    ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1480
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1481
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1482
!DataSetBuilder methodsFor:'initialization'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1483
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1484
initialize
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1485
    "setup aspects used by column description specifications
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1486
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1487
    |holder|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1488
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1489
    super initialize.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1490
    selectedColumnIndex := 0.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1491
    tabSelectionIndex   := 0.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1492
    columns := OrderedCollection new.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1493
    aspects := IdentityDictionary new.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1494
    hasChanged := false.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1495
    isModified := false.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1496
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1497
    #(
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1498
        label
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1499
        canSelect
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1500
        choices
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1501
        editorType
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1502
        formatString
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1503
        size
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1504
        type
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1505
        width
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1506
        minWidth
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1507
        height
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1508
        menu
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1509
        printSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1510
        readSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1511
        rendererType
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1512
        showColSeparator
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1513
        showRowSeparator
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1514
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1515
     ) do:[:aKey|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1516
        aspects at:aKey put:(holder := ValueHolder new).
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1517
        holder addDependent:self.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1518
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1519
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1520
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1521
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1522
!DataSetBuilder methodsFor:'private'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1523
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1524
resolveClassNamed
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1525
    "returns current class or nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1526
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1527
    ^ Smalltalk resolveName:className inClass:self class.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1528
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1529
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1530
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1531
updateColumnView
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1532
    "update column view from column descriptions
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1533
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1534
    columnView notNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1535
        columnView columnDescriptors:columns.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1536
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1537
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1538
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1539
!DataSetBuilder methodsFor:'queries'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1540
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1541
hasChanged
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1542
    "returns true if changes are done to the original column description
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1543
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1544
    ^ hasChanged
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1545
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1546
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1547
modified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1548
    "returns true if current specification is modified
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1549
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1550
    ^ self modifiedChannel value
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1551
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1552
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1553
!DataSetBuilder methodsFor:'selection'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1554
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1555
selectedColumn
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1556
    "returns selected column or nil
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1557
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1558
    ^ selectedColumnIndex == 0 ifFalse:[columns at:selectedColumnIndex]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1559
                                ifTrue:[nil]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1560
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1561
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1562
selectedColumnIndex
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1563
    "returns selected column index or 0
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1564
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1565
    ^ selectedColumnIndex
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1566
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1567
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1568
selectedColumnIndex:something
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1569
    "change selected column and update specifications
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1570
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1571
    something == selectedColumnIndex ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1572
        selectedColumnIndex := something ? 0.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1573
        self cancel.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1574
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1575
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1576
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1577
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1578
tabSelectionIndex
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1579
    "returns selected tab index or 0
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1580
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1581
    ^ tabSelectionIndex
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1582
!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1583
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1584
tabSelectionIndex:something
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1585
    "change selected tab and set corresponding specification
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1586
    "
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1587
    |specSelector|
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1588
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1589
    something == tabSelectionIndex ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1590
        ^ self
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1591
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1592
    self selectedColumn isNil ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1593
        tabSelectionIndex == 0 ifTrue:[^ self ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1594
        tabSelectionIndex := 0
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1595
    ] ifFalse:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1596
        (tabSelectionIndex := something) ~~ 0 ifTrue:[
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1597
            specSelector := (self class slices at:tabSelectionIndex) last.
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1598
        ]
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1599
    ].
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1600
    self specChannel value:specSelector
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1601
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1602
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1603
! !
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1604
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1605
!DataSetBuilder class methodsFor:'documentation'!
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1606
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1607
version
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1608
    ^ '$Header$'
b895330fc7aa intitial checkin
ca
parents:
diff changeset
  1609
! !