DataSetBuilder.st
changeset 1944 f35d2f61f294
parent 1943 ecc231b19955
child 1974 f3e9c2ded641
equal deleted inserted replaced
1943:ecc231b19955 1944:f35d2f61f294
    85     ^#(
    85     ^#(
    86         id
    86         id
    87         label
    87         label
    88         canSelect
    88         canSelect
    89         choices
    89         choices
       
    90         translatedChoices
    90         editorType
    91         editorType
    91         formatString
    92         formatString
    92         labelIsImage
    93         labelIsImage
    93         labelButtonType
    94         labelButtonType
    94         translateLabel
    95         translateLabel
   337 'Show selected cell highligthened (change fg/bg color).'
   338 'Show selected cell highligthened (change fg/bg color).'
   338 
   339 
   339 #usePreferredWidth
   340 #usePreferredWidth
   340 'Compute width from first 10 row items.'
   341 'Compute width from first 10 row items.'
   341 
   342 
   342 #valuesChoiceSelector
   343 #valuesChoicesSelector
   343 'Selector to get a collection of choices for a cell having a ComboBox or a ComboList widget.'
   344 'Selector to get a collection of choices for a cell having a ComboBox or a ComboList widget.'
   344 
   345 
   345 #valuesMenuSelector
   346 #valuesMenuSelector
   346 'Selector to retrive the middle button menu.'
   347 'Selector to retrive the middle button menu.'
   347 
   348 
   354 #valuesVisibilitySelector
   355 #valuesVisibilitySelector
   355 'Boolean message selector controlling the columns visibility.'
   356 'Boolean message selector controlling the columns visibility.'
   356 
   357 
   357 #valuesWriteSelector
   358 #valuesWriteSelector
   358 'Selector used to set the value derived from the editor.'
   359 'Selector used to set the value derived from the editor.'
       
   360 
       
   361 #valuesXChoicesSelector
       
   362 'Selector to get a collection of translated choices for a cell having a ComboBox or a ComboList widget.'
   359 
   363 
   360 )
   364 )
   361 ! !
   365 ! !
   362 
   366 
   363 !DataSetBuilder class methodsFor:'image specs'!
   367 !DataSetBuilder class methodsFor:'image specs'!
  1456         window: 
  1460         window: 
  1457        (WindowSpec
  1461        (WindowSpec
  1458           label: 'DataSet Basic'
  1462           label: 'DataSet Basic'
  1459           name: 'DataSet Basic'
  1463           name: 'DataSet Basic'
  1460           min: (Point 10 10)
  1464           min: (Point 10 10)
  1461           bounds: (Rectangle 0 0 436 370)
  1465           bounds: (Rectangle 0 0 436 387)
  1462         )
  1466         )
  1463         component: 
  1467         component: 
  1464        (SpecCollection
  1468        (SpecCollection
  1465           collection: (
  1469           collection: (
  1466            (FramedBoxSpec
  1470            (FramedBoxSpec
  1467               label: 'Value Selectors:'
  1471               label: 'Value Selectors:'
  1468               name: 'valuesBox'
  1472               name: 'valuesBox'
  1469               layout: (LayoutFrame 0 0.0 3 0 0 1.0 163 0)
  1473               layout: (LayoutFrame 0 0.0 3 0 0 1.0 163 0)
  1470               labelPosition: topLeft
  1474               labelPosition: topLeft
  1471                     translateLabel: true
  1475               translateLabel: true
  1472               component: 
  1476               component: 
  1473              (SpecCollection
  1477              (SpecCollection
  1474                 collection: (
  1478                 collection: (
  1475                  (LabelSpec
  1479                  (LabelSpec
  1476                     label: 'Read:'
  1480                     label: 'Read:'
  1477                     name: 'readLabel'
  1481                     name: 'readLabel'
  1478                     layout: (AlignmentOrigin 94 0 15 0 1 0.5)
  1482                     layout: (AlignmentOrigin 94 0 15 0 1 0.5)
       
  1483                     translateLabel: true
  1479                     resizeForLabel: true
  1484                     resizeForLabel: true
  1480                     adjust: right
  1485                     adjust: right
  1481                     translateLabel: true
       
  1482                   )
  1486                   )
  1483                  (InputFieldSpec
  1487                  (InputFieldSpec
  1484                     name: 'readSelector'
  1488                     name: 'readSelector'
  1485                     layout: (LayoutFrame 97 0 4 0 2 1.0 26 0)
  1489                     layout: (LayoutFrame 97 0 4 0 2 1.0 26 0)
  1486                     activeHelpKey: valuesReadSelector
  1490                     activeHelpKey: valuesReadSelector
  1495                   )
  1499                   )
  1496                  (LabelSpec
  1500                  (LabelSpec
  1497                     label: 'Write:'
  1501                     label: 'Write:'
  1498                     name: 'writeLabel'
  1502                     name: 'writeLabel'
  1499                     layout: (AlignmentOrigin 94 0 40 0 1 0.5)
  1503                     layout: (AlignmentOrigin 94 0 40 0 1 0.5)
       
  1504                     translateLabel: true
  1500                     resizeForLabel: true
  1505                     resizeForLabel: true
  1501                     adjust: right
  1506                     adjust: right
  1502                     translateLabel: true
       
  1503                   )
  1507                   )
  1504                  (InputFieldSpec
  1508                  (InputFieldSpec
  1505                     name: 'writeSelector'
  1509                     name: 'writeSelector'
  1506                     layout: (LayoutFrame 97 0 29 0 2 1.0 51 0)
  1510                     layout: (LayoutFrame 97 0 29 0 2 1.0 51 0)
  1507                     activeHelpKey: valuesWriteSelector
  1511                     activeHelpKey: valuesWriteSelector
  1516                   )
  1520                   )
  1517                  (LabelSpec
  1521                  (LabelSpec
  1518                     label: 'Converter:'
  1522                     label: 'Converter:'
  1519                     name: 'converterLabel'
  1523                     name: 'converterLabel'
  1520                     layout: (AlignmentOrigin 94 0 65 0 1 0.5)
  1524                     layout: (AlignmentOrigin 94 0 65 0 1 0.5)
       
  1525                     translateLabel: true
  1521                     resizeForLabel: true
  1526                     resizeForLabel: true
  1522                     adjust: right
  1527                     adjust: right
  1523                     translateLabel: true
       
  1524                   )
  1528                   )
  1525                  (InputFieldSpec
  1529                  (InputFieldSpec
  1526                     name: 'converterField'
  1530                     name: 'converterField'
  1527                     layout: (LayoutFrame 97 0 54 0 2 1.0 76 0)
  1531                     layout: (LayoutFrame 97 0 54 0 2 1.0 76 0)
  1528                     activeHelpKey: converterSelector
  1532                     activeHelpKey: converterSelector
  1537                   )
  1541                   )
  1538                  (LabelSpec
  1542                  (LabelSpec
  1539                     label: 'Print:'
  1543                     label: 'Print:'
  1540                     name: 'printLabel'
  1544                     name: 'printLabel'
  1541                     layout: (AlignmentOrigin 94 0 90 0 1 0.5)
  1545                     layout: (AlignmentOrigin 94 0 90 0 1 0.5)
       
  1546                     translateLabel: true
  1542                     resizeForLabel: true
  1547                     resizeForLabel: true
  1543                     adjust: right
  1548                     adjust: right
  1544                     translateLabel: true
       
  1545                   )
  1549                   )
  1546                  (InputFieldSpec
  1550                  (InputFieldSpec
  1547                     name: 'printSelector'
  1551                     name: 'printSelector'
  1548                     layout: (LayoutFrame 97 0 79 0 2 1.0 101 0)
  1552                     layout: (LayoutFrame 97 0 79 0 2 1.0 101 0)
  1549                     activeHelpKey: valuesPrintSelector
  1553                     activeHelpKey: valuesPrintSelector
  1558                   )
  1562                   )
  1559                  (LabelSpec
  1563                  (LabelSpec
  1560                     label: 'Visibility:'
  1564                     label: 'Visibility:'
  1561                     name: 'visibilityLabel'
  1565                     name: 'visibilityLabel'
  1562                     layout: (AlignmentOrigin 94 0 115 0 1 0.5)
  1566                     layout: (AlignmentOrigin 94 0 115 0 1 0.5)
       
  1567                     translateLabel: true
  1563                     resizeForLabel: true
  1568                     resizeForLabel: true
  1564                     adjust: right
  1569                     adjust: right
  1565                     translateLabel: true
       
  1566                   )
  1570                   )
  1567                  (InputFieldSpec
  1571                  (InputFieldSpec
  1568                     name: 'visibilitySelector'
  1572                     name: 'visibilitySelector'
  1569                     layout: (LayoutFrame 97 0 104 0 2 1.0 126 0)
  1573                     layout: (LayoutFrame 97 0 104 0 2 1.0 126 0)
  1570                     activeHelpKey: valuesVisibilitySelector
  1574                     activeHelpKey: valuesVisibilitySelector
  1581                
  1585                
  1582               )
  1586               )
  1583             )
  1587             )
  1584            (FramedBoxSpec
  1588            (FramedBoxSpec
  1585               label: 'Range:'
  1589               label: 'Range:'
  1586               name: 'FramedBox1'
  1590               name: 'rangeBox'
  1587               layout: (LayoutFrame 0 0.0 162 0 0 1.0 218 0)
  1591               layout: (LayoutFrame 0 0.0 162 0 0 1.0 218 0)
  1588               labelPosition: topLeft
  1592               labelPosition: topLeft
  1589                     translateLabel: true
  1593               translateLabel: true
  1590               component: 
  1594               component: 
  1591              (SpecCollection
  1595              (SpecCollection
  1592                 collection: (
  1596                 collection: (
  1593                  (LabelSpec
  1597                  (LabelSpec
  1594                     label: 'Min:'
  1598                     label: 'Min:'
  1595                     name: 'Label1'
  1599                     name: 'Label1'
  1596                     layout: (LayoutFrame 11 0 3 0 94 0 20 0)
  1600                     layout: (LayoutFrame 11 0 3 0 94 0 20 0)
       
  1601                     translateLabel: true
  1597                     resizeForLabel: true
  1602                     resizeForLabel: true
  1598                     adjust: right
  1603                     adjust: right
  1599                     translateLabel: true
       
  1600                   )
  1604                   )
  1601                  (InputFieldSpec
  1605                  (InputFieldSpec
  1602                     name: 'EntryField1'
  1606                     name: 'EntryField1'
  1603                     layout: (LayoutFrame 97 0 1 0 20 0.5 23 0)
  1607                     layout: (LayoutFrame 97 0 1 0 20 0.5 23 0)
  1604                     activeHelpKey: valuesMenuSelector
  1608                     activeHelpKey: valuesMenuSelector
  1614                   )
  1618                   )
  1615                  (LabelSpec
  1619                  (LabelSpec
  1616                     label: 'Max:'
  1620                     label: 'Max:'
  1617                     name: 'Label2'
  1621                     name: 'Label2'
  1618                     layout: (LayoutFrame 21 0.5 3 0 70 0.5 20 0)
  1622                     layout: (LayoutFrame 21 0.5 3 0 70 0.5 20 0)
       
  1623                     translateLabel: true
  1619                     resizeForLabel: true
  1624                     resizeForLabel: true
  1620                     adjust: right
  1625                     adjust: right
  1621                     translateLabel: true
       
  1622                   )
  1626                   )
  1623                  (InputFieldSpec
  1627                  (InputFieldSpec
  1624                     name: 'EntryField2'
  1628                     name: 'EntryField2'
  1625                     layout: (LayoutFrame 70 0.5 1 0 -2 1.0 23 0)
  1629                     layout: (LayoutFrame 70 0.5 1 0 -2 1.0 23 0)
  1626                     activeHelpKey: valuesMenuSelector
  1630                     activeHelpKey: valuesMenuSelector
  1637                  )
  1641                  )
  1638                
  1642                
  1639               )
  1643               )
  1640             )
  1644             )
  1641            (FramedBoxSpec
  1645            (FramedBoxSpec
  1642               label: 'Menu:'
  1646               label: 'Menu Selector:'
  1643               name: 'menusBox'
  1647               name: 'menusBox'
  1644               layout: (LayoutFrame 0 0.0 216 0 0 1.0 272 0)
  1648               layout: (LayoutFrame 0 0.0 216 0 0 1.0 272 0)
  1645               labelPosition: topLeft
  1649               labelPosition: topLeft
  1646                     translateLabel: true
  1650               translateLabel: true
  1647               component: 
  1651               component: 
  1648              (SpecCollection
  1652              (SpecCollection
  1649                 collection: (
  1653                 collection: (
  1650                  (LabelSpec
  1654                  (LabelSpec
  1651                     label: 'Selector:'
  1655                     label: 'Selector:'
  1652                     name: 'menuLabel'
  1656                     name: 'menuLabel'
  1653                     layout: (AlignmentOrigin 94 0 12 0 1 0.5)
  1657                     layout: (AlignmentOrigin 94 0 12 0 1 0.5)
       
  1658                     translateLabel: true
  1654                     resizeForLabel: true
  1659                     resizeForLabel: true
  1655                     adjust: right
  1660                     adjust: right
  1656                     translateLabel: true
       
  1657                   )
  1661                   )
  1658                  (InputFieldSpec
  1662                  (InputFieldSpec
  1659                     name: 'menuSelector'
  1663                     name: 'menuSelector'
  1660                     layout: (LayoutFrame 97 0 1 0 2 1.0 23 0)
  1664                     layout: (LayoutFrame 97 0 1 0 2 1.0 23 0)
  1661                     activeHelpKey: valuesMenuSelector
  1665                     activeHelpKey: valuesMenuSelector
  1672                
  1676                
  1673               )
  1677               )
  1674             )
  1678             )
  1675            (FramedBoxSpec
  1679            (FramedBoxSpec
  1676               label: 'Combo List/Box Selectors:'
  1680               label: 'Combo List/Box Selectors:'
  1677               name: 'framedBox1'
  1681               name: 'comboSelectorsBox'
  1678               layout: (LayoutFrame 1 0.0 271 0 1 1.0 356 0)
  1682               layout: (LayoutFrame 1 0.0 271 0 1 1.0 378 0)
  1679               labelPosition: topLeft
  1683               labelPosition: topLeft
  1680                     translateLabel: true
  1684               translateLabel: true
  1681               component: 
  1685               component: 
  1682              (SpecCollection
  1686              (SpecCollection
  1683                 collection: (
  1687                 collection: (
  1684                  (LabelSpec
  1688                  (LabelSpec
  1685                     label: 'Choices:'
  1689                     label: 'Choices:'
  1686                     name: 'ChoicesLabel'
  1690                     name: 'ChoicesLabel'
  1687                     layout: (AlignmentOrigin 94 0 15 0 1 0.5)
  1691                     layout: (AlignmentOrigin 94 0 15 0 1 0.5)
  1688                     activeHelpKey: valuesChoiceSelector
  1692                     activeHelpKey: valuesChoicesSelector
       
  1693                     translateLabel: true
  1689                     resizeForLabel: true
  1694                     resizeForLabel: true
  1690                     adjust: right
  1695                     adjust: right
  1691                     translateLabel: true
       
  1692                   )
  1696                   )
  1693                  (InputFieldSpec
  1697                  (InputFieldSpec
  1694                     name: 'ChoicesField'
  1698                     name: 'ChoicesField'
  1695                     layout: (LayoutFrame 97 0 4 0 2 1.0 26 0)
  1699                     layout: (LayoutFrame 97 0 4 0 2 1.0 26 0)
  1696                     activeHelpKey: valuesChoiceSelector
  1700                     activeHelpKey: valuesChoicesSelector
  1697                     tabable: true
  1701                     tabable: true
  1698                     model: choices
  1702                     model: choices
  1699                     group: inputGroup
  1703                     group: inputGroup
  1700                     type: symbolOrNil
  1704                     type: symbolOrNil
  1701                     acceptOnLeave: false
  1705                     acceptOnLeave: false
  1703                     acceptChannel: acceptChannel
  1707                     acceptChannel: acceptChannel
  1704                     modifiedChannel: modifiedChannel
  1708                     modifiedChannel: modifiedChannel
  1705                     acceptOnPointerLeave: false
  1709                     acceptOnPointerLeave: false
  1706                   )
  1710                   )
  1707                  (LabelSpec
  1711                  (LabelSpec
       
  1712                     label: 'Translated Choices:'
       
  1713                     name: 'XChoicesLabel'
       
  1714                     layout: (AlignmentOrigin 94 0 40 0 1 0.5)
       
  1715                     activeHelpKey: valuesXChoicesSelector
       
  1716                     translateLabel: true
       
  1717                     resizeForLabel: true
       
  1718                     adjust: right
       
  1719                   )
       
  1720                  (InputFieldSpec
       
  1721                     name: 'XChoicesField'
       
  1722                     layout: (LayoutFrame 97 0 29 0 2 1.0 51 0)
       
  1723                     activeHelpKey: valuesXChoicesSelector
       
  1724                     tabable: true
       
  1725                     model: translatedChoices
       
  1726                     group: inputGroup
       
  1727                     type: symbolOrNil
       
  1728                     acceptOnLeave: false
       
  1729                     acceptOnLostFocus: false
       
  1730                     acceptChannel: acceptChannel
       
  1731                     modifiedChannel: modifiedChannel
       
  1732                     acceptOnPointerLeave: false
       
  1733                   )
       
  1734                  (LabelSpec
  1708                     label: 'Editable:'
  1735                     label: 'Editable:'
  1709                     name: 'ShowInputFieldLabel'
  1736                     name: 'EditableLabel'
  1710                     layout: (AlignmentOrigin 94 0 41 0 1 0.5)
  1737                     layout: (AlignmentOrigin 94 0 65 0 1 0.5)
  1711                     activeHelpKey: showComboFieldSelector
  1738                     activeHelpKey: showComboFieldSelector
       
  1739                     translateLabel: true
  1712                     resizeForLabel: true
  1740                     resizeForLabel: true
  1713                     adjust: right
  1741                     adjust: right
  1714                     translateLabel: true
       
  1715                   )
  1742                   )
  1716                  (InputFieldSpec
  1743                  (InputFieldSpec
  1717                     name: 'ShowInputFieldField'
  1744                     name: 'EditableField'
  1718                     layout: (LayoutFrame 97 0 30 0 2 1.0 52 0)
  1745                     layout: (LayoutFrame 97 0 54 0 2 1.0 76 0)
  1719                     activeHelpKey: showComboFieldSelector
  1746                     activeHelpKey: showComboFieldSelector
  1720                     tabable: true
  1747                     tabable: true
  1721                     model: showComboFieldSelector
  1748                     model: showComboFieldSelector
  1722                     group: inputGroup
  1749                     group: inputGroup
  1723                     type: symbolOrNil
  1750                     type: symbolOrNil
  3056 
  3083 
  3057     type := (aspects at:#rendererType) value.
  3084     type := (aspects at:#rendererType) value.
  3058 
  3085 
  3059     type == #rowSelector ifTrue:[
  3086     type == #rowSelector ifTrue:[
  3060         #(label 
  3087         #(label 
  3061           width minWidth usePreferredWidth editorType choices 
  3088           width minWidth usePreferredWidth editorType choices translatedChoices
  3062           readSelector writeSelector printSelector visibilitySelector
  3089           readSelector writeSelector printSelector visibilitySelector
  3063           formatString type converterSelector size height canSelect selectSelector showComboFieldSelector
  3090           formatString type converterSelector size height canSelect selectSelector showComboFieldSelector
  3064           minValue maxValue
  3091           minValue maxValue
  3065          ) do:[:aKey|
  3092          ) do:[:aKey|
  3066             (aspects at:aKey) value:nil
  3093             (aspects at:aKey) value:nil
  3399     self updateHistory.
  3426     self updateHistory.
  3400     self updateInfoLabel.
  3427     self updateInfoLabel.
  3401 
  3428 
  3402     hasSaved := true.
  3429     hasSaved := true.
  3403     modified := false.
  3430     modified := false.
  3404 
       
  3405 !
  3431 !
  3406 
  3432 
  3407 openDocumentation
  3433 openDocumentation
  3408    self openHTMLDocument:'tools/uipainter/DataSetBuilder.html'.
  3434    self openHTMLDocument:'tools/uipainter/DataSetBuilder.html'.
  3409 ! !
  3435 ! !