DataSetBuilder.st
changeset 408 9215eb553600
parent 391 5c7fa5484d14
child 409 6fbb954fdd75
equal deleted inserted replaced
407:578a7aaed19e 408:9215eb553600
    12 
    12 
    13 
    13 
    14 
    14 
    15 
    15 
    16 
    16 
    17 ApplicationModel subclass:#DataSetBuilder
    17 ToolApplicationModel subclass:#DataSetBuilder
    18 	instanceVariableNames:'className superclassName hasChanged columnView columns
    18 	instanceVariableNames:'className superclassName hasChanged columnView columns
    19 		selectedColumnIndex tabSelectionIndex aspects isModified'
    19 		selectedColumnIndex tabSelectionIndex aspects isModified'
    20 	classVariableNames:'Number'
    20 	classVariableNames:'Number'
    21 	poolDictionaries:''
    21 	poolDictionaries:''
    22 	category:'Interface-UIPainter'
    22 	category:'Interface-UIPainter'
    77      
    77      
    78        #(#FullSpec
    78        #(#FullSpec
    79           #'window:' 
    79           #'window:' 
    80            #(#WindowSpec
    80            #(#WindowSpec
    81               #'name:' 'DataSet Basic'
    81               #'name:' 'DataSet Basic'
    82               #'layout:' #(#LayoutFrame 219 0 193 0 507 0 448 0)
    82               #'layout:' #(#LayoutFrame 100 0 173 0 388 0 428 0)
    83               #'label:' 'DataSet Basic'
    83               #'label:' 'DataSet Basic'
    84               #'min:' #(#Point 10 10)
    84               #'min:' #(#Point 10 10)
    85               #'max:' #(#Point 1280 1024)
    85               #'max:' #(#Point 1280 1024)
    86               #'bounds:' #(#Rectangle 219 193 508 449)
    86               #'bounds:' #(#Rectangle 100 173 389 429)
    87               #'usePreferredExtent:' false
    87               #'usePreferredExtent:' false
    88           )
    88           )
    89           #'component:' 
    89           #'component:' 
    90            #(#SpecCollection
    90            #(#SpecCollection
    91               #'collection:' 
    91               #'collection:' 
    92                #(
    92                #(
    93                  #(#LabelSpec
       
    94                     #'name:' 'labelLabel'
       
    95                     #'layout:' #(#AlignmentOrigin 70 0 30 0 1 0.5)
       
    96                     #'label:' 'Label:'
       
    97                     #'adjust:' #right
       
    98                     #'resizeForLabel:' true
       
    99                 )
       
   100                  #(#InputFieldSpec
       
   101                     #'name:' 'labelField'
       
   102                     #'layout:' #(#LayoutFrame 74 0 22 0 -12 1.0 40 0)
       
   103                     #'activeHelpKey:' #label
       
   104                     #'model:' #label
       
   105                 )
       
   106                  #(#FramedBoxSpec
    93                  #(#FramedBoxSpec
   107                     #'name:' 'typesFrame'
    94                     #'name:' 'framedBox1'
   108                     #'layout:' #(#LayoutFrame 8 0.0 69 0 0 1.0 149 0)
    95                     #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 92 0)
   109                     #'component:' 
    96                     #'component:' 
   110                      #(#SpecCollection
    97                      #(#SpecCollection
   111                         #'collection:' 
    98                         #'collection:' 
   112                          #(
    99                          #(
   113                            #(#LabelSpec
   100                            #(#LabelSpec
       
   101                               #'name:' 'label1'
       
   102                               #'layout:' #(#AlignmentOrigin 107 0 31 0 1 0.5)
       
   103                               #'label:' 'Label:'
       
   104                               #'resizeForLabel:' true
       
   105                           )
       
   106                            #(#InputFieldSpec
       
   107                               #'name:' 'labelField'
       
   108                               #'layout:' #(#LayoutFrame 110 0 21 0 15 1.0 43 0)
       
   109                               #'activeHelpKey:' #label
       
   110                               #'model:' #label
       
   111                           )
       
   112                            #(#CheckBoxSpec
       
   113                               #'name:' 'labelIsImage'
       
   114                               #'layout:' #(#LayoutOrigin 107 0 47 0)
       
   115                               #'activeHelpKey:' #labelIsImage
       
   116                               #'model:' #labelIsImage
       
   117                               #'label:' 'Label Is Image'
       
   118                           )
       
   119                         )
       
   120                     )
       
   121                     #'label:' 'Header:'
       
   122                     #'labelPosition:' #topLeft
       
   123                 )
       
   124                  #(#FramedBoxSpec
       
   125                     #'name:' 'typesFrame'
       
   126                     #'layout:' #(#LayoutFrame 0 0.0 92 0 0 1.0 174 0)
       
   127                     #'component:' 
       
   128                      #(#SpecCollection
       
   129                         #'collection:' 
       
   130                          #(
       
   131                            #(#LabelSpec
   114                               #'name:' 'rendererLabel'
   132                               #'name:' 'rendererLabel'
   115                               #'layout:' #(#AlignmentOrigin 84 0 26 0 1 0.5)
   133                               #'layout:' #(#AlignmentOrigin 107 0 28 0 1 0.5)
   116                               #'label:' 'Renderer:'
   134                               #'label:' 'Renderer:'
   117                               #'resizeForLabel:' true
   135                               #'resizeForLabel:' true
   118                           )
   136                           )
   119                            #(#ComboListSpec
   137                            #(#ComboListSpec
   120                               #'name:' 'rendererField'
   138                               #'name:' 'rendererField'
   121                               #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
   139                               #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
   122                               #'activeHelpKey:' #rendererType
   140                               #'activeHelpKey:' #rendererType
   123                               #'model:' #rendererType
   141                               #'model:' #rendererType
   124                               #'comboList:' #rendererTypeList
   142                               #'comboList:' #rendererTypeList
   125                               #'useIndex:' false
   143                               #'useIndex:' false
   126                           )
   144                           )
   127                            #(#LabelSpec
   145                            #(#LabelSpec
   128                               #'name:' 'editorLabel'
   146                               #'name:' 'editorLabel'
   129                               #'layout:' #(#AlignmentOrigin 84 0 50 0 1 0.5)
   147                               #'layout:' #(#AlignmentOrigin 107 0 53 0 1 0.5)
   130                               #'label:' 'Editor:'
   148                               #'label:' 'Editor:'
   131                               #'resizeForLabel:' true
   149                               #'resizeForLabel:' true
   132                           )
   150                           )
   133                            #(#ComboBoxSpec
   151                            #(#ComboBoxSpec
   134                               #'name:' 'editorField'
   152                               #'name:' 'editorField'
   135                               #'layout:' #(#LayoutFrame 86 0 41 0 17 1.0 61 0)
   153                               #'layout:' #(#LayoutFrame 110 0 44 0 15 1.0 66 0)
   136                               #'activeHelpKey:' #editorField
   154                               #'activeHelpKey:' #editorField
   137                               #'model:' #editorType
   155                               #'model:' #editorType
   138                               #'type:' #symbolOrNil
   156                               #'type:' #symbolOrNil
   139                               #'comboList:' #editorTypeList
   157                               #'comboList:' #editorTypeList
   140                               #'useIndex:' false
   158                               #'useIndex:' false
   141                           )
   159                           )
   142                         )
   160                         )
   143                     )
   161                     )
   144                     #'label:' 'Types:'
   162                     #'label:' 'Cell Type:'
   145                     #'labelPosition:' #topLeft
   163                     #'labelPosition:' #topLeft
   146                 )
       
   147                  #(#CheckBoxSpec
       
   148                     #'name:' 'labelIsImage'
       
   149                     #'layout:' #(#LayoutOrigin 9 0 189 0)
       
   150                     #'activeHelpKey:' #labelIsImage
       
   151                     #'model:' #labelIsImage
       
   152                     #'label:' 'Label Is Image'
       
   153                 )
   164                 )
   154               )
   165               )
   155           )
   166           )
   156       )
   167       )
   157 !
   168 !
   158 
   169 
   159 cellEditSpec
   170 colorsEditSpec
   160     "this window spec was automatically generated by the ST/X UIPainter"
   171     "this window spec was automatically generated by the ST/X UIPainter"
   161 
   172 
   162     "do not manually edit this - the painter/builder may not be able to
   173     "do not manually edit this - the painter/builder may not be able to
   163      handle the specification if its corrupted."
   174      handle the specification if its corrupted."
   164 
   175 
   165     "
   176     "
   166      UIPainter new openOnClass:DataSetBuilder andSelector:#cellEditSpec
   177      UIPainter new openOnClass:DataSetBuilder andSelector:#colorsEditSpec
   167      DataSetBuilder new openInterface:#cellEditSpec
   178      DataSetBuilder new openInterface:#colorsEditSpec
   168     "
   179     "
   169 
   180 
   170     <resource: #canvas>
   181     <resource: #canvas>
   171 
   182 
   172     ^
   183     ^
   173      
   184      
   174        #(#FullSpec
   185        #(#FullSpec
   175           #'window:' 
   186           #'window:' 
   176            #(#WindowSpec
   187            #(#WindowSpec
   177               #'name:' 'DataSet Misc'
   188               #'name:' 'DataSet Misc'
   178               #'layout:' #(#LayoutFrame 219 0 193 0 496 0 423 0)
   189               #'layout:' #(#LayoutFrame 354 0 229 0 722 0 528 0)
   179               #'label:' 'DataSet Misc'
   190               #'label:' 'DataSet Misc'
   180               #'min:' #(#Point 10 10)
   191               #'min:' #(#Point 10 10)
   181               #'max:' #(#Point 1280 1024)
   192               #'max:' #(#Point 1280 1024)
   182               #'bounds:' #(#Rectangle 219 193 497 424)
   193               #'bounds:' #(#Rectangle 354 229 723 529)
   183               #'usePreferredExtent:' false
   194               #'usePreferredExtent:' false
   184           )
   195           )
   185           #'component:' 
   196           #'component:' 
   186            #(#SpecCollection
   197            #(#SpecCollection
   187               #'collection:' 
   198               #'collection:' 
   188                #(
   199                #(
   189                  #(#FramedBoxSpec
   200                  #(#FramedBoxSpec
   190                     #'name:' 'defaultColorsBox'
   201                     #'name:' 'defaultColorsBox'
   191                     #'layout:' #(#LayoutFrame 0 0.0 22 0 0 1.0 115 0)
   202                     #'layout:' #(#LayoutFrame 0 0.0 88 0 0 1.0 230 0)
   192                     #'component:' 
   203                     #'component:' 
   193                      #(#SpecCollection
   204                      #(#SpecCollection
   194                         #'collection:' 
   205                         #'collection:' 
   195                          #(
   206                          #(
   196                            #(#ColorMenuSpec
   207                            #(#ColorMenuSpec
   197                               #'name:' 'fgMenu'
   208                               #'name:' 'fgMenu'
   198                               #'layout:' #(#LayoutFrame 101 0 17 0 10 1.0 40 0)
   209                               #'layout:' #(#LayoutFrame 110 0 15 0 12 1.0 37 0)
   199                               #'activeHelpKey:' #foregroundColor
   210                               #'activeHelpKey:' #foregroundColor
   200                               #'model:' #foregroundColor
   211                               #'model:' #foregroundColor
   201                           )
   212                           )
   202                            #(#LabelSpec
   213                            #(#LabelSpec
   203                               #'name:' 'fgLabel'
   214                               #'name:' 'fgLabel'
   204                               #'layout:' #(#AlignmentOrigin 100 0 29 0 1 0.5)
   215                               #'layout:' #(#AlignmentOrigin 107 0 27 0 1 0.5)
   205                               #'label:' 'FG-Color:'
   216                               #'label:' 'Foreground:'
   206                               #'adjust:' #right
   217                               #'adjust:' #right
   207                               #'resizeForLabel:' true
   218                               #'resizeForLabel:' true
   208                           )
   219                           )
   209                            #(#LabelSpec
   220                            #(#LabelSpec
   210                               #'name:' 'bgLabel'
   221                               #'name:' 'bgLabel'
   211                               #'layout:' #(#AlignmentOrigin 100 0 63 0 1 0.5)
   222                               #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
   212                               #'label:' 'BG-Color:'
   223                               #'label:' 'Background:'
   213                               #'adjust:' #right
   224                               #'adjust:' #right
   214                               #'resizeForLabel:' true
   225                               #'resizeForLabel:' true
   215                           )
   226                           )
   216                            #(#ColorMenuSpec
   227                            #(#ColorMenuSpec
   217                               #'name:' 'bgMenu'
   228                               #'name:' 'bgMenu'
   218                               #'layout:' #(#LayoutFrame 101 0 52 0 10 1.0 75 0)
   229                               #'layout:' #(#LayoutFrame 110 0 43 0 12 1.0 65 0)
   219                               #'activeHelpKey:' #backgroundColor
   230                               #'activeHelpKey:' #backgroundColor
   220                               #'model:' #backgroundColor
   231                               #'model:' #backgroundColor
   221                           )
   232                           )
       
   233                            #(#LabelSpec
       
   234                               #'name:' 'fgSelLabel'
       
   235                               #'layout:' #(#AlignmentOrigin 107 0 89 0 1 0.5)
       
   236                               #'label:' 'FG-Selector:'
       
   237                               #'adjust:' #right
       
   238                               #'resizeForLabel:' true
       
   239                           )
       
   240                            #(#LabelSpec
       
   241                               #'name:' 'bgSelLabel'
       
   242                               #'layout:' #(#AlignmentOrigin 107 0 114 0 1 0.5)
       
   243                               #'label:' 'BG-Selector:'
       
   244                               #'adjust:' #right
       
   245                               #'resizeForLabel:' true
       
   246                           )
       
   247                            #(#InputFieldSpec
       
   248                               #'name:' 'bgSelField'
       
   249                               #'layout:' #(#LayoutFrame 110 0 103 0 15 1.0 125 0)
       
   250                               #'activeHelpKey:' #backgroundSelector
       
   251                               #'model:' #backgroundSelector
       
   252                               #'type:' #symbolOrNil
       
   253                           )
       
   254                            #(#InputFieldSpec
       
   255                               #'name:' 'fgSelField'
       
   256                               #'layout:' #(#LayoutFrame 110 0 78 0 15 1.0 100 0)
       
   257                               #'activeHelpKey:' #foregroundSelector
       
   258                               #'model:' #foregroundSelector
       
   259                               #'type:' #symbolOrNil
       
   260                           )
   222                         )
   261                         )
   223                     )
   262                     )
   224                     #'label:' 'Default Colors:'
   263                     #'label:' 'Cell Colors:'
   225                     #'labelPosition:' #topLeft
   264                     #'labelPosition:' #topLeft
   226                 )
   265                 )
   227                  #(#FramedBoxSpec
   266                  #(#FramedBoxSpec
   228                     #'name:' 'cellColorsBox'
   267                     #'name:' 'ColorsBox'
   229                     #'layout:' #(#LayoutFrame 0 0 127 0 0 1.0 226 0)
   268                     #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 88 0)
   230                     #'component:' 
   269                     #'component:' 
   231                      #(#SpecCollection
   270                      #(#SpecCollection
   232                         #'collection:' 
   271                         #'collection:' 
   233                          #(
   272                          #(
   234                            #(#LabelSpec
   273                            #(#ColorMenuSpec
   235                               #'name:' 'fgSelLabel'
   274                               #'name:' 'colorMenu1'
   236                               #'layout:' #(#AlignmentOrigin 100 0 32 0 1 0.5)
   275                               #'layout:' #(#LayoutFrame 110 0 15 0 12 1.0 37 0)
   237                               #'label:' 'FG-Color:'
   276                               #'activeHelpKey:' #foregroundColor
       
   277                               #'model:' #labelForegroundColor
       
   278                           )
       
   279                            #(#LabelSpec
       
   280                               #'name:' 'label1'
       
   281                               #'layout:' #(#AlignmentOrigin 107 0 27 0 1 0.5)
       
   282                               #'label:' 'Foreground:'
   238                               #'adjust:' #right
   283                               #'adjust:' #right
   239                               #'resizeForLabel:' true
   284                               #'resizeForLabel:' true
   240                           )
   285                           )
   241                            #(#InputFieldSpec
   286                            #(#LabelSpec
   242                               #'name:' 'fgSelField'
   287                               #'name:' 'label2'
   243                               #'layout:' #(#LayoutFrame 101 0 23 0 10 1.0 45 0)
   288                               #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
   244                               #'activeHelpKey:' #foregroundSelector
   289                               #'label:' 'Background:'
   245                               #'model:' #foregroundSelector
       
   246                               #'type:' #symbolOrNil
       
   247                           )
       
   248                            #(#LabelSpec
       
   249                               #'name:' 'bgSelLabel'
       
   250                               #'layout:' #(#AlignmentOrigin 100 0 66 0 1 0.5)
       
   251                               #'label:' 'BG-Color:'
       
   252                               #'adjust:' #right
   290                               #'adjust:' #right
   253                               #'resizeForLabel:' true
   291                               #'resizeForLabel:' true
   254                           )
   292                           )
   255                            #(#InputFieldSpec
   293                            #(#ColorMenuSpec
   256                               #'name:' 'bgSelField'
   294                               #'name:' 'colorMenu2'
   257                               #'layout:' #(#LayoutFrame 101 0 57 0 10 1.0 79 0)
   295                               #'layout:' #(#LayoutFrame 110 0 43 0 12 1.0 65 0)
   258                               #'activeHelpKey:' #backgroundSelector
   296                               #'activeHelpKey:' #backgroundColor
   259                               #'model:' #backgroundSelector
   297                               #'model:' #labelBackgroundColor
   260                               #'type:' #symbolOrNil
       
   261                           )
   298                           )
   262                         )
   299                         )
   263                     )
   300                     )
   264                     #'label:' 'Color Selectors (Cell):'
   301                     #'label:' 'Label Colors:'
   265                     #'labelPosition:' #topLeft
   302                     #'labelPosition:' #topLeft
   266                 )
   303                 )
   267               )
   304               )
   268           )
   305           )
   269       )
   306       )
   270 !
   307 !
   271 
   308 
   272 colorEditSpec
   309 formatEditSpec
   273     "this window spec was automatically generated by the ST/X UIPainter"
   310     "this window spec was automatically generated by the ST/X UIPainter"
   274 
   311 
   275     "do not manually edit this - the painter/builder may not be able to
   312     "do not manually edit this - the painter/builder may not be able to
   276      handle the specification if its corrupted."
   313      handle the specification if its corrupted."
   277 
   314 
   278     "
   315     "
   279      UIPainter new openOnClass:DataSetBuilder andSelector:#colorEditSpec
   316      UIPainter new openOnClass:DataSetBuilder andSelector:#formatEditSpec
   280      DataSetBuilder new openInterface:#colorEditSpec
   317      DataSetBuilder new openInterface:#formatEditSpec
   281     "
   318     "
   282 
   319 
   283     <resource: #canvas>
   320     <resource: #canvas>
   284 
   321 
   285     ^
   322     ^
   286      
   323      
   287        #(#FullSpec
   324        #(#FullSpec
   288           #'window:' 
   325           #'window:' 
   289            #(#WindowSpec
   326            #(#WindowSpec
   290               #'name:' 'DataSet Misc'
   327               #'name:' 'DataSet Details'
   291               #'layout:' #(#LayoutFrame 219 0 193 0 496 0 423 0)
   328               #'layout:' #(#LayoutFrame 54 0 445 0 441 0 736 0)
   292               #'label:' 'DataSet Misc'
   329               #'label:' 'DataSet Details'
   293               #'min:' #(#Point 10 10)
   330               #'min:' #(#Point 10 10)
   294               #'max:' #(#Point 1280 1024)
   331               #'max:' #(#Point 1280 1024)
   295               #'bounds:' #(#Rectangle 219 193 497 424)
   332               #'bounds:' #(#Rectangle 54 445 442 737)
   296               #'usePreferredExtent:' false
   333               #'usePreferredExtent:' false
   297           )
   334           )
   298           #'component:' 
   335           #'component:' 
   299            #(#SpecCollection
   336            #(#SpecCollection
   300               #'collection:' 
   337               #'collection:' 
   301                #(
   338                #(
   302                  #(#FramedBoxSpec
   339                  #(#FramedBoxSpec
   303                     #'name:' 'defaultColorsBox'
   340                     #'name:' 'framedBox1'
   304                     #'layout:' #(#LayoutFrame 0 0.0 22 0 0 1.0 121 0)
   341                     #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 87 0)
   305                     #'component:' 
   342                     #'component:' 
   306                      #(#SpecCollection
   343                      #(#SpecCollection
   307                         #'collection:' 
   344                         #'collection:' 
   308                          #(
   345                          #(
   309                            #(#ColorMenuSpec
   346                            #(#LabelSpec
   310                               #'name:' 'fgMenu'
   347                               #'name:' 'typeLabel'
   311                               #'layout:' #(#LayoutFrame 101 0 17 0 10 1.0 45 0)
   348                               #'layout:' #(#AlignmentOrigin 107 0 26 0 1 0.5)
   312                               #'activeHelpKey:' #foregroundColor
   349                               #'label:' 'Input Type:'
   313                               #'model:' #foregroundColor
   350                               #'resizeForLabel:' true
   314                           )
   351                           )
   315                            #(#LabelSpec
   352                            #(#LabelSpec
   316                               #'name:' 'fgLabel'
   353                               #'name:' 'sizeLabel'
   317                               #'layout:' #(#AlignmentOrigin 100 0 32 0 1 0.5)
   354                               #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
   318                               #'label:' 'FG-Color:'
   355                               #'label:' 'Max Size:'
   319                               #'adjust:' #right
   356                               #'resizeForLabel:' true
   320                               #'resizeForLabel:' true
   357                           )
   321                           )
   358                            #(#InputFieldSpec
   322                            #(#LabelSpec
   359                               #'name:' 'sizeField'
   323                               #'name:' 'bgLabel'
   360                               #'layout:' #(#LayoutFrame 110 0 44 0 15 1.0 66 0)
   324                               #'layout:' #(#AlignmentOrigin 100 0 66 0 1 0.5)
   361                               #'activeHelpKey:' #size
   325                               #'label:' 'BG-Color:'
   362                               #'model:' #size
   326                               #'adjust:' #right
   363                               #'type:' #numberOrNil
   327                               #'resizeForLabel:' true
   364                           )
   328                           )
   365                            #(#ComboListSpec
   329                            #(#ColorMenuSpec
   366                               #'name:' 'typeCombo'
   330                               #'name:' 'bgMenu'
   367                               #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
   331                               #'layout:' #(#LayoutFrame 101 0 52 0 10 1.0 80 0)
   368                               #'activeHelpKey:' #type
   332                               #'activeHelpKey:' #backgroundColor
   369                               #'model:' #type
   333                               #'model:' #backgroundColor
   370                               #'comboList:' 
       
   371                                #(#string
       
   372                                   #password #number
       
   373                                   #numberOrNil #symbolOrNil
       
   374                               )
       
   375                               #'useIndex:' false
   334                           )
   376                           )
   335                         )
   377                         )
   336                     )
   378                     )
   337                     #'label:' 'Default Colors:'
   379                     #'label:' 'Input Format'
   338                     #'labelPosition:' #topLeft
   380                     #'labelPosition:' #topLeft
   339                 )
   381                 )
   340                  #(#FramedBoxSpec
   382                  #(#FramedBoxSpec
   341                     #'name:' 'cellColorsBox'
   383                     #'name:' 'framedBox2'
   342                     #'layout:' #(#LayoutFrame 0 0 127 0 0 1.0 226 0)
   384                     #'layout:' #(#LayoutFrame 0 0.0 87 0 0 1.0 175 0)
   343                     #'component:' 
   385                     #'component:' 
   344                      #(#SpecCollection
   386                      #(#SpecCollection
   345                         #'collection:' 
   387                         #'collection:' 
   346                          #(
   388                          #(
   347                            #(#LabelSpec
   389                            #(#LabelSpec
   348                               #'name:' 'fgSelLabel'
   390                               #'name:' 'formatLabel'
   349                               #'layout:' #(#AlignmentOrigin 100 0 32 0 1 0.5)
   391                               #'layout:' #(#AlignmentOrigin 107 0 55 0 1 0.5)
   350                               #'label:' 'FG-Color:'
   392                               #'label:' 'Text Format:'
   351                               #'adjust:' #right
   393                               #'resizeForLabel:' true
   352                               #'resizeForLabel:' true
   394                           )
       
   395                            #(#LabelSpec
       
   396                               #'name:' 'JustificationLabel'
       
   397                               #'layout:' #(#LayoutOrigin 35 0 21 0)
       
   398                               #'label:' 'Justification:'
       
   399                               #'adjust:' #left
       
   400                               #'resizeForLabel:' true
       
   401                           )
       
   402                            #(#PopUpListSpec
       
   403                               #'name:' 'Alignment'
       
   404                               #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
       
   405                               #'label:' 'Alignment'
       
   406                               #'model:' #labelAlignment
       
   407                               #'menu:' 
       
   408                                #(#left
       
   409                                   #right #center
       
   410                               )
       
   411                               #'useIndex:' false
   353                           )
   412                           )
   354                            #(#InputFieldSpec
   413                            #(#InputFieldSpec
   355                               #'name:' 'fgSelField'
   414                               #'name:' 'formatField'
   356                               #'layout:' #(#LayoutFrame 101 0 23 0 10 1.0 45 0)
   415                               #'layout:' #(#LayoutFrame 110 0 45 0 15 1.0 67 0)
   357                               #'model:' #foregroundSelector
   416                               #'activeHelpKey:' #formatString
   358                               #'activeHelpKey:' #foregroundSelector
   417                               #'model:' #formatString
   359                               #'type:' #symbolOrNil
       
   360                           )
       
   361                            #(#LabelSpec
       
   362                               #'name:' 'bgSelLabel'
       
   363                               #'layout:' #(#AlignmentOrigin 100 0 66 0 1 0.5)
       
   364                               #'label:' 'BG-Color:'
       
   365                               #'adjust:' #right
       
   366                               #'resizeForLabel:' true
       
   367                           )
       
   368                            #(#InputFieldSpec
       
   369                               #'name:' 'bgSelField'
       
   370                               #'layout:' #(#LayoutFrame 101 0 57 0 10 1.0 79 0)
       
   371                               #'model:' #backgroundSelector
       
   372                               #'activeHelpKey:' #backgroundSelector
       
   373                               #'type:' #symbolOrNil
       
   374                           )
   418                           )
   375                         )
   419                         )
   376                     )
   420                     )
   377                     #'label:' 'Color Selectors (Cell):'
   421                     #'label:' 'Output Format'
   378                     #'labelPosition:' #topLeft
   422                     #'labelPosition:' #topLeft
   379                 )
   423                 )
   380               )
   424               )
   381           )
   425           )
   382       )
   426       )
   383 !
   427 !
   384 
   428 
   385 detailsEditSpec
   429 frameEditSpec
   386     "this window spec was automatically generated by the ST/X UIPainter"
   430     "this window spec was automatically generated by the ST/X UIPainter"
   387 
   431 
   388     "do not manually edit this - the painter/builder may not be able to
   432     "do not manually edit this - the painter/builder may not be able to
   389      handle the specification if its corrupted."
   433      handle the specification if its corrupted."
   390 
   434 
   391     "
   435     "
   392      UIPainter new openOnClass:DataSetBuilder andSelector:#detailsEditSpec
   436      UIPainter new openOnClass:DataSetBuilder andSelector:#frameEditSpec
   393      DataSetBuilder new openInterface:#detailsEditSpec
   437      DataSetBuilder new openInterface:#frameEditSpec
   394     "
   438     "
   395 
   439 
   396     <resource: #canvas>
   440     <resource: #canvas>
   397 
   441 
   398     ^
   442     ^
   399      
   443      
   400        #(#FullSpec
   444        #(#FullSpec
   401           #'window:' 
   445           #'window:' 
   402            #(#WindowSpec
   446            #(#WindowSpec
   403               #'name:' 'DataSet Basic'
   447               #'name:' 'DataSet Dimension'
   404               #'layout:' #(#LayoutFrame 219 0 193 0 507 0 448 0)
   448               #'layout:' #(#LayoutFrame 442 0 269 0 732 0 482 0)
   405               #'label:' 'DataSet Basic'
   449               #'label:' 'DataSet Dimension'
   406               #'min:' #(#Point 10 10)
   450               #'min:' #(#Point 10 10)
   407               #'max:' #(#Point 1280 1024)
   451               #'max:' #(#Point 1280 1024)
   408               #'bounds:' #(#Rectangle 219 193 508 449)
   452               #'bounds:' #(#Rectangle 442 269 733 483)
   409               #'usePreferredExtent:' false
   453               #'usePreferredExtent:' false
   410           )
   454           )
   411           #'component:' 
   455           #'component:' 
   412            #(#SpecCollection
   456            #(#SpecCollection
   413               #'collection:' 
   457               #'collection:' 
   414                #(
   458                #(
   415                  #(#FramedBoxSpec
   459                  #(#FramedBoxSpec
   416                     #'name:' 'selectionBox'
       
   417                     #'layout:' #(#LayoutFrame 0 0.0 20 0 0 1.0 101 0)
       
   418                     #'component:' 
       
   419                      #(#SpecCollection
       
   420                         #'collection:' 
       
   421                          #(
       
   422                            #(#CheckBoxSpec
       
   423                               #'name:' 'canSelect'
       
   424                               #'layout:' #(#Point 83 15)
       
   425                               #'activeHelpKey:' #canSelect
       
   426                               #'model:' #canSelect
       
   427                               #'label:' 'Is Selectable'
       
   428                           )
       
   429                            #(#LabelSpec
       
   430                               #'name:' 'selectorLabel'
       
   431                               #'layout:' #(#AlignmentOrigin 84 0 51 0 1 0.5)
       
   432                               #'label:' 'Selector:'
       
   433                               #'adjust:' #right
       
   434                               #'resizeForLabel:' true
       
   435                           )
       
   436                            #(#InputFieldSpec
       
   437                               #'name:' 'selectSelector'
       
   438                               #'layout:' #(#LayoutFrame 86 0 42 0 17 1.0 62 0)
       
   439                               #'activeHelpKey:' #selectSelector
       
   440                               #'model:' #selectSelector
       
   441                               #'type:' #symbolOrNil
       
   442                           )
       
   443                         )
       
   444                     )
       
   445                     #'label:' 'Selection:'
       
   446                     #'labelPosition:' #topLeft
       
   447                 )
       
   448                  #(#FramedBoxSpec
       
   449                     #'name:' 'separatorBox'
   460                     #'name:' 'separatorBox'
   450                     #'layout:' #(#LayoutFrame 0 0.0 131 0 0 1.0 217 0)
   461                     #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 86 0)
   451                     #'component:' 
   462                     #'component:' 
   452                      #(#SpecCollection
   463                      #(#SpecCollection
   453                         #'collection:' 
   464                         #'collection:' 
   454                          #(
   465                          #(
   455                            #(#CheckBoxSpec
   466                            #(#CheckBoxSpec
   456                               #'name:' 'showRowSeparator'
   467                               #'name:' 'showRowSeparator'
   457                               #'layout:' #(#AlignmentOrigin 39 0 30 0 0 0.5)
   468                               #'layout:' #(#LayoutFrame 18 0 19 0 194 0 42 0)
   458                               #'activeHelpKey:' #showRowSeparator
   469                               #'activeHelpKey:' #showRowSeparator
   459                               #'model:' #showRowSeparator
   470                               #'model:' #showRowSeparator
   460                               #'label:' 'Show Row-Separator'
   471                               #'label:' 'Show Row-Separator'
   461                           )
   472                           )
   462                            #(#CheckBoxSpec
   473                            #(#CheckBoxSpec
   463                               #'name:' 'showColSeparator'
   474                               #'name:' 'showColSeparator'
   464                               #'layout:' #(#AlignmentOrigin 39 0 56 0 0 0.5)
   475                               #'layout:' #(#LayoutFrame 18 0 45 0 194 0 68 0)
   465                               #'activeHelpKey:' #showColumnSeparator
   476                               #'activeHelpKey:' #showColumnSeparator
   466                               #'model:' #showColSeparator
   477                               #'model:' #showColSeparator
   467                               #'label:' 'Show Column-Separator'
   478                               #'label:' 'Show Column-Separator'
   468                           )
   479                           )
   469                         )
   480                         )
   470                     )
   481                     )
   471                     #'label:' 'Separators'
   482                     #'label:' 'Separators'
   472                     #'labelPosition:' #topLeft
   483                     #'labelPosition:' #topLeft
   473                 )
   484                 )
       
   485                  #(#FramedBoxSpec
       
   486                     #'name:' 'framedBox1'
       
   487                     #'layout:' #(#LayoutFrame 0 0.0 86 0 0 1.0 198 0)
       
   488                     #'component:' 
       
   489                      #(#SpecCollection
       
   490                         #'collection:' 
       
   491                          #(
       
   492                            #(#InputFieldSpec
       
   493                               #'name:' 'heightField'
       
   494                               #'layout:' #(#LayoutFrame 110 0 73 0 15 1.0 95 0)
       
   495                               #'activeHelpKey:' #height
       
   496                               #'model:' #height
       
   497                               #'type:' #numberOrNil
       
   498                           )
       
   499                            #(#LabelSpec
       
   500                               #'name:' 'heightLabel'
       
   501                               #'layout:' #(#LayoutFrame 10 0.0 76 0 107 0.0 93 0)
       
   502                               #'label:' 'Row Height:'
       
   503                               #'adjust:' #right
       
   504                               #'resizeForLabel:' true
       
   505                           )
       
   506                            #(#LabelSpec
       
   507                               #'name:' 'minWidthLabel'
       
   508                               #'layout:' #(#LayoutFrame 10 0.0 45 0 107 0.0 62 0)
       
   509                               #'label:' 'Min Width:'
       
   510                               #'adjust:' #right
       
   511                               #'resizeForLabel:' true
       
   512                           )
       
   513                            #(#InputFieldSpec
       
   514                               #'name:' 'minWidthField'
       
   515                               #'layout:' #(#LayoutFrame 110 0 42 0 15 1.0 64 0)
       
   516                               #'activeHelpKey:' #minWidth
       
   517                               #'model:' #minWidth
       
   518                               #'type:' #numberOrNil
       
   519                           )
       
   520                            #(#LabelSpec
       
   521                               #'name:' 'widthLabel'
       
   522                               #'layout:' #(#LayoutFrame 10 0.0 20 0 107 0.0 37 0)
       
   523                               #'label:' 'Column Width:'
       
   524                               #'adjust:' #right
       
   525                               #'resizeForLabel:' true
       
   526                           )
       
   527                            #(#InputFieldSpec
       
   528                               #'name:' 'widthField'
       
   529                               #'layout:' #(#LayoutFrame 110 0 17 0 15 1.0 39 0)
       
   530                               #'activeHelpKey:' #width
       
   531                               #'model:' #width
       
   532                               #'type:' #numberOrNil
       
   533                           )
       
   534                         )
       
   535                     )
       
   536                     #'label:' 'Dimensions:'
       
   537                     #'labelPosition:' #topLeft
       
   538                 )
   474               )
   539               )
   475           )
   540           )
   476       )
   541       )
   477 !
   542 !
   478 
   543 
   479 dimensionEditSpec
   544 selectionEditSpec
   480     "this window spec was automatically generated by the ST/X UIPainter"
   545     "this window spec was automatically generated by the ST/X UIPainter"
   481 
   546 
   482     "do not manually edit this - the painter/builder may not be able to
   547     "do not manually edit this - the painter/builder may not be able to
   483      handle the specification if its corrupted."
   548      handle the specification if its corrupted."
   484 
   549 
   485     "
   550     "
   486      UIPainter new openOnClass:DataSetBuilder andSelector:#dimensionEditSpec
   551      UIPainter new openOnClass:DataSetBuilder andSelector:#selectionEditSpec
   487      DataSetBuilder new openInterface:#dimensionEditSpec
   552      DataSetBuilder new openInterface:#selectionEditSpec
   488     "
   553     "
   489 
   554 
   490     <resource: #canvas>
   555     <resource: #canvas>
   491 
   556 
   492     ^
   557     ^
   493      
   558      
   494        #(#FullSpec
   559        #(#FullSpec
   495           #'window:' 
   560           #'window:' 
   496            #(#WindowSpec
   561            #(#WindowSpec
   497               #'name:' 'DataSet Dimension'
   562               #'name:' 'DataSet Basic'
   498               #'layout:' #(#LayoutFrame 197 0 172 0 487 0 385 0)
   563               #'layout:' #(#LayoutFrame 414 0 196 0 702 0 451 0)
   499               #'label:' 'DataSet Dimension'
   564               #'label:' 'DataSet Basic'
   500               #'min:' #(#Point 10 10)
   565               #'min:' #(#Point 10 10)
   501               #'max:' #(#Point 1280 1024)
   566               #'max:' #(#Point 1280 1024)
   502               #'bounds:' #(#Rectangle 197 172 488 386)
   567               #'bounds:' #(#Rectangle 414 196 703 452)
   503           )
       
   504           #'component:' 
       
   505            #(#SpecCollection
       
   506               #'collection:' 
       
   507                #(
       
   508                  #(#FramedBoxSpec
       
   509                     #'name:' 'columnWidthFrame'
       
   510                     #'layout:' #(#LayoutFrame 0 0.0 20 0 0 1.0 107 0)
       
   511                     #'component:' 
       
   512                      #(#SpecCollection
       
   513                         #'collection:' 
       
   514                          #(
       
   515                            #(#LabelSpec
       
   516                               #'name:' 'widthLabel'
       
   517                               #'layout:' #(#AlignmentOrigin 68 0.0 27 0 1 0.5)
       
   518                               #'label:' 'width:'
       
   519                               #'resizeForLabel:' true
       
   520                           )
       
   521                            #(#InputFieldSpec
       
   522                               #'name:' 'widthField'
       
   523                               #'layout:' #(#LayoutFrame 70 0 17 0 0 1.0 39 0)
       
   524                               #'activeHelpKey:' #width
       
   525                               #'model:' #width
       
   526                               #'type:' #numberOrNil
       
   527                           )
       
   528                            #(#LabelSpec
       
   529                               #'name:' 'minWidthLabel'
       
   530                               #'layout:' #(#AlignmentOrigin 68 0.0 56 0 1 0.5)
       
   531                               #'label:' 'minWidth:'
       
   532                               #'resizeForLabel:' true
       
   533                           )
       
   534                            #(#InputFieldSpec
       
   535                               #'name:' 'minWidthField'
       
   536                               #'layout:' #(#LayoutFrame 70 0 46 0 0 1.0 68 0)
       
   537                               #'activeHelpKey:' #minWidth
       
   538                               #'model:' #minWidth
       
   539                               #'type:' #numberOrNil
       
   540                           )
       
   541                         )
       
   542                     )
       
   543                     #'label:' 'Column Width:'
       
   544                     #'labelPosition:' #topLeft
       
   545                 )
       
   546                  #(#FramedBoxSpec
       
   547                     #'name:' 'rowHeightFrame'
       
   548                     #'layout:' #(#LayoutFrame 0 0.0 134 0 0 1.0 194 0)
       
   549                     #'component:' 
       
   550                      #(#SpecCollection
       
   551                         #'collection:' 
       
   552                          #(
       
   553                            #(#LabelSpec
       
   554                               #'name:' 'heightLabel'
       
   555                               #'layout:' #(#AlignmentOrigin 68 0.0 29 0 1 0.5)
       
   556                               #'label:' 'height:'
       
   557                               #'resizeForLabel:' true
       
   558                           )
       
   559                            #(#InputFieldSpec
       
   560                               #'name:' 'heightField'
       
   561                               #'layout:' #(#LayoutFrame 70 0 19 0 0 1.0 41 0)
       
   562                               #'activeHelpKey:' #height
       
   563                               #'model:' #height
       
   564                               #'type:' #numberOrNil
       
   565                           )
       
   566                         )
       
   567                     )
       
   568                     #'label:' 'Row Height:'
       
   569                     #'labelPosition:' #topLeft
       
   570                 )
       
   571               )
       
   572           )
       
   573       )
       
   574 !
       
   575 
       
   576 formatEditSpec
       
   577     "this window spec was automatically generated by the ST/X UIPainter"
       
   578 
       
   579     "do not manually edit this - the painter/builder may not be able to
       
   580      handle the specification if its corrupted."
       
   581 
       
   582     "
       
   583      UIPainter new openOnClass:DataSetBuilder andSelector:#formatEditSpec
       
   584      DataSetBuilder new openInterface:#formatEditSpec
       
   585     "
       
   586 
       
   587     <resource: #canvas>
       
   588 
       
   589     ^
       
   590      
       
   591        #(#FullSpec
       
   592           #'window:' 
       
   593            #(#WindowSpec
       
   594               #'name:' 'DataSet Details'
       
   595               #'layout:' #(#LayoutFrame 219 0 193 0 509 0 406 0)
       
   596               #'label:' 'DataSet Details'
       
   597               #'min:' #(#Point 10 10)
       
   598               #'max:' #(#Point 1280 1024)
       
   599               #'bounds:' #(#Rectangle 219 193 510 407)
       
   600               #'usePreferredExtent:' false
       
   601           )
       
   602           #'component:' 
       
   603            #(#SpecCollection
       
   604               #'collection:' 
       
   605                #(
       
   606                  #(#LabelSpec
       
   607                     #'name:' 'textDescription'
       
   608                     #'layout:' #(#Point 10 15)
       
   609                     #'label:' 'Text Description:'
       
   610                     #'resizeForLabel:' true
       
   611                 )
       
   612                  #(#LabelSpec
       
   613                     #'name:' 'formatLabel'
       
   614                     #'layout:' #(#AlignmentOrigin 83 0 47 0 1 0.5)
       
   615                     #'label:' 'Format:'
       
   616                     #'resizeForLabel:' true
       
   617                 )
       
   618                  #(#InputFieldSpec
       
   619                     #'name:' 'formatField'
       
   620                     #'layout:' #(#LayoutFrame 87 0 37 0 -2 1.0 59 0)
       
   621                     #'activeHelpKey:' #formatString
       
   622                     #'model:' #formatString
       
   623                 )
       
   624                  #(#LabelSpec
       
   625                     #'name:' 'inpFieldDescription'
       
   626                     #'layout:' #(#Point 10 80)
       
   627                     #'label:' 'InputField Description:'
       
   628                     #'resizeForLabel:' true
       
   629                 )
       
   630                  #(#LabelSpec
       
   631                     #'name:' 'typeLabel'
       
   632                     #'layout:' #(#AlignmentOrigin 83 0 111 0 1 0.5)
       
   633                     #'label:' 'Type:'
       
   634                     #'resizeForLabel:' true
       
   635                 )
       
   636                  #(#ComboListSpec
       
   637                     #'name:' 'typeCombo'
       
   638                     #'layout:' #(#LayoutFrame 87 0 102 0 -2 1.0 122 0)
       
   639                     #'activeHelpKey:' #type
       
   640                     #'model:' #type
       
   641                     #'comboList:' #typeList
       
   642                     #'useIndex:' false
       
   643                 )
       
   644                  #(#LabelSpec
       
   645                     #'name:' 'sizeLabel'
       
   646                     #'layout:' #(#AlignmentOrigin 83 0 136 0 1 0.5)
       
   647                     #'label:' 'Size:'
       
   648                     #'resizeForLabel:' true
       
   649                 )
       
   650                  #(#InputFieldSpec
       
   651                     #'name:' 'sizeField'
       
   652                     #'layout:' #(#LayoutFrame 87 0 126 0 -2 1.0 148 0)
       
   653                     #'activeHelpKey:' #size
       
   654                     #'model:' #size
       
   655                     #'type:' #numberOrNil
       
   656                 )
       
   657               )
       
   658           )
       
   659       )
       
   660 !
       
   661 
       
   662 labelEditSpec
       
   663     "this window spec was automatically generated by the ST/X UIPainter"
       
   664 
       
   665     "do not manually edit this - the painter/builder may not be able to
       
   666      handle the specification if its corrupted."
       
   667 
       
   668     "
       
   669      UIPainter new openOnClass:DataSetBuilder andSelector:#labelEditSpec
       
   670      DataSetBuilder new openInterface:#labelEditSpec
       
   671     "
       
   672 
       
   673     <resource: #canvas>
       
   674 
       
   675     ^
       
   676      
       
   677        #(#FullSpec
       
   678           #'window:' 
       
   679            #(#WindowSpec
       
   680               #'name:' 'DataSet Misc'
       
   681               #'layout:' #(#LayoutFrame 219 0 193 0 496 0 423 0)
       
   682               #'label:' 'DataSet Misc'
       
   683               #'min:' #(#Point 10 10)
       
   684               #'max:' #(#Point 1280 1024)
       
   685               #'bounds:' #(#Rectangle 219 193 497 424)
       
   686               #'usePreferredExtent:' false
   568               #'usePreferredExtent:' false
   687           )
   569           )
   688           #'component:' 
   570           #'component:' 
   689            #(#SpecCollection
   571            #(#SpecCollection
   690               #'collection:' 
   572               #'collection:' 
   691                #(
   573                #(
   692                  #(#FramedBoxSpec
   574                  #(#FramedBoxSpec
   693                     #'name:' 'ColorsBox'
   575                     #'name:' 'framedBox1'
   694                     #'layout:' #(#LayoutFrame 0 0.0 22 0 0 1.0 105 0)
   576                     #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 84 0)
   695                     #'component:' 
   577                     #'component:' 
   696                      #(#SpecCollection
   578                      #(#SpecCollection
   697                         #'collection:' 
   579                         #'collection:' 
   698                          #(
   580                          #(
   699                            #(#ColorMenuSpec
   581                            #(#CheckBoxSpec
   700                               #'name:' 'fgMenu'
   582                               #'name:' 'canSelect'
   701                               #'layout:' #(#LayoutFrame 101 0 15 0 10 1.0 38 0)
   583                               #'layout:' #(#Point 107 17)
   702                               #'activeHelpKey:' #foregroundColor
   584                               #'activeHelpKey:' #canSelect
   703                               #'model:' #labelForegroundColor
   585                               #'model:' #canSelect
   704                           )
   586                               #'label:' 'Is Selectable'
   705                            #(#LabelSpec
   587                           )
   706                               #'name:' 'fgLabel'
   588                            #(#LabelSpec
   707                               #'layout:' #(#AlignmentOrigin 100 0 27 0 1 0.5)
   589                               #'name:' 'selectorLabel'
   708                               #'label:' 'FG-Color:'
   590                               #'layout:' #(#AlignmentOrigin 107 0 51 0 1 0.5)
       
   591                               #'label:' 'Selector:'
   709                               #'adjust:' #right
   592                               #'adjust:' #right
   710                               #'resizeForLabel:' true
   593                               #'resizeForLabel:' true
   711                           )
   594                           )
   712                            #(#LabelSpec
   595                            #(#InputFieldSpec
   713                               #'name:' 'bgLabel'
   596                               #'name:' 'selectSelector'
   714                               #'layout:' #(#AlignmentOrigin 100 0 55 0 1 0.5)
   597                               #'layout:' #(#LayoutFrame 110 0 42 0 15 1.0 64 0)
   715                               #'label:' 'BG-Color:'
   598                               #'activeHelpKey:' #selectSelector
   716                               #'adjust:' #right
   599                               #'model:' #selectSelector
   717                               #'resizeForLabel:' true
   600                               #'type:' #symbolOrNil
   718                           )
       
   719                            #(#ColorMenuSpec
       
   720                               #'name:' 'bgMenu'
       
   721                               #'layout:' #(#LayoutFrame 101 0 44 0 10 1.0 67 0)
       
   722                               #'activeHelpKey:' #backgroundColor
       
   723                               #'model:' #labelBackgroundColor
       
   724                           )
   601                           )
   725                         )
   602                         )
   726                     )
   603                     )
   727                     #'label:' 'Colors:'
   604                     #'label:' 'Selection:'
   728                     #'labelPosition:' #topLeft
   605                     #'labelPosition:' #topLeft
   729                 )
   606                 )
   730                  #(#UISubSpecification
   607                  #(#FramedBoxSpec
   731                     #'name:' 'fontSubSpec'
   608                     #'name:' 'framedBox2'
   732                     #'layout:' #(#LayoutFrame 67 0.0 116 0 -4 1.0 141 0)
   609                     #'layout:' #(#LayoutFrame 0 0.0 84 0 0 1.0 166 0)
   733                     #'minorKey:' #fontSpec
   610                     #'component:' 
   734                 )
   611                      #(#SpecCollection
   735                  #(#LabelSpec
   612                         #'collection:' 
   736                     #'name:' 'ActionLabel'
   613                          #(
   737                     #'layout:' #(#AlignmentOrigin 110 0 189 0 1 0.5)
   614                            #(#InputFieldSpec
       
   615                               #'name:' 'ArgumentValue'
       
   616                               #'layout:' #(#LayoutFrame 110 0 42 0 15 1.0 64 0)
       
   617                               #'model:' #labelActionArgument
       
   618                               #'type:' #string
       
   619                           )
       
   620                            #(#LabelSpec
       
   621                               #'name:' 'ArgumentLabel'
       
   622                               #'layout:' #(#AlignmentOrigin 107 0 52 0 1 0.5)
       
   623                               #'label:' 'Argument:'
       
   624                               #'adjust:' #left
       
   625                               #'resizeForLabel:' true
       
   626                           )
       
   627                            #(#LabelSpec
       
   628                               #'name:' 'ActionLabel'
       
   629                               #'layout:' #(#AlignmentOrigin 107 0 27 0 1 0.5)
       
   630                               #'label:' 'Selector:'
       
   631                               #'adjust:' #left
       
   632                               #'resizeForLabel:' true
       
   633                           )
       
   634                            #(#InputFieldSpec
       
   635                               #'name:' 'ActionSelector'
       
   636                               #'layout:' #(#LayoutFrame 110 0 17 0 15 1.0 39 0)
       
   637                               #'model:' #labelActionSelector
       
   638                               #'type:' #symbolOrNil
       
   639                           )
       
   640                         )
       
   641                     )
   738                     #'label:' 'Select Action:'
   642                     #'label:' 'Select Action:'
   739                     #'adjust:' #left
   643                     #'labelPosition:' #topLeft
   740                     #'resizeForLabel:' true
   644                 )
   741                 )
   645                  #(#FramedBoxSpec
   742                  #(#LabelSpec
   646                     #'name:' 'framedBox3'
   743                     #'name:' 'ArgumentLabel'
   647                     #'layout:' #(#LayoutFrame 0 0.0 166 0 0 1.0 220 0)
   744                     #'layout:' #(#AlignmentOrigin 110 0 212 0 1 0.5)
   648                     #'component:' 
   745                     #'label:' 'Argument:'
   649                      #(#SpecCollection
   746                     #'adjust:' #left
   650                         #'collection:' 
   747                     #'resizeForLabel:' true
   651                          #(
   748                 )
   652                            #(#LabelSpec
   749                  #(#LabelSpec
   653                               #'name:' 'doubleLabel'
   750                     #'name:' 'AlignLabel'
   654                               #'layout:' #(#AlignmentOrigin 107 0 26 0 1 0.5)
   751                     #'layout:' #(#AlignmentOrigin 110 0 157 0 1 0.5)
   655                               #'label:' 'Selector:'
   752                     #'label:' 'Align Label:'
   656                               #'adjust:' #right
   753                     #'adjust:' #left
   657                               #'resizeForLabel:' true
   754                     #'resizeForLabel:' true
   658                           )
   755                 )
   659                            #(#InputFieldSpec
   756                  #(#PopUpListSpec
   660                               #'name:' 'doubleClicked'
   757                     #'name:' 'Alignment'
   661                               #'layout:' #(#LayoutFrame 110 0 16 0 15 1.0 38 0)
   758                     #'layout:' #(#LayoutFrame 116 0 146 0 -4 1.0 168 0)
   662                               #'activeHelpKey:' #doubleClickedSelector
   759                     #'label:' 'Alignment'
   663                               #'model:' #doubleClickedSelector
   760                     #'model:' #labelAlignment
   664                               #'type:' #symbolOrNil
   761                     #'menu:' #alignmentList
   665                           )
   762                     #'useIndex:' false
   666                         )
   763                 )
   667                     )
   764                  #(#InputFieldSpec
   668                     #'label:' 'Doubel Click:'
   765                     #'name:' 'ActionSelector'
   669                     #'labelPosition:' #topLeft
   766                     #'layout:' #(#LayoutFrame 116 0 179 0 -4 1.0 201 0)
       
   767                     #'model:' #labelActionSelector
       
   768                     #'type:' #symbolOrNil
       
   769                 )
       
   770                  #(#InputFieldSpec
       
   771                     #'name:' 'ArgumentValue'
       
   772                     #'layout:' #(#LayoutFrame 116 0 202 0 -4 1.0 224 0)
       
   773                     #'model:' #labelActionArgument
       
   774                     #'type:' #string
       
   775                 )
   670                 )
   776               )
   671               )
   777           )
   672           )
   778       )
   673       )
   779 !
   674 !
   780 
   675 
   781 selectorsEditSpec
   676 valuesEditSpec
   782     "this window spec was automatically generated by the ST/X UIPainter"
   677     "this window spec was automatically generated by the ST/X UIPainter"
   783 
   678 
   784     "do not manually edit this - the painter/builder may not be able to
   679     "do not manually edit this - the painter/builder may not be able to
   785      handle the specification if its corrupted."
   680      handle the specification if its corrupted."
   786 
   681 
   787     "
   682     "
   788      UIPainter new openOnClass:DataSetBuilder andSelector:#selectorsEditSpec
   683      UIPainter new openOnClass:DataSetBuilder andSelector:#valuesEditSpec
   789      DataSetBuilder new openInterface:#selectorsEditSpec
   684      DataSetBuilder new openInterface:#valuesEditSpec
   790     "
   685     "
   791 
   686 
   792     <resource: #canvas>
   687     <resource: #canvas>
   793 
   688 
   794     ^
   689     ^
   795      
   690      
   796        #(#FullSpec
   691        #(#FullSpec
   797           #'window:' 
   692           #'window:' 
   798            #(#WindowSpec
   693            #(#WindowSpec
   799               #'name:' 'DataSet Basic'
   694               #'name:' 'DataSet Basic'
   800               #'layout:' #(#LayoutFrame 55 0 280 0 350 0 585 0)
   695               #'layout:' #(#LayoutFrame 563 0 305 0 858 0 610 0)
   801               #'label:' 'DataSet Basic'
   696               #'label:' 'DataSet Basic'
   802               #'min:' #(#Point 10 10)
   697               #'min:' #(#Point 10 10)
   803               #'max:' #(#Point 1280 1024)
   698               #'max:' #(#Point 1280 1024)
   804               #'bounds:' #(#Rectangle 55 280 351 586)
   699               #'bounds:' #(#Rectangle 563 305 859 611)
   805               #'usePreferredExtent:' false
   700               #'usePreferredExtent:' false
   806           )
   701           )
   807           #'component:' 
   702           #'component:' 
   808            #(#SpecCollection
   703            #(#SpecCollection
   809               #'collection:' 
   704               #'collection:' 
   810                #(
   705                #(
   811                  #(#FramedBoxSpec
   706                  #(#FramedBoxSpec
   812                     #'name:' 'valuesBox'
   707                     #'name:' 'valuesBox'
   813                     #'layout:' #(#LayoutFrame 0 0.0 16 0 0 1.0 117 0)
   708                     #'layout:' #(#LayoutFrame 0 0.0 3 0 0 1.0 107 0)
   814                     #'component:' 
   709                     #'component:' 
   815                      #(#SpecCollection
   710                      #(#SpecCollection
   816                         #'collection:' 
   711                         #'collection:' 
   817                          #(
   712                          #(
   818                            #(#LabelSpec
   713                            #(#LabelSpec
   819                               #'name:' 'readLabel'
   714                               #'name:' 'readLabel'
   820                               #'layout:' #(#AlignmentOrigin 84 0 25 0 1 0.5)
   715                               #'layout:' #(#AlignmentOrigin 107 0 28 0 1 0.5)
   821                               #'label:' 'Read:'
   716                               #'label:' 'Read:'
   822                               #'adjust:' #right
   717                               #'adjust:' #right
   823                               #'resizeForLabel:' true
   718                               #'resizeForLabel:' true
   824                           )
   719                           )
   825                            #(#InputFieldSpec
   720                            #(#InputFieldSpec
   826                               #'name:' 'readSelector'
   721                               #'name:' 'readSelector'
   827                               #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
   722                               #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 40 0)
   828                               #'activeHelpKey:' #readSelector
   723                               #'activeHelpKey:' #readSelector
   829                               #'model:' #readSelector
   724                               #'model:' #readSelector
   830                               #'type:' #symbolOrNil
   725                               #'type:' #symbolOrNil
   831                           )
   726                           )
   832                            #(#InputFieldSpec
   727                            #(#InputFieldSpec
   833                               #'name:' 'writeSelector'
   728                               #'name:' 'writeSelector'
   834                               #'layout:' #(#LayoutFrame 86 0 38 0 17 1.0 58 0)
   729                               #'layout:' #(#LayoutFrame 110 0 43 0 15 1.0 63 0)
   835                               #'activeHelpKey:' #writeSelector
   730                               #'activeHelpKey:' #writeSelector
   836                               #'model:' #writeSelector
   731                               #'model:' #writeSelector
   837                               #'type:' #symbolOrNil
   732                               #'type:' #symbolOrNil
   838                           )
   733                           )
   839                            #(#LabelSpec
   734                            #(#LabelSpec
   840                               #'name:' 'printLabel'
   735                               #'name:' 'printLabel'
   841                               #'layout:' #(#AlignmentOrigin 84 0 75 0 1 0.5)
   736                               #'layout:' #(#AlignmentOrigin 107 0 76 0 1 0.5)
   842                               #'label:' 'Print:'
   737                               #'label:' 'Print:'
   843                               #'adjust:' #right
   738                               #'adjust:' #right
   844                               #'resizeForLabel:' true
   739                               #'resizeForLabel:' true
   845                           )
   740                           )
   846                            #(#InputFieldSpec
   741                            #(#InputFieldSpec
   847                               #'name:' 'printSelector'
   742                               #'name:' 'printSelector'
   848                               #'layout:' #(#LayoutFrame 86 0 66 0 17 1.0 86 0)
   743                               #'layout:' #(#LayoutFrame 110 0 66 0 15 1.0 86 0)
   849                               #'activeHelpKey:' #printSelector
   744                               #'activeHelpKey:' #printSelector
   850                               #'model:' #printSelector
   745                               #'model:' #printSelector
   851                               #'type:' #symbolOrNil
   746                               #'type:' #symbolOrNil
   852                           )
   747                           )
   853                            #(#LabelSpec
   748                            #(#LabelSpec
   854                               #'name:' 'writeLabel'
   749                               #'name:' 'writeLabel'
   855                               #'layout:' #(#AlignmentOrigin 84 0 48 0 1 0.5)
   750                               #'layout:' #(#AlignmentOrigin 107 0 53 0 1 0.5)
   856                               #'label:' 'Write:'
   751                               #'label:' 'Write:'
   857                               #'adjust:' #right
   752                               #'adjust:' #right
   858                               #'resizeForLabel:' true
   753                               #'resizeForLabel:' true
   859                           )
   754                           )
   860                         )
   755                         )
   861                     )
   756                     )
   862                     #'label:' 'Values:'
   757                     #'label:' 'Value Selectors:'
   863                     #'labelPosition:' #topLeft
   758                     #'labelPosition:' #topLeft
   864                 )
   759                 )
   865                  #(#FramedBoxSpec
   760                  #(#FramedBoxSpec
   866                     #'name:' 'menusBox'
   761                     #'name:' 'menusBox'
   867                     #'layout:' #(#LayoutFrame 0 0.0 120 0 0 1.0 200 0)
   762                     #'layout:' #(#LayoutFrame 0 0.0 107 0 0 1.0 186 0)
   868                     #'component:' 
   763                     #'component:' 
   869                      #(#SpecCollection
   764                      #(#SpecCollection
   870                         #'collection:' 
   765                         #'collection:' 
   871                          #(
   766                          #(
   872                            #(#LabelSpec
   767                            #(#LabelSpec
   873                               #'name:' 'menuLabel'
   768                               #'name:' 'menuLabel'
   874                               #'layout:' #(#AlignmentOrigin 84 0 25 0 1 0.5)
   769                               #'layout:' #(#AlignmentOrigin 107 0 28 0 1 0.5)
   875                               #'label:' 'Menu:'
   770                               #'label:' 'Menu:'
   876                               #'adjust:' #right
   771                               #'adjust:' #right
   877                               #'resizeForLabel:' true
   772                               #'resizeForLabel:' true
   878                           )
   773                           )
   879                            #(#InputFieldSpec
   774                            #(#InputFieldSpec
   880                               #'name:' 'menuSelector'
   775                               #'name:' 'menuSelector'
   881                               #'layout:' #(#LayoutFrame 86 0 16 0 17 1.0 36 0)
   776                               #'layout:' #(#LayoutFrame 110 0 18 0 15 1.0 38 0)
   882                               #'activeHelpKey:' #menuSelector
   777                               #'activeHelpKey:' #menuSelector
   883                               #'model:' #menu
   778                               #'model:' #menu
   884                               #'type:' #symbolOrNil
   779                               #'type:' #symbolOrNil
   885                           )
   780                           )
   886                            #(#LabelSpec
   781                            #(#LabelSpec
   887                               #'name:' 'choicesLabel'
   782                               #'name:' 'choicesLabel'
   888                               #'layout:' #(#AlignmentOrigin 84 0 51 0 1 0.5)
   783                               #'layout:' #(#AlignmentOrigin 107 0 51 0 1 0.5)
   889                               #'label:' 'Choices:'
   784                               #'label:' 'Choice:'
   890                               #'adjust:' #right
   785                               #'adjust:' #right
   891                               #'resizeForLabel:' true
   786                               #'resizeForLabel:' true
   892                           )
   787                           )
   893                            #(#InputFieldSpec
   788                            #(#InputFieldSpec
   894                               #'name:' 'choicesSelector'
   789                               #'name:' 'choicesSelector'
   895                               #'layout:' #(#LayoutFrame 86 0 42 0 17 1.0 62 0)
   790                               #'layout:' #(#LayoutFrame 110 0 41 0 15 1.0 61 0)
   896                               #'activeHelpKey:' #choices
   791                               #'activeHelpKey:' #choices
   897                               #'model:' #choices
   792                               #'model:' #choices
   898                               #'type:' #symbolOrNil
   793                               #'type:' #symbolOrNil
   899                           )
   794                           )
   900                         )
   795                         )
   901                     )
   796                     )
   902                     #'label:' 'Menus:'
   797                     #'label:' 'Menu Selectors:'
   903                     #'labelPosition:' #topLeft
       
   904                 )
       
   905                  #(#FramedBoxSpec
       
   906                     #'name:' 'eventBox'
       
   907                     #'layout:' #(#LayoutFrame 0 0.0 203 0 0 1.0 252 0)
       
   908                     #'component:' 
       
   909                      #(#SpecCollection
       
   910                         #'collection:' 
       
   911                          #(
       
   912                            #(#LabelSpec
       
   913                               #'name:' 'doubleLabel'
       
   914                               #'layout:' #(#AlignmentOrigin 84 0 24 0 1 0.5)
       
   915                               #'label:' 'Double:'
       
   916                               #'adjust:' #right
       
   917                               #'resizeForLabel:' true
       
   918                           )
       
   919                            #(#InputFieldSpec
       
   920                               #'name:' 'doubleClicked'
       
   921                               #'layout:' #(#LayoutFrame 86 0 15 0 17 1.0 35 0)
       
   922                               #'activeHelpKey:' #doubleClickedSelector
       
   923                               #'model:' #doubleClickedSelector
       
   924                               #'type:' #symbolOrNil
       
   925                           )
       
   926                         )
       
   927                     )
       
   928                     #'label:' 'Click Events:'
       
   929                     #'labelPosition:' #topLeft
   798                     #'labelPosition:' #topLeft
   930                 )
   799                 )
   931               )
   800               )
   932           )
   801           )
   933       )
   802       )
  1016 
   885 
  1017 #writeSelector
   886 #writeSelector
  1018 'a selector, which is used to set the value of a cell. If the selector is not defined, the selector derives from the printSelector.'
   887 'a selector, which is used to set the value of a cell. If the selector is not defined, the selector derives from the printSelector.'
  1019 
   888 
  1020 )
   889 )
  1021 ! !
       
  1022 
       
  1023 !DataSetBuilder class methodsFor:'images'!
       
  1024 
       
  1025 iconCreateItem
       
  1026     ^ MenuEditor iconCreateItem
       
  1027 
       
  1028 
       
  1029 ! !
   890 ! !
  1030 
   891 
  1031 !DataSetBuilder class methodsFor:'interface specs'!
   892 !DataSetBuilder class methodsFor:'interface specs'!
  1032 
   893 
  1033 defineClassNameSpec
   894 defineClassNameSpec
  1047      
   908      
  1048        #(#FullSpec
   909        #(#FullSpec
  1049           #'window:' 
   910           #'window:' 
  1050            #(#WindowSpec
   911            #(#WindowSpec
  1051               #'name:' 'Class Definition'
   912               #'name:' 'Class Definition'
  1052               #'layout:' #(#LayoutFrame 76 0 249 0 401 0 378 0)
   913               #'layout:' #(#LayoutFrame 299 0 162 0 624 0 291 0)
  1053               #'label:' 'Class Definition'
   914               #'label:' 'Class Definition'
  1054               #'min:' #(#Point 10 10)
   915               #'min:' #(#Point 10 10)
  1055               #'max:' #(#Point 1152 900)
   916               #'max:' #(#Point 1152 900)
  1056               #'bounds:' #(#Rectangle 76 249 402 379)
   917               #'bounds:' #(#Rectangle 299 162 625 292)
       
   918               #'usePreferredExtent:' false
  1057           )
   919           )
  1058           #'component:' 
   920           #'component:' 
  1059            #(#SpecCollection
   921            #(#SpecCollection
  1060               #'collection:' 
   922               #'collection:' 
  1061                #(
   923                #(
  1062                  #(#LabelSpec
   924                  #(#LabelSpec
  1063                     #'name:' 'classLabel'
   925                     #'name:' 'classLabel'
  1064                     #'layout:' #(#AlignmentOrigin 50 0.11 50 0 1 0.5)
   926                     #'layout:' #(#AlignmentOrigin 50 0.11 50 0 1 0.5)
  1065                     #'label:' 'class:'
   927                     #'label:' 'Class:'
  1066                     #'adjust:' #right
   928                     #'adjust:' #right
  1067                     #'resizeForLabel:' true
   929                     #'resizeForLabel:' true
  1068                 )
   930                 )
  1069                  #(#LabelSpec
   931                  #(#LabelSpec
  1070                     #'name:' 'superClassLabel'
   932                     #'name:' 'superClassLabel'
  1071                     #'layout:' #(#AlignmentOrigin 50 0.11 77 0 1 0.5)
   933                     #'layout:' #(#AlignmentOrigin 50 0.11 77 0 1 0.5)
  1072                     #'label:' 'superclass:'
   934                     #'label:' 'Superclass:'
  1073                     #'adjust:' #right
   935                     #'adjust:' #right
  1074                     #'resizeForLabel:' true
   936                     #'resizeForLabel:' true
  1075                 )
   937                 )
  1076                  #(#LabelSpec
   938                  #(#LabelSpec
  1077                     #'name:' 'topLabel'
   939                     #'name:' 'topLabel'
  1078                     #'layout:' #(#Point 2 10)
   940                     #'layout:' #(#Point 2 10)
  1079                     #'label:' 'class for code:'
   941                     #'label:' 'Class for code:'
  1080                     #'adjust:' #left
   942                     #'adjust:' #left
  1081                     #'resizeForLabel:' true
   943                     #'resizeForLabel:' true
  1082                 )
   944                 )
  1083                  #(#InputFieldSpec
   945                  #(#InputFieldSpec
  1084                     #'name:' 'classNameField'
   946                     #'name:' 'classNameField'
  1093                      #(#SpecCollection
   955                      #(#SpecCollection
  1094                         #'collection:' 
   956                         #'collection:' 
  1095                          #(
   957                          #(
  1096                            #(#ActionButtonSpec
   958                            #(#ActionButtonSpec
  1097                               #'name:' 'button1'
   959                               #'name:' 'button1'
  1098                               #'label:' 'cancel'
   960                               #'label:' 'Cancel'
  1099                               #'tabable:' true
   961                               #'tabable:' true
  1100                               #'model:' #cancel
   962                               #'model:' #cancel
  1101                               #'extent:' #(#Point 156 22)
   963                               #'extent:' #(#Point 156 22)
  1102                           )
   964                           )
  1103                            #(#ActionButtonSpec
   965                            #(#ActionButtonSpec
  1104                               #'name:' 'button2'
   966                               #'name:' 'button2'
  1105                               #'label:' 'ok'
   967                               #'label:' 'OK'
  1106                               #'tabable:' true
   968                               #'tabable:' true
       
   969                               #'model:' #accept
  1107                               #'isDefault:' true
   970                               #'isDefault:' true
  1108                               #'model:' #accept
       
  1109                               #'extent:' #(#Point 157 22)
   971                               #'extent:' #(#Point 157 22)
  1110                           )
   972                           )
  1111                         )
   973                         )
  1112                     )
   974                     )
  1113                     #'horizontalLayout:' #fitSpace
   975                     #'horizontalLayout:' #fitSpace
  1125           )
   987           )
  1126       )
   988       )
  1127 !
   989 !
  1128 
   990 
  1129 slices
   991 slices
  1130     ^  #(       (Basics         basicsEditSpec)
   992     ^#(
  1131                 (Details        detailsEditSpec)
   993         (Basics         basicsEditSpec)
  1132                 (Selectors      selectorsEditSpec)
   994         (Values         valuesEditSpec)
  1133                 (Format         formatEditSpec)
   995         (Format         formatEditSpec)
  1134                 (Label          labelEditSpec)
   996         (Selection      selectionEditSpec)
  1135                 (Cell           cellEditSpec)
   997         (Frame          frameEditSpec)
  1136                 (Dimension      dimensionEditSpec)
   998         (Colors         colorsEditSpec)
  1137         )
   999     )
  1138 !
  1000 !
  1139 
  1001 
  1140 windowSpec
  1002 windowSpec
  1141     "this window spec was automatically generated by the ST/X UIPainter"
  1003     "this window spec was automatically generated by the ST/X UIPainter"
  1142 
  1004 
  1154     ^
  1016     ^
  1155      
  1017      
  1156        #(#FullSpec
  1018        #(#FullSpec
  1157           #'window:' 
  1019           #'window:' 
  1158            #(#WindowSpec
  1020            #(#WindowSpec
  1159               #'name:' 'unnamed canvas'
  1021               #'name:' 'Data Set Builder'
  1160               #'layout:' #(#LayoutFrame 219 0 193 0 705 0 520 0)
  1022               #'layout:' #(#LayoutFrame 442 0 314 0 928 0 673 0)
  1161               #'label:' 'unnamed canvas'
  1023               #'label:' 'Data Set Builder'
  1162               #'min:' #(#Point 10 10)
  1024               #'min:' #(#Point 10 10)
  1163               #'max:' #(#Point 1152 900)
  1025               #'max:' #(#Point 1152 900)
  1164               #'bounds:' #(#Rectangle 219 193 706 521)
  1026               #'bounds:' #(#Rectangle 442 314 929 674)
       
  1027               #'menu:' #menu
  1165               #'usePreferredExtent:' false
  1028               #'usePreferredExtent:' false
  1166           )
  1029           )
  1167           #'component:' 
  1030           #'component:' 
  1168            #(#SpecCollection
  1031            #(#SpecCollection
  1169               #'collection:' 
  1032               #'collection:' 
  1170                #(
  1033                #(
  1171                  #(#MenuPanelSpec
  1034                  #(#MenuPanelSpec
  1172                     #'name:' 'mainMenu'
  1035                     #'name:' 'menuToolbarView'
  1173                     #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 25 0)
  1036                     #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 34 0)
  1174                     #'menu:' #mainMenu
  1037                     #'menu:' #menuToolbar
  1175                 )
  1038                 )
  1176                  #(#VariableHorizontalPanelSpec
  1039                  #(#VariableHorizontalPanelSpec
  1177                     #'name:' 'VariablePanel'
  1040                     #'name:' 'VariablePanel'
  1178                     #'layout:' #(#LayoutFrame 0 0.0 25 0.0 0 1.0 0 1.0)
  1041                     #'layout:' #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -22 1.0)
  1179                     #'component:' 
  1042                     #'component:' 
  1180                      #(#SpecCollection
  1043                      #(#SpecCollection
  1181                         #'collection:' 
  1044                         #'collection:' 
  1182                          #(
  1045                          #(
  1183                            #(#ViewSpec
  1046                            #(#ViewSpec
  1184                               #'name:' 'labelsView'
  1047                               #'name:' 'labelsView'
  1185                               #'component:' 
  1048                               #'component:' 
  1186                                #(#SpecCollection
  1049                                #(#SpecCollection
  1187                                   #'collection:' 
  1050                                   #'collection:' 
  1188                                    #(
  1051                                    #(
  1189                                      #(#MenuPanelSpec
       
  1190                                         #'name:' 'subMenu'
       
  1191                                         #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 35 0)
       
  1192                                         #'menu:' #subMenu
       
  1193                                     )
       
  1194                                      #(#SequenceViewSpec
  1052                                      #(#SequenceViewSpec
  1195                                         #'name:' 'columnView'
  1053                                         #'name:' 'columnView'
  1196                                         #'layout:' #(#LayoutFrame 0 0.0 35 0.0 0 1.0 0 1.0)
  1054                                         #'layout:' #(#LayoutFrame 0 0.0 0 0.0 0 1.0 0 1.0)
  1197                                         #'enableChannel:' #isNotModified
  1055                                         #'enableChannel:' #isNotModified
  1198                                         #'model:' #selectedColumnModel
  1056                                         #'model:' #selectedColumnModel
  1199                                         #'menu:' #columnMenu
  1057                                         #'menu:' #menuEdit
  1200                                         #'hasHorizontalScrollBar:' true
  1058                                         #'hasHorizontalScrollBar:' true
  1201                                         #'hasVerticalScrollBar:' true
  1059                                         #'hasVerticalScrollBar:' true
  1202                                         #'miniScrollerHorizontal:' true
  1060                                         #'miniScrollerHorizontal:' true
  1203                                         #'useIndex:' true
  1061                                         #'useIndex:' true
  1204                                         #'sequenceList:' #seqList
  1062                                         #'sequenceList:' #seqList
  1231                                          #(#SpecCollection
  1089                                          #(#SpecCollection
  1232                                             #'collection:' 
  1090                                             #'collection:' 
  1233                                              #(
  1091                                              #(
  1234                                                #(#ActionButtonSpec
  1092                                                #(#ActionButtonSpec
  1235                                                   #'name:' 'cancelButton'
  1093                                                   #'name:' 'cancelButton'
  1236                                                   #'label:' 'cancel'
  1094                                                   #'label:' 'Cancel'
  1237                                                   #'model:' #cancel
  1095                                                   #'model:' #cancel
  1238                                                   #'enableChannel:' #modifiedChannel
  1096                                                   #'enableChannel:' #modifiedChannel
  1239                                                   #'extent:' #(#Point 173 24)
  1097                                                   #'extent:' #(#Point 173 24)
  1240                                               )
  1098                                               )
  1241                                                #(#ActionButtonSpec
  1099                                                #(#ActionButtonSpec
  1242                                                   #'name:' 'acceptButton'
  1100                                                   #'name:' 'acceptButton'
  1243                                                   #'label:' 'ok'
  1101                                                   #'label:' 'OK'
  1244                                                   #'model:' #accept
  1102                                                   #'model:' #accept
  1245                                                   #'enableChannel:' #modifiedChannel
  1103                                                   #'enableChannel:' #modifiedChannel
  1246                                                   #'extent:' #(#Point 173 24)
  1104                                                   #'extent:' #(#Point 174 24)
  1247                                               )
  1105                                               )
  1248                                             )
  1106                                             )
  1249                                         )
  1107                                         )
  1250                                         #'horizontalLayout:' #fitSpace
  1108                                         #'horizontalLayout:' #fitSpace
  1251                                         #'verticalLayout:' #fitSpace
  1109                                         #'verticalLayout:' #fitSpace
  1258                           )
  1116                           )
  1259                         )
  1117                         )
  1260                     )
  1118                     )
  1261                     #'handles:' #(#Any 0.265905 1.0)
  1119                     #'handles:' #(#Any 0.265905 1.0)
  1262                 )
  1120                 )
       
  1121                  #(#LabelSpec
       
  1122                     #'name:' 'infoLabel'
       
  1123                     #'layout:' #(#LayoutFrame 0 0.0 -22 1 -80 1.0 0 1.0)
       
  1124                     #'labelChannel:' #valueOfInfoLabel
       
  1125                     #'level:' 1
       
  1126                     #'adjust:' #left
       
  1127                 )
       
  1128                  #(#LabelSpec
       
  1129                     #'name:' 'timeLabel'
       
  1130                     #'layout:' #(#LayoutFrame -80 1 -22 1 0 1.0 0 1.0)
       
  1131                     #'labelChannel:' #valueOfTimeLabel
       
  1132                     #'level:' 1
       
  1133                     #'adjust:' #right
       
  1134                 )
  1263               )
  1135               )
  1264           )
  1136           )
  1265       )
  1137       )
  1266 ! !
  1138 ! !
  1267 
  1139 
  1268 !DataSetBuilder class methodsFor:'menu specs'!
  1140 !DataSetBuilder class methodsFor:'menu specs'!
  1269 
  1141 
  1270 columnMenu
  1142 menu
  1271     "this window spec was automatically generated by the ST/X MenuEditor"
  1143     "this window spec was automatically generated by the ST/X MenuEditor"
  1272 
  1144 
  1273     "do not manually edit this - the builder may not be able to
  1145     "do not manually edit this - the builder may not be able to
  1274      handle the specification if its corrupted."
  1146      handle the specification if its corrupted."
  1275 
  1147 
  1276     "
  1148     "
  1277      MenuEditor new openOnClass:DataSetBuilder andSelector:#columnMenu
  1149      MenuEditor new openOnClass:DataSetBuilder andSelector:#menu
  1278      (Menu new fromLiteralArrayEncoding:(DataSetBuilder columnMenu)) startUp
  1150      (Menu new fromLiteralArrayEncoding:(DataSetBuilder menu)) startUp
  1279     "
  1151     "
  1280 
  1152 
  1281     <resource: #menu>
  1153     <resource: #menu>
  1282 
  1154 
  1283     ^
  1155     ^
  1284      
  1156      
  1285        #(#Menu
  1157        #(#Menu
  1286           
  1158           
  1287            #(
  1159            #(
  1288              #(#MenuItem
  1160              #(#MenuItem
  1289                 #'label:' 'cut'
  1161                 #'label:' 'About'
  1290                 #'value:' #doCutColumn
  1162                 #'labelImage:' #(#ResourceRetriever #UIPainter #icon)
       
  1163                 #'submenuChannel:' #menuAbout
       
  1164             )
       
  1165              #(#MenuItem
       
  1166                 #'label:' 'File'
       
  1167                 #'accessCharacterPosition:' 1
       
  1168                 #'submenu:' 
       
  1169                  #(#Menu
       
  1170                     
       
  1171                      #(
       
  1172                        #(#MenuItem
       
  1173                           #'label:' 'Generate Code'
       
  1174                           #'value:' #doGenerateCode
       
  1175                       )
       
  1176                        #(#MenuItem
       
  1177                           #'label:' '-'
       
  1178                       )
       
  1179                        #(#MenuItem
       
  1180                           #'label:' 'Define Class...'
       
  1181                           #'value:' #doDefineClass
       
  1182                       )
       
  1183                        #(#MenuItem
       
  1184                           #'label:' 'Browse Class'
       
  1185                           #'value:' #doBrowseClass
       
  1186                       )
       
  1187                        #(#MenuItem
       
  1188                           #'label:' '-'
       
  1189                       )
       
  1190                        #(#MenuItem
       
  1191                           #'label:' 'Exit'
       
  1192                           #'value:' #closeRequest
       
  1193                       )
       
  1194                     ) nil
       
  1195                     nil
       
  1196                 )
       
  1197             )
       
  1198              #(#MenuItem
       
  1199                 #'label:' 'Edit'
       
  1200                 #'accessCharacterPosition:' 1
       
  1201                 #'submenuChannel:' #menuEdit
  1291             )
  1202             )
  1292           ) nil
  1203           ) nil
  1293           nil
  1204           nil
  1294       )
  1205       )
  1295 !
  1206 !
  1296 
  1207 
  1297 mainMenu
  1208 menuEdit
  1298     "this window spec was automatically generated by the ST/X MenuEditor"
  1209     "this window spec was automatically generated by the ST/X MenuEditor"
  1299 
  1210 
  1300     "do not manually edit this - the builder may not be able to
  1211     "do not manually edit this - the builder may not be able to
  1301      handle the specification if its corrupted."
  1212      handle the specification if its corrupted."
  1302 
  1213 
  1303     "
  1214     "
  1304      MenuEditor new openOnClass:DataSetBuilder andSelector:#mainMenu
  1215      MenuEditor new openOnClass:DataSetBuilder andSelector:#menuEdit
  1305      (Menu new fromLiteralArrayEncoding:(DataSetBuilder mainMenu)) startUp
  1216      (Menu new fromLiteralArrayEncoding:(DataSetBuilder menuEdit)) startUp
  1306     "
  1217     "
  1307 
  1218 
  1308     <resource: #menu>
  1219     <resource: #menu>
  1309 
  1220 
  1310     ^
  1221     ^
  1311      
  1222      
  1312        #(#Menu
  1223        #(#Menu
  1313           
  1224           
  1314            #(
  1225            #(
  1315              #(#MenuItem
  1226              #(#MenuItem
  1316                 #'label:' 'file'
  1227                 #'label:' 'Cut'
  1317                 #'submenu:' 
  1228                 #'value:' #doCutColumn
  1318                  #(#Menu
  1229                 #'enabled:' #isColumnSelected
  1319                     
  1230                 #'shortcutKeyCharacter:' #Cut
  1320                      #(
       
  1321                        #(#MenuItem
       
  1322                           #'label:' 'close'
       
  1323                           #'value:' #closeRequest
       
  1324                       )
       
  1325                     ) nil
       
  1326                     nil
       
  1327                 )
       
  1328             )
  1231             )
  1329              #(#MenuItem
  1232              #(#MenuItem
  1330                 #'label:' 'code'
  1233                 #'label:' 'Copy'
  1331                 #'submenu:' 
  1234                 #'value:' #doCopyColumn
  1332                  #(#Menu
  1235                 #'enabled:' #isColumnSelected
  1333                     
  1236                 #'shortcutKeyCharacter:' #Copy
  1334                      #(
  1237             )
  1335                        #(#MenuItem
  1238              #(#MenuItem
  1336                           #'label:' 'class'
  1239                 #'label:' 'Paste'
  1337                           #'value:' #doDefineClass
  1240                 #'value:' #doPasteColumn
  1338                       )
  1241                 #'enabled:' #valueOfHavingClipboard
  1339                        #(#MenuItem
  1242                 #'shortcutKeyCharacter:' #Paste
  1340                           #'label:' 'generate code'
  1243             )
  1341                           #'value:' #doGenerateCode
  1244              #(#MenuItem
  1342                       )
  1245                 #'label:' '-'
  1343                        #(#MenuItem
  1246             )
  1344                           #'label:' '-'
  1247              #(#MenuItem
  1345                       )
  1248                 #'label:' 'Create Column'
  1346                        #(#MenuItem
  1249                 #'value:' #doCreateColumn
  1347                           #'label:' 'browse class'
  1250                 #'enabled:' #isNotModified
  1348                           #'value:' #doBrowseClass
  1251                 #'labelImage:' #(#ResourceRetriever #DataSetBuilder #newColumnIcon 'Create Column')
  1349                       )
  1252             )
  1350                     ) nil
  1253              #(#MenuItem
  1351                     nil
  1254                 #'label:' '-'
  1352                 )
  1255             )
       
  1256              #(#MenuItem
       
  1257                 #'label:' 'Shift Up'
       
  1258                 #'value:' #'doMoveColumn:'
       
  1259                 #'enabled:' #isColumnSelected
       
  1260                 #'argument:' #up
       
  1261                 #'labelImage:' #(#ResourceRetriever #DataSetBuilder #upIcon 'Shift Up')
       
  1262             )
       
  1263              #(#MenuItem
       
  1264                 #'label:' 'Shift Down'
       
  1265                 #'value:' #'doMoveColumn:'
       
  1266                 #'enabled:' #isColumnSelected
       
  1267                 #'argument:' #down
       
  1268                 #'labelImage:' #(#ResourceRetriever #DataSetBuilder #downIcon 'Shift Down')
  1353             )
  1269             )
  1354           ) nil
  1270           ) nil
  1355           nil
  1271           nil
  1356       )
  1272       )
  1357 !
  1273 !
  1358 
  1274 
  1359 subMenu
  1275 menuToolbar
  1360     "this window spec was automatically generated by the ST/X MenuEditor"
  1276     "this window spec was automatically generated by the ST/X MenuEditor"
  1361 
  1277 
  1362     "do not manually edit this - the builder may not be able to
  1278     "do not manually edit this - the builder may not be able to
  1363      handle the specification if its corrupted."
  1279      handle the specification if its corrupted."
  1364 
  1280 
  1365     "
  1281     "
  1366      MenuEditor new openOnClass:DataSetBuilder andSelector:#subMenu
  1282      MenuEditor new openOnClass:DataSetBuilder andSelector:#menuToolbar
  1367      (Menu new fromLiteralArrayEncoding:(DataSetBuilder subMenu)) startUp
  1283      (Menu new fromLiteralArrayEncoding:(DataSetBuilder menuToolbar)) startUp
  1368     "
  1284     "
  1369 
  1285 
  1370     <resource: #menu>
  1286     <resource: #menu>
  1371 
  1287 
  1372     ^
  1288     ^
  1374        #(#Menu
  1290        #(#Menu
  1375           
  1291           
  1376            #(
  1292            #(
  1377              #(#MenuItem
  1293              #(#MenuItem
  1378                 #'label:' 'createColumn'
  1294                 #'label:' 'createColumn'
       
  1295                 #'isButton:' true
  1379                 #'value:' #doCreateColumn
  1296                 #'value:' #doCreateColumn
  1380                 #'enabled:' #isNotModified
  1297                 #'enabled:' #isNotModified
  1381                 #'labelImage:' #(#ResourceRetriever #MenuEditor #iconCreateItem)
  1298                 #'labelImage:' #(#ResourceRetriever nil #newColumnIcon)
  1382             )
       
  1383              #(#MenuItem
       
  1384                 #'label:' '-'
       
  1385             )
  1299             )
  1386              #(#MenuItem
  1300              #(#MenuItem
  1387                 #'label:' ''
  1301                 #'label:' ''
  1388             )
  1302             )
  1389              #(#MenuItem
  1303              #(#MenuItem
  1390                 #'label:' '-'
       
  1391             )
       
  1392              #(#MenuItem
       
  1393                 #'label:' 'stepUp'
  1304                 #'label:' 'stepUp'
       
  1305                 #'isButton:' true
  1394                 #'value:' #'doMoveColumn:'
  1306                 #'value:' #'doMoveColumn:'
  1395                 #'enabled:' #isNotModified
  1307                 #'enabled:' #isColumnSelected
  1396                 #'argument:' #up
  1308                 #'argument:' #up
  1397                 #'labelImage:' #(#ResourceRetriever #UIPainter #iconStepUp)
  1309                 #'labelImage:' #(#ResourceRetriever nil #upIcon)
  1398             )
       
  1399              #(#MenuItem
       
  1400                 #'label:' '-'
       
  1401             )
  1310             )
  1402              #(#MenuItem
  1311              #(#MenuItem
  1403                 #'label:' 'stepDown'
  1312                 #'label:' 'stepDown'
       
  1313                 #'isButton:' true
  1404                 #'value:' #'doMoveColumn:'
  1314                 #'value:' #'doMoveColumn:'
  1405                 #'enabled:' #isNotModified
  1315                 #'enabled:' #isColumnSelected
  1406                 #'argument:' #down
  1316                 #'argument:' #down
  1407                 #'labelImage:' #(#ResourceRetriever #UIPainter #iconStepDown)
  1317                 #'labelImage:' #(#ResourceRetriever nil #downIcon)
  1408             )
       
  1409              #(#MenuItem
       
  1410                 #'label:' '-'
       
  1411             )
  1318             )
  1412           ) nil
  1319           ) nil
  1413           nil
  1320           nil
  1414       )
  1321       )
  1415 ! !
  1322 ! !
       
  1323 
       
  1324 !DataSetBuilder class methodsFor:'resources'!
       
  1325 
       
  1326 newColumnIcon
       
  1327     "ImageEditor openOnClass:self andSelector:#newColumnIcon"
       
  1328 
       
  1329     <resource: #image>
       
  1330     ^(Depth4Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(4 )); samplesPerPixel:(1); bits:(#[17 17 16 0 0 0 0 0 0 17 17 17 17 16 17 17 17 17 17 32 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 32 2 32 34 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 32 2 32 34 48 17 17 16 17 16 18 34 34 34 34 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 2 34 2 2 48 17 17 17 17 16 18 0 2 0 2 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 2 2 2 2 48 17 17 17 17 16 18 0 2 0 2 48 17 17 17 17 16 18 2 2 0 2 48 17 17 17 17 16 18 2 2 2 2 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 18 34 34 34 34 48 17 17 17 17 16 35 51 51 51 51 48 17 17 17 17 16 0 0 0 0 0 0 17 17]) ; colorMap:((OrderedCollection new add:(Color black); add:(Color white); add:(Color grey:66.9978); add:(Color grey:49.9962); add:(Color red:100.0 green:0.0 blue:0.0); add:(Color red:0.0 green:100.0 blue:0.0); add:(Color red:0.0 green:0.0 blue:100.0); add:(Color red:0.0 green:100.0 blue:100.0); add:(Color red:100.0 green:100.0 blue:0.0); add:(Color red:100.0 green:0.0 blue:100.0); add:(Color red:49.9992 green:0.0 blue:0.0); add:(Color red:0.0 green:49.9992 blue:0.0); add:(Color red:0.0 green:0.0 blue:49.9992); add:(Color red:0.0 green:49.9992 blue:49.9992); add:(Color red:49.9992 green:49.9992 blue:0.0); add:(Color red:49.9992 green:0.0 blue:49.9992); yourself)); mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1 )); samplesPerPixel:(1); bits:(#[7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 192 7 255 195 7 255 192 7 255 192 7 255 192 7 255 192 7 255 195 7 255 193 7 255 192 7 255 195 7 255 192 7 255 195 7 255 192 7 255 192 7 255 193]) ; yourself); yourself! !
  1416 
  1331 
  1417 !DataSetBuilder methodsFor:'accessing'!
  1332 !DataSetBuilder methodsFor:'accessing'!
  1418 
  1333 
  1419 columns
  1334 columns
  1420     "returns list of columns
  1335     "returns list of columns
  1483 
  1398 
  1484 
  1399 
  1485 
  1400 
  1486 !
  1401 !
  1487 
  1402 
       
  1403 doCopyColumn
       
  1404     "copy selected column to the clipboard"
       
  1405 
       
  1406     |idx|
       
  1407 
       
  1408     (idx := selectedColumnIndex) ~~ 0 ifTrue:[
       
  1409         self clipboard: (columns at: idx) deepCopy.
       
  1410     ].
       
  1411 !
       
  1412 
  1488 doCreateColumn
  1413 doCreateColumn
  1489     "create a new column after selected column or at left (nothing selected)
  1414     "create a new column after selected column or at left (nothing selected)
  1490     "
  1415     "
  1491     |label list|
  1416     |label list|
  1492 
  1417 
  1493     list := self seqList.
  1418     list := self seqList.
  1494     label := 'column ', list size printString.
  1419     label := 'Column ', list size printString.
  1495     columns add:(DataSetColumnSpec label:label selector:#ToBeDefined) afterIndex:selectedColumnIndex.
  1420     columns add:(DataSetColumnSpec label:label selector:nil) afterIndex:selectedColumnIndex.
  1496     self seqList add:label afterIndex:selectedColumnIndex.
  1421     self seqList add:label afterIndex:selectedColumnIndex.
  1497     hasChanged := true.
  1422     hasChanged := true.
  1498 
  1423 
  1499     self modified ifFalse:[
  1424     self modified ifFalse:[
  1500         self selectedColumnModel value:(selectedColumnIndex + 1)
  1425         self selectedColumnModel value:(selectedColumnIndex + 1)
  1502     self updateColumnView.
  1427     self updateColumnView.
  1503 
  1428 
  1504 !
  1429 !
  1505 
  1430 
  1506 doCutColumn
  1431 doCutColumn
  1507     "remove selected column
  1432     "remove selected column and put it to the clipboard"
  1508     "
  1433 
  1509     |idx|
  1434     |idx|
  1510 
  1435 
  1511     (idx := selectedColumnIndex) ~~ 0 ifTrue:[
  1436     (idx := selectedColumnIndex) ~~ 0 ifTrue:[
  1512         self selectedColumnModel value:0.
  1437         self selectedColumnModel value:0.
       
  1438         self clipboard: (columns at: idx).
  1513         columns removeIndex:idx.
  1439         columns removeIndex:idx.
  1514         self seqList removeIndex:idx.
  1440         self seqList removeIndex:idx.
  1515         self updateColumnView.
  1441         self updateColumnView.
       
  1442         columns isEmpty ifTrue: [self isColumnSelected value: false]
  1516     ].
  1443     ].
  1517 !
  1444 !
  1518 
  1445 
  1519 doDefineClass
  1446 doDefineClass
  1520     "launch a dialog to define class and superclass
  1447     "launch a dialog to define class and superclass
  1648     list    add:label beforeIndex:idx.
  1575     list    add:label beforeIndex:idx.
  1649     self selectedColumnModel value:idx.
  1576     self selectedColumnModel value:idx.
  1650     self updateColumnView.
  1577     self updateColumnView.
  1651 !
  1578 !
  1652 
  1579 
       
  1580 doPasteColumn
       
  1581     "paste clipboard copy column after selected column or at left (nothing selected)
       
  1582     "
       
  1583     |label list|
       
  1584 
       
  1585     list := self seqList.
       
  1586     label := self class clipboard label.
       
  1587     columns add: self class clipboard deepCopy afterIndex:selectedColumnIndex.
       
  1588     self seqList add: label afterIndex:selectedColumnIndex.
       
  1589     hasChanged := true.
       
  1590 
       
  1591     self modified ifFalse:[
       
  1592         self selectedColumnModel value:(selectedColumnIndex + 1)
       
  1593     ].
       
  1594     self updateColumnView.
       
  1595 
       
  1596 !
       
  1597 
  1653 mainMenu
  1598 mainMenu
  1654     "this window spec was automatically generated by the UI Builder"
  1599     "this window spec was automatically generated by the UI Builder"
  1655 
  1600 
  1656     ^ self class mainMenu
  1601     ^ self class mainMenu
       
  1602 
       
  1603 
       
  1604 !
       
  1605 
       
  1606 menu
       
  1607     "this window spec was automatically generated by the UI Builder"
       
  1608 
       
  1609     ^ self class menu
       
  1610 
       
  1611 
       
  1612 !
       
  1613 
       
  1614 menuEdit
       
  1615     "this window spec was automatically generated by the UI Builder"
       
  1616 
       
  1617     ^ self class menuEdit
       
  1618 
       
  1619 
       
  1620 !
       
  1621 
       
  1622 menuToolbar
       
  1623     "this window spec was automatically generated by the UI Builder"
       
  1624 
       
  1625     ^ self class menuToolbar
  1657 
  1626 
  1658 
  1627 
  1659 !
  1628 !
  1660 
  1629 
  1661 subMenu
  1630 subMenu
  1711             aModel value:(column perform:aKey)
  1680             aModel value:(column perform:aKey)
  1712         ].
  1681         ].
  1713         tabSelectionIndex == 0 ifTrue:[self tabModel value:1].
  1682         tabSelectionIndex == 0 ifTrue:[self tabModel value:1].
  1714     ].
  1683     ].
  1715     self modifiedChannel value:false.
  1684     self modifiedChannel value:false.
  1716     self isNotModified   value:true.
       
  1717     isModified := false.
  1685     isModified := false.
  1718 ! !
  1686 ! !
  1719 
  1687 
  1720 !DataSetBuilder methodsFor:'aspects'!
  1688 !DataSetBuilder methodsFor:'aspects'!
  1721 
       
  1722 alignmentList
       
  1723     ^ #( #left #right #center )
       
  1724 
       
  1725 
       
  1726 !
       
  1727 
  1689 
  1728 aspectFor:aKey
  1690 aspectFor:aKey
  1729     "returns aspect for a key or nil
  1691     "returns aspect for a key or nil
  1730     "
  1692     "
  1731   ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
  1693   ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
  1748 
  1710 
  1749     ].
  1711     ].
  1750     ^ list
  1712     ^ list
  1751 !
  1713 !
  1752 
  1714 
  1753 isNotModified
  1715 isColumnSelected
  1754     "returns a boolean value holder which is set to true if something is modified
  1716     "returns a boolean value holder which is set to true if something is modified
  1755      and not accepted
  1717      and not accepted
  1756     "
  1718     "
  1757     ^ builder valueAspectFor:#isNotModified initialValue:true
  1719     ^ builder valueAspectFor:#isColumnSelected initialValue: false
  1758 
  1720 
  1759 
  1721 
  1760 
  1722 
  1761 !
  1723 !
  1762 
  1724 
  1840     (holder := builder bindingAt:#tabModel) isNil ifTrue:[
  1802     (holder := builder bindingAt:#tabModel) isNil ifTrue:[
  1841         holder := AspectAdaptor new subject:self; forAspect:#tabSelectionIndex.
  1803         holder := AspectAdaptor new subject:self; forAspect:#tabSelectionIndex.
  1842         builder aspectAt:#tabModel put:holder.
  1804         builder aspectAt:#tabModel put:holder.
  1843     ].
  1805     ].
  1844     ^ holder
  1806     ^ holder
  1845 !
       
  1846 
       
  1847 typeList
       
  1848     "automatically generated by UIPainter ..."
       
  1849 
       
  1850     ^ #( string password number numberOrNil symbolOrNil )
       
  1851 ! !
  1807 ! !
  1852 
  1808 
  1853 !DataSetBuilder methodsFor:'change & update'!
  1809 !DataSetBuilder methodsFor:'change & update'!
  1854 
  1810 
  1855 update:something with:aParameter from:someObject
  1811 update:something with:aParameter from:someObject
  1856     "one of my aspects has changed; update modified channel
  1812     "one of my aspects has changed; update modified channel
  1857     "
  1813     "
  1858     isModified ifFalse:[
  1814     isModified ifFalse:[
  1859         isModified := hasChanged := true.
  1815         isModified := hasChanged := true.
  1860         self modifiedChannel value:true.
  1816         self modifiedChannel value:true.
  1861         self isNotModified   value:false.
  1817         "self isNotModified   value:false. "
  1862     ]
  1818     ]
  1863 ! !
  1819 ! !
  1864 
  1820 
  1865 !DataSetBuilder methodsFor:'code generation'!
  1821 !DataSetBuilder methodsFor:'code generation'!
  1866 
  1822 
  2155 
  2111 
  2156 ! !
  2112 ! !
  2157 
  2113 
  2158 !DataSetBuilder methodsFor:'private'!
  2114 !DataSetBuilder methodsFor:'private'!
  2159 
  2115 
       
  2116 checkMenuItemModified
       
  2117     "check column modification"
       
  2118 
       
  2119     self modifiedChannel value
       
  2120     ifTrue:
       
  2121     [
       
  2122         ((YesNoBox title:'Column was modified!!\Save it?\' withCRs)        
       
  2123             noText:'No';
       
  2124             yesText:'Yes';
       
  2125             showAtPointer;
       
  2126             accepted) ifFalse: [self modifiedChannel value: false. ^true].
       
  2127         self accept
       
  2128     ].
       
  2129     ^true
       
  2130 
       
  2131 !
       
  2132 
  2160 resolveClassNamed
  2133 resolveClassNamed
  2161     "returns current class or nil
  2134     "returns current class or nil
  2162     "
  2135     "
  2163     ^ Smalltalk resolveName:className inClass:self class.
  2136     ^ Smalltalk resolveName:className inClass:self class.
  2164 
  2137 
  2205     "change selected column and update specifications
  2178     "change selected column and update specifications
  2206     "
  2179     "
  2207     something == selectedColumnIndex ifFalse:[
  2180     something == selectedColumnIndex ifFalse:[
  2208         selectedColumnIndex := something ? 0.
  2181         selectedColumnIndex := something ? 0.
  2209         self cancel.
  2182         self cancel.
       
  2183         self isColumnSelected value: true
  2210     ].
  2184     ].
  2211 
  2185 
  2212 !
  2186 !
  2213 
  2187 
  2214 tabSelectionIndex
  2188 tabSelectionIndex
  2236     self specChannel value:specSelector
  2210     self specChannel value:specSelector
  2237 
  2211 
  2238 
  2212 
  2239 ! !
  2213 ! !
  2240 
  2214 
       
  2215 !DataSetBuilder methodsFor:'startup / release'!
       
  2216 
       
  2217 postBuildWith:builder
       
  2218 
       
  2219     super postBuildWith:builder.
       
  2220 
       
  2221     (builder componentAt: #columnView) selectConditionBlock: [:i|self checkMenuItemModified]
       
  2222 
       
  2223 
       
  2224 
       
  2225 ! !
       
  2226 
  2241 !DataSetBuilder class methodsFor:'documentation'!
  2227 !DataSetBuilder class methodsFor:'documentation'!
  2242 
  2228 
  2243 version
  2229 version
  2244     ^ '$Header$'
  2230     ^ '$Header$'
  2245 ! !
  2231 ! !