DataSetBuilder.st
changeset 1300 7514e12ff1b8
parent 1262 2849b1a15ec8
child 1311 84a556c31ac6
equal deleted inserted replaced
1299:2e9c6d67fed8 1300:7514e12ff1b8
    14 
    14 
    15 
    15 
    16 
    16 
    17 ResourceSpecEditor subclass:#DataSetBuilder
    17 ResourceSpecEditor subclass:#DataSetBuilder
    18 	instanceVariableNames:'rowClass rowSuperClass columnView columns selectedColumnIndex
    18 	instanceVariableNames:'rowClass rowSuperClass columnView columns selectedColumnIndex
    19 		modalOpened noteBook listOfSpecViews'
    19 		modalOpened listOfSpecViews'
    20 	classVariableNames:''
    20 	classVariableNames:''
    21 	poolDictionaries:''
    21 	poolDictionaries:''
    22 	category:'Interface-UIPainter'
    22 	category:'Interface-UIPainter'
    23 !
    23 !
    24 
    24 
   326        #(#WindowSpec
   326        #(#WindowSpec
   327           #label: 'DataSet Basic'
   327           #label: 'DataSet Basic'
   328           #name: 'DataSet Basic'
   328           #name: 'DataSet Basic'
   329           #min: #(#Point 10 10)
   329           #min: #(#Point 10 10)
   330           #max: #(#Point 1280 1024)
   330           #max: #(#Point 1280 1024)
   331           #bounds: #(#Rectangle 640 340 1029 666)
   331           #bounds: #(#Rectangle 10 149 399 475)
   332         )
   332         )
   333         #component: 
   333         #component: 
   334        #(#SpecCollection
   334        #(#SpecCollection
   335           #collection: #(
   335           #collection: #(
   336            #(#FramedBoxSpec
   336            #(#FramedBoxSpec
   340               #labelPosition: #topLeft
   340               #labelPosition: #topLeft
   341               #component: 
   341               #component: 
   342              #(#SpecCollection
   342              #(#SpecCollection
   343                 #collection: #(
   343                 #collection: #(
   344                  #(#LabelSpec
   344                  #(#LabelSpec
       
   345                     #label: 'ID:'
       
   346                     #name: 'idLabel'
       
   347                     #layout: #(#AlignmentOrigin 94 0 14 0 1 0.5)
       
   348                     #resizeForLabel: true
       
   349                   )
       
   350                  #(#InputFieldSpec
       
   351                     #attributes: 
       
   352                    #(#tabable
       
   353                       true
       
   354                     )
       
   355                     #name: 'idField'
       
   356                     #layout: #(#LayoutFrame 97 0 0 0 2 1.0 22 0)
       
   357                     #activeHelpKey: #basicsLabelId
       
   358                     #tabable: true
       
   359                     #model: #id
       
   360                     #group: #inputGroup
       
   361                     #acceptOnLostFocus: false
       
   362                     #acceptChannel: #acceptChannel
       
   363                     #modifiedChannel: #modifiedChannel
       
   364                     #acceptOnPointerLeave: false
       
   365                   )
       
   366                  #(#LabelSpec
   345                     #label: 'Label:'
   367                     #label: 'Label:'
   346                     #name: 'label1'
   368                     #name: 'label1'
   347                     #layout: #(#AlignmentOrigin 94 0 39 0 1 0.5)
   369                     #layout: #(#AlignmentOrigin 94 0 39 0 1 0.5)
   348                     #resizeForLabel: true
   370                     #resizeForLabel: true
   349                   )
   371                   )
   350                  #(#InputFieldSpec
   372                  #(#InputFieldSpec
       
   373                     #attributes: 
       
   374                    #(#tabable
       
   375                       true
       
   376                     )
   351                     #name: 'labelField'
   377                     #name: 'labelField'
   352                     #layout: #(#LayoutFrame 97 0 28 0 2 1.0 50 0)
   378                     #layout: #(#LayoutFrame 97 0 28 0 2 1.0 50 0)
   353                     #activeHelpKey: #basicsLabel
   379                     #activeHelpKey: #basicsLabel
   354                     #tabable: true
   380                     #tabable: true
   355                     #model: #label
   381                     #model: #label
   373                     #name: 'fontMenu'
   399                     #name: 'fontMenu'
   374                     #layout: #(#LayoutFrame 97 0 56 0 0 1.0 78 0)
   400                     #layout: #(#LayoutFrame 97 0 56 0 0 1.0 78 0)
   375                     #activeHelpKey: #labelFont
   401                     #activeHelpKey: #labelFont
   376                     #model: #style
   402                     #model: #style
   377                   )
   403                   )
       
   404                  #(#LabelSpec
       
   405                     #label: 'Type:'
       
   406                     #name: 'Type'
       
   407                     #layout: #(#AlignmentOrigin 52 0 105 0 1 0.5)
       
   408                     #translateLabel: true
       
   409                     #resizeForLabel: true
       
   410                   )
       
   411                  #(#ComboListSpec
       
   412                     #attributes: 
       
   413                    #(#tabable
       
   414                       true
       
   415                     )
       
   416                     #name: 'labelButtonType'
       
   417                     #layout: #(#LayoutFrame 57 0 96 0 182 0 116 0)
       
   418                     #tabable: true
       
   419                     #model: #labelButtonType
       
   420                     #comboList: 
       
   421                    #(#None
       
   422                       #Button #Group
       
   423                     )
       
   424                     #useIndex: false
       
   425                   )
       
   426                  #(#LabelSpec
       
   427                     #label: 'Align:'
       
   428                     #name: 'JustificationLabel'
       
   429                     #layout: #(#LayoutFrame 191 0 97 0 236 0 118 0)
       
   430                     #resizeForLabel: true
       
   431                     #adjust: #left
       
   432                   )
   378                  #(#PopUpListSpec
   433                  #(#PopUpListSpec
       
   434                     #attributes: 
       
   435                    #(#tabable
       
   436                       true
       
   437                     )
   379                     #label: 'Alignment'
   438                     #label: 'Alignment'
   380                     #name: 'Alignment'
   439                     #name: 'Alignment'
   381                     #layout: #(#LayoutFrame 248 0 97 0 2 1.0 119 0)
   440                     #layout: #(#LayoutFrame 248 0 97 0 2 1.0 119 0)
   382                     #activeHelpKey: #basicsJustification
   441                     #activeHelpKey: #basicsJustification
       
   442                     #tabable: true
   383                     #model: #labelAlignment
   443                     #model: #labelAlignment
   384                     #menu: 
   444                     #menu: 
   385                    #(#left
   445                    #(#left
   386                       #right #center
   446                       #right #center
   387                     )
   447                     )
   388                     #useIndex: false
   448                     #useIndex: false
   389                   )
   449                   )
   390                  #(#LabelSpec
       
   391                     #label: 'Align:'
       
   392                     #name: 'JustificationLabel'
       
   393                     #layout: #(#LayoutFrame 191 0 97 0 236 0 118 0)
       
   394                     #resizeForLabel: true
       
   395                     #adjust: #left
       
   396                   )
       
   397                  #(#CheckBoxSpec
   450                  #(#CheckBoxSpec
       
   451                     #attributes: 
       
   452                    #(#tabable
       
   453                       true
       
   454                     )
   398                     #label: 'Label Is Image'
   455                     #label: 'Label Is Image'
   399                     #name: 'labelIsImage'
   456                     #name: 'labelIsImage'
   400                     #layout: #(#LayoutOrigin -3 0 122 0)
   457                     #layout: #(#LayoutOrigin -3 0 122 0)
   401                     #activeHelpKey: #basicsLabelIsImage
   458                     #activeHelpKey: #basicsLabelIsImage
   402                     #tabable: true
   459                     #tabable: true
   403                     #model: #labelIsImage
   460                     #model: #labelIsImage
   404                   )
   461                   )
   405                  #(#CheckBoxSpec
   462                  #(#CheckBoxSpec
       
   463                     #attributes: 
       
   464                    #(#tabable
       
   465                       true
       
   466                     )
   406                     #label: 'Translate Label'
   467                     #label: 'Translate Label'
   407                     #name: 'CheckBox2'
   468                     #name: 'CheckBox2'
   408                     #layout: #(#LayoutOrigin 160 0 122 0)
   469                     #layout: #(#LayoutOrigin 160 0 122 0)
   409                     #activeHelpKey: #basicsLabelTranslate
   470                     #activeHelpKey: #basicsLabelTranslate
   410                     #tabable: true
   471                     #tabable: true
   411                     #model: #translateLabel
   472                     #model: #translateLabel
   412                   )
       
   413                  #(#LabelSpec
       
   414                     #label: 'ID:'
       
   415                     #name: 'idLabel'
       
   416                     #layout: #(#AlignmentOrigin 94 0 14 0 1 0.5)
       
   417                     #resizeForLabel: true
       
   418                   )
       
   419                  #(#InputFieldSpec
       
   420                     #name: 'idField'
       
   421                     #layout: #(#LayoutFrame 97 0 0 0 2 1.0 22 0)
       
   422                     #activeHelpKey: #basicsLabelId
       
   423                     #tabable: true
       
   424                     #model: #id
       
   425                     #group: #inputGroup
       
   426                     #acceptOnLostFocus: false
       
   427                     #acceptChannel: #acceptChannel
       
   428                     #modifiedChannel: #modifiedChannel
       
   429                     #acceptOnPointerLeave: false
       
   430                   )
       
   431                  #(#LabelSpec
       
   432                     #label: 'Type:'
       
   433                     #name: 'Type'
       
   434                     #layout: #(#AlignmentOrigin 52 0 105 0 1 0.5)
       
   435                     #translateLabel: true
       
   436                     #resizeForLabel: true
       
   437                   )
       
   438                  #(#ComboListSpec
       
   439                     #name: 'labelButtonType'
       
   440                     #layout: #(#LayoutFrame 57 0 96 0 182 0 116 0)
       
   441                     #model: #labelButtonType
       
   442                     #comboList: 
       
   443                    #( #None #Button #Group
       
   444                     )
       
   445                     #useIndex: false
       
   446                   )
   473                   )
   447                  )
   474                  )
   448                
   475                
   449               )
   476               )
   450             )
   477             )
   461                     #name: 'rendererLabel'
   488                     #name: 'rendererLabel'
   462                     #layout: #(#AlignmentOrigin 94 0 16 0 1 0.5)
   489                     #layout: #(#AlignmentOrigin 94 0 16 0 1 0.5)
   463                     #resizeForLabel: true
   490                     #resizeForLabel: true
   464                   )
   491                   )
   465                  #(#ComboListSpec
   492                  #(#ComboListSpec
       
   493                     #attributes: 
       
   494                    #(#tabable
       
   495                       true
       
   496                     )
   466                     #name: 'rendererField'
   497                     #name: 'rendererField'
   467                     #layout: #(#LayoutFrame 97 0 5 0 2 1.0 27 0)
   498                     #layout: #(#LayoutFrame 97 0 5 0 2 1.0 27 0)
   468                     #activeHelpKey: #basicsRenderer
   499                     #activeHelpKey: #basicsRenderer
   469                     #tabable: true
   500                     #tabable: true
   470                     #model: #rendererType
   501                     #model: #rendererType
   476                     #name: 'editorLabel'
   507                     #name: 'editorLabel'
   477                     #layout: #(#AlignmentOrigin 94 0 42 0 1 0.5)
   508                     #layout: #(#AlignmentOrigin 94 0 42 0 1 0.5)
   478                     #resizeForLabel: true
   509                     #resizeForLabel: true
   479                   )
   510                   )
   480                  #(#ComboBoxSpec
   511                  #(#ComboBoxSpec
       
   512                     #attributes: 
       
   513                    #(#tabable
       
   514                       true
       
   515                     )
   481                     #name: 'editorField'
   516                     #name: 'editorField'
   482                     #layout: #(#LayoutFrame 97 0 31 0 2 1.0 53 0)
   517                     #layout: #(#LayoutFrame 97 0 31 0 2 1.0 53 0)
   483                     #activeHelpKey: #basicsEditor
   518                     #activeHelpKey: #basicsEditor
   484                     #tabable: true
   519                     #tabable: true
   485                     #model: #editorType
   520                     #model: #editorType
   497                     #layout: #(#LayoutFrame 191 0 58 0 236 0 79 0)
   532                     #layout: #(#LayoutFrame 191 0 58 0 236 0 79 0)
   498                     #resizeForLabel: true
   533                     #resizeForLabel: true
   499                     #adjust: #left
   534                     #adjust: #left
   500                   )
   535                   )
   501                  #(#PopUpListSpec
   536                  #(#PopUpListSpec
       
   537                     #attributes: 
       
   538                    #(#tabable
       
   539                       true
       
   540                     )
   502                     #label: 'Alignment'
   541                     #label: 'Alignment'
   503                     #name: 'AlignmentC'
   542                     #name: 'AlignmentC'
   504                     #layout: #(#LayoutFrame 248 0 58 0 2 1.0 80 0)
   543                     #layout: #(#LayoutFrame 248 0 58 0 2 1.0 80 0)
   505                     #activeHelpKey: #basicsJustificationEditor
   544                     #activeHelpKey: #basicsJustificationEditor
       
   545                     #tabable: true
   506                     #model: #columnAlignment
   546                     #model: #columnAlignment
   507                     #menu: 
   547                     #menu: 
   508                    #(#left
   548                    #(#left
   509                       #right #center
   549                       #right #center
   510                     )
   550                     )
   886        #(#WindowSpec
   926        #(#WindowSpec
   887           #label: 'DataSet Dimension'
   927           #label: 'DataSet Dimension'
   888           #name: 'DataSet Dimension'
   928           #name: 'DataSet Dimension'
   889           #min: #(#Point 10 10)
   929           #min: #(#Point 10 10)
   890           #max: #(#Point 1280 1024)
   930           #max: #(#Point 1280 1024)
   891           #bounds: #(#Rectangle 96 97 421 445)
   931           #bounds: #(#Rectangle 132 132 457 480)
   892         )
   932         )
   893         #component: 
   933         #component: 
   894        #(#SpecCollection
   934        #(#SpecCollection
   895           #collection: #(
   935           #collection: #(
   896            #(#FramedBoxSpec
   936            #(#FramedBoxSpec
   900               #labelPosition: #topLeft
   940               #labelPosition: #topLeft
   901               #component: 
   941               #component: 
   902              #(#SpecCollection
   942              #(#SpecCollection
   903                 #collection: #(
   943                 #collection: #(
   904                  #(#CheckBoxSpec
   944                  #(#CheckBoxSpec
       
   945                     #attributes: 
       
   946                    #(#tabable
       
   947                       true
       
   948                     )
   905                     #label: 'Show Row-Separator'
   949                     #label: 'Show Row-Separator'
   906                     #name: 'showRowSeparator'
   950                     #name: 'showRowSeparator'
   907                     #layout: #(#LayoutFrame 5 0 15 0 293 0 38 0)
   951                     #layout: #(#LayoutFrame 5 0 15 0 293 0 38 0)
   908                     #activeHelpKey: #frameShowRowSeparator
   952                     #activeHelpKey: #frameShowRowSeparator
   909                     #tabable: true
   953                     #tabable: true
   910                     #model: #showRowSeparator
   954                     #model: #showRowSeparator
   911                   )
   955                   )
   912                  #(#InputFieldSpec
   956                  #(#InputFieldSpec
       
   957                     #attributes: 
       
   958                    #(#tabable
       
   959                       true
       
   960                     )
   913                     #name: 'rowSeparatorSelector'
   961                     #name: 'rowSeparatorSelector'
   914                     #layout: #(#LayoutFrame 29 0 41 0 2 1.0 63 0)
   962                     #layout: #(#LayoutFrame 29 0 41 0 2 1.0 63 0)
   915                     #activeHelpKey: #frameShowRowSeparatorSelector
   963                     #activeHelpKey: #frameShowRowSeparatorSelector
   916                     #tabable: true
   964                     #tabable: true
   917                     #model: #rowSeparatorSelector
   965                     #model: #rowSeparatorSelector
   921                     #acceptChannel: #acceptChannel
   969                     #acceptChannel: #acceptChannel
   922                     #modifiedChannel: #modifiedChannel
   970                     #modifiedChannel: #modifiedChannel
   923                     #acceptOnPointerLeave: false
   971                     #acceptOnPointerLeave: false
   924                   )
   972                   )
   925                  #(#CheckBoxSpec
   973                  #(#CheckBoxSpec
       
   974                     #attributes: 
       
   975                    #(#tabable
       
   976                       true
       
   977                     )
   926                     #label: 'Show Column-Separator'
   978                     #label: 'Show Column-Separator'
   927                     #name: 'showColSeparator'
   979                     #name: 'showColSeparator'
   928                     #layout: #(#LayoutFrame 5 0 70 0 294 0 93 0)
   980                     #layout: #(#LayoutFrame 5 0 70 0 294 0 93 0)
   929                     #activeHelpKey: #frameShowColumnSeparator
   981                     #activeHelpKey: #frameShowColumnSeparator
   930                     #tabable: true
   982                     #tabable: true
   948                     #layout: #(#AlignmentOrigin 140 0.0 23 0 1 0.5)
  1000                     #layout: #(#AlignmentOrigin 140 0.0 23 0 1 0.5)
   949                     #resizeForLabel: true
  1001                     #resizeForLabel: true
   950                     #adjust: #right
  1002                     #adjust: #right
   951                   )
  1003                   )
   952                  #(#InputFieldSpec
  1004                  #(#InputFieldSpec
       
  1005                     #attributes: 
       
  1006                    #(#tabable
       
  1007                       true
       
  1008                     )
   953                     #name: 'widthField'
  1009                     #name: 'widthField'
   954                     #layout: #(#LayoutFrame 142 0 12 0 2 1.0 34 0)
  1010                     #layout: #(#LayoutFrame 142 0 12 0 2 1.0 34 0)
   955                     #activeHelpKey: #frameColumnWidth
  1011                     #activeHelpKey: #frameColumnWidth
   956                     #tabable: true
  1012                     #tabable: true
   957                     #model: #width
  1013                     #model: #width
   968                     #layout: #(#AlignmentOrigin 140 0.0 51 0 1 0.5)
  1024                     #layout: #(#AlignmentOrigin 140 0.0 51 0 1 0.5)
   969                     #resizeForLabel: true
  1025                     #resizeForLabel: true
   970                     #adjust: #right
  1026                     #adjust: #right
   971                   )
  1027                   )
   972                  #(#InputFieldSpec
  1028                  #(#InputFieldSpec
       
  1029                     #attributes: 
       
  1030                    #(#tabable
       
  1031                       true
       
  1032                     )
   973                     #name: 'minWidthField'
  1033                     #name: 'minWidthField'
   974                     #layout: #(#LayoutFrame 142 0 40 0 2 1.0 62 0)
  1034                     #layout: #(#LayoutFrame 142 0 40 0 2 1.0 62 0)
   975                     #activeHelpKey: #frameMinWidth
  1035                     #activeHelpKey: #frameMinWidth
   976                     #tabable: true
  1036                     #tabable: true
   977                     #model: #minWidth
  1037                     #model: #minWidth
   988                     #layout: #(#AlignmentOrigin 140 0.0 79 0 1 0.5)
  1048                     #layout: #(#AlignmentOrigin 140 0.0 79 0 1 0.5)
   989                     #resizeForLabel: true
  1049                     #resizeForLabel: true
   990                     #adjust: #right
  1050                     #adjust: #right
   991                   )
  1051                   )
   992                  #(#InputFieldSpec
  1052                  #(#InputFieldSpec
       
  1053                     #attributes: 
       
  1054                    #(#tabable
       
  1055                       true
       
  1056                     )
   993                     #name: 'heightField'
  1057                     #name: 'heightField'
   994                     #layout: #(#LayoutFrame 142 0 68 0 2 1.0 90 0)
  1058                     #layout: #(#LayoutFrame 142 0 68 0 2 1.0 90 0)
   995                     #activeHelpKey: #frameRowHeight
  1059                     #activeHelpKey: #frameRowHeight
   996                     #tabable: true
  1060                     #tabable: true
   997                     #model: #height
  1061                     #model: #height
  1001                     #acceptChannel: #acceptChannel
  1065                     #acceptChannel: #acceptChannel
  1002                     #modifiedChannel: #modifiedChannel
  1066                     #modifiedChannel: #modifiedChannel
  1003                     #acceptOnPointerLeave: false
  1067                     #acceptOnPointerLeave: false
  1004                   )
  1068                   )
  1005                  #(#CheckBoxSpec
  1069                  #(#CheckBoxSpec
       
  1070                     #attributes: 
       
  1071                    #(#tabable
       
  1072                       true
       
  1073                     )
  1006                     #label: 'Use Preferred Width'
  1074                     #label: 'Use Preferred Width'
  1007                     #name: 'usePreferredWidth'
  1075                     #name: 'usePreferredWidth'
  1008                     #layout: #(#LayoutFrame 5 0 96 0 141 0 118 0)
  1076                     #layout: #(#LayoutFrame 5 0 96 0 141 0 118 0)
       
  1077                     #tabable: true
  1009                     #model: #usePreferredWidth
  1078                     #model: #usePreferredWidth
  1010                   )
  1079                   )
  1011                  )
  1080                  )
  1012                
  1081                
  1013               )
  1082               )
  1429         #name: #windowSpec
  1498         #name: #windowSpec
  1430         #window: 
  1499         #window: 
  1431        #(#WindowSpec
  1500        #(#WindowSpec
  1432           #label: 'Data Set Builder'
  1501           #label: 'Data Set Builder'
  1433           #name: 'Data Set Builder'
  1502           #name: 'Data Set Builder'
  1434           #layout: #(#LayoutFrame 93 0 74 0 725 0 640 0)
       
  1435           #level: 0
       
  1436           #min: #(#Point 10 10)
  1503           #min: #(#Point 10 10)
  1437           #max: #(#Point 1152 900)
  1504           #max: #(#Point 1152 900)
  1438           #bounds: #(#Rectangle 93 74 726 641)
  1505           #bounds: #(#Rectangle 531 329 1164 896)
  1439           #menu: #menu
  1506           #menu: #menu
  1440           #usePreferredExtent: false
       
  1441           #returnIsOKInDialog: true
       
  1442           #escapeIsCancelInDialog: true
       
  1443         )
  1507         )
  1444         #component: 
  1508         #component: 
  1445        #(#SpecCollection
  1509        #(#SpecCollection
  1446           #collection: #(
  1510           #collection: #(
  1447            #(#MenuPanelSpec
  1511            #(#MenuPanelSpec
  1450               #menu: #menuToolbar
  1514               #menu: #menuToolbar
  1451             )
  1515             )
  1452            #(#VariableVerticalPanelSpec
  1516            #(#VariableVerticalPanelSpec
  1453               #name: 'VariableVerticalPanel1'
  1517               #name: 'VariableVerticalPanel1'
  1454               #layout: #(#LayoutFrame 0 0.0 38 0.0 0 1.0 -26 1.0)
  1518               #layout: #(#LayoutFrame 0 0.0 38 0.0 0 1.0 -26 1.0)
  1455               #handles: #(#Any 0.25 1.0)
       
  1456               #component: 
  1519               #component: 
  1457              #(#SpecCollection
  1520              #(#SpecCollection
  1458                 #collection: #(
  1521                 #collection: #(
  1459                  #(#FramedBoxSpec
  1522                  #(#FramedBoxSpec
  1460                     #label: 'Table Columns'
  1523                     #label: 'Table Columns'
  1478                     )
  1541                     )
  1479                   )
  1542                   )
  1480                  #(#VariableHorizontalPanelSpec
  1543                  #(#VariableHorizontalPanelSpec
  1481                     #name: 'VariablePanel'
  1544                     #name: 'VariablePanel'
  1482                     #level: -1
  1545                     #level: -1
  1483                     #handles: #(#Any 0.235387 1.0)
       
  1484                     #component: 
  1546                     #component: 
  1485                    #(#SpecCollection
  1547                    #(#SpecCollection
  1486                       #collection: #(
  1548                       #collection: #(
  1487                        #(#ViewSpec
  1549                        #(#ViewSpec
  1488                           #name: 'labelsView'
  1550                           #name: 'labelsView'
  1514                                 #name: 'NoteBook'
  1576                                 #name: 'NoteBook'
  1515                                 #layout: #(#LayoutFrame 1 0.0 0 0.0 0 1.0 -30 1.0)
  1577                                 #layout: #(#LayoutFrame 1 0.0 0 0.0 0 1.0 -30 1.0)
  1516                                 #model: #tabModel
  1578                                 #model: #tabModel
  1517                                 #menu: #tabList
  1579                                 #menu: #tabList
  1518                                 #useIndex: true
  1580                                 #useIndex: true
  1519                                 #canvas: #noteBook
  1581                                 #canvas: #canvasHolder
       
  1582                                 #keepCanvasAlive: true
  1520                               )
  1583                               )
  1521                              #(#UISubSpecification
  1584                              #(#UISubSpecification
  1522                                 #name: 'SubSpecification'
  1585                                 #name: 'SubSpecification'
  1523                                 #layout: #(#LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1.0)
  1586                                 #layout: #(#LayoutFrame 2 0.0 -26 1 -2 1.0 -2 1.0)
  1524                                 #majorKey: #ToolApplicationModel
  1587                                 #majorKey: #ToolApplicationModel
  1529                           )
  1592                           )
  1530                         )
  1593                         )
  1531                        )
  1594                        )
  1532                      
  1595                      
  1533                     )
  1596                     )
       
  1597                     #handles: #(#Any 0.235387 1.0)
  1534                   )
  1598                   )
  1535                  )
  1599                  )
  1536                
  1600                
  1537               )
  1601               )
       
  1602               #handles: #(#Any 0.25 1.0)
  1538             )
  1603             )
  1539            #(#UISubSpecification
  1604            #(#UISubSpecification
  1540               #name: 'infoBarSubSpec'
  1605               #name: 'infoBarSubSpec'
  1541               #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
  1606               #layout: #(#LayoutFrame 0 0.0 -24 1 0 1.0 0 1.0)
  1542               #majorKey: #ToolApplicationModel
  1607               #majorKey: #ToolApplicationModel
  1982 
  2047 
  1983 ! !
  2048 ! !
  1984 
  2049 
  1985 !DataSetBuilder methodsFor:'aspects'!
  2050 !DataSetBuilder methodsFor:'aspects'!
  1986 
  2051 
       
  2052 canvasHolder
       
  2053     "returns a value holder which keeps selected column"
       
  2054 
       
  2055     |holder|
       
  2056 
       
  2057     (holder := builder bindingAt:#canvasHolder) isNil ifTrue:[
       
  2058         builder aspectAt:#canvasHolder put:(holder := ValueHolder new).
       
  2059     ].
       
  2060     ^ holder
       
  2061 !
       
  2062 
  1987 columnIsNotEditing
  2063 columnIsNotEditing
  1988     "returns a boolean value holder which is set to true if column is not editing"
  2064     "returns a boolean value holder which is set to true if column is not editing"
  1989 
  2065 
  1990     ^builder valueAspectFor:#columnIsNotEditing initialValue: true
  2066     ^builder valueAspectFor:#columnIsNotEditing initialValue: true
  1991 
  2067 
  2493     super initialize.
  2569     super initialize.
  2494 
  2570 
  2495     selectedColumnIndex := 0.
  2571     selectedColumnIndex := 0.
  2496     columns     := OrderedCollection new.
  2572     columns     := OrderedCollection new.
  2497     modalOpened := false.
  2573     modalOpened := false.
       
  2574     listOfSpecViews := Array new:(self class slices size).
  2498 
  2575 
  2499 ! !
  2576 ! !
  2500 
  2577 
  2501 !DataSetBuilder methodsFor:'private'!
  2578 !DataSetBuilder methodsFor:'private'!
  2502 
  2579 
  2607 !
  2684 !
  2608 
  2685 
  2609 tabSelection:something
  2686 tabSelection:something
  2610     "changes selected tab and set corresponding specification"
  2687     "changes selected tab and set corresponding specification"
  2611 
  2688 
  2612     |specSelector view spec|
  2689     |view spec|
  2613 
  2690 
  2614     (noteBook isNil or:[something == tabSelection]) ifTrue:[^self].
  2691     something == tabSelection ifTrue:[^self].
       
  2692 
       
  2693     (tabSelection := something) isNil ifTrue:[
       
  2694         tabSelection == 0 ifTrue:[^ self].
       
  2695         tabSelection := 0.
       
  2696     ].
  2615 
  2697 
  2616     self selectedColumn isNil ifTrue:[
  2698     self selectedColumn isNil ifTrue:[
  2617         tabSelection == 0 ifTrue:[^self].
  2699         tabSelection ~~ 0 ifTrue:[
  2618         tabSelection := 0
  2700             self tabModel value:0
  2619     ] ifFalse:[
  2701         ] ifFalse:[
  2620         tabSelection := something.
  2702             self canvasHolder value:nil
       
  2703         ].
       
  2704         ^ self
  2621     ].
  2705     ].
  2622     view := listOfSpecViews at:(tabSelection + 1).
  2706 
  2623 
  2707     tabSelection == 0 ifTrue:[
  2624     view isNil ifTrue:[
  2708         ^ self tabModel value:1.
  2625         view := View origin:0.0@0.0 corner:1.0@1.0 in:noteBook.
       
  2626         view client:self spec:(self class slices at:tabSelection) last.
       
  2627 
       
  2628         noteBook realized ifTrue:[
       
  2629             noteBook realizeAllSubViews
       
  2630         ].
       
  2631         listOfSpecViews at:(tabSelection + 1) put:view.
       
  2632     ].
  2709     ].
  2633     view raise.
  2710 
       
  2711     (view := listOfSpecViews at:tabSelection) isNil ifTrue:[
       
  2712         view := SimpleView new.
       
  2713         spec := (self class slices at:tabSelection) last.
       
  2714         view client:self spec:spec builder:(self builder).
       
  2715         listOfSpecViews at:tabSelection put:view.
       
  2716     ].
       
  2717     self canvasHolder value:view
  2634 ! !
  2718 ! !
  2635 
  2719 
  2636 !DataSetBuilder methodsFor:'startup / release'!
  2720 !DataSetBuilder methodsFor:'startup / release'!
  2637 
  2721 
  2638 openModal
  2722 openModal
  3035     hasSaved := true.
  3119     hasSaved := true.
  3036     modified := false.
  3120     modified := false.
  3037 
  3121 
  3038 ! !
  3122 ! !
  3039 
  3123 
  3040 !DataSetBuilder methodsFor:'values'!
       
  3041 
       
  3042 noteBook
       
  3043     "returns the noteBook widget
       
  3044     "
       
  3045     noteBook isNil ifTrue:[
       
  3046         noteBook := View new.
       
  3047         listOfSpecViews := Array new:(1 + self class slices size).
       
  3048         listOfSpecViews at:1 put:(View origin:0.0@0.0 corner:1.0@1.0 in:noteBook).
       
  3049     ].
       
  3050     ^ noteBook
       
  3051 ! !
       
  3052 
       
  3053 !DataSetBuilder::Row methodsFor:'accessing'!
  3124 !DataSetBuilder::Row methodsFor:'accessing'!
  3054 
  3125 
  3055 choices
  3126 choices
  3056     ^ #( 'foo' 'bar' 'baz' )
  3127     ^ #( 'foo' 'bar' 'baz' )
  3057 
  3128