UIPainter.st
changeset 2361 ae171f5bc002
parent 2357 48ed61c2825e
child 2370 ce1233002cf8
equal deleted inserted replaced
2360:5ececaa19567 2361:ae171f5bc002
   123 !UIPainter class methodsFor:'help specs'!
   123 !UIPainter class methodsFor:'help specs'!
   124 
   124 
   125 flyByHelpSpec
   125 flyByHelpSpec
   126     <resource: #help>
   126     <resource: #help>
   127 
   127 
   128     ^super flyByHelpSpec addPairsFrom:#(
   128     ^super flyByHelpSpec 
       
   129         addPairsFrom:#(
   129 
   130 
   130 #fileSave
   131 #fileSave
   131 'Save Spec'
   132 'Save Spec'
   132 
   133 
   133 shadesOfRed
   134 shadesOfRed
   161 'Pick a recently used color'
   162 'Pick a recently used color'
   162 
   163 
   163 useDefaultColorToggle
   164 useDefaultColorToggle
   164 'Toggle between default and explicit color'
   165 'Toggle between default and explicit color'
   165 
   166 
   166 )
   167 );
       
   168     declareAllFrom:self helpSpec
   167 !
   169 !
   168 
   170 
   169 helpSpec
   171 helpSpec
   170     "This resource specification was automatically generated
   172     "This resource specification was automatically generated
   171      by the UIHelpTool of ST/X."
   173      by the UIHelpTool of ST/X."
   185 'Widget alignment functions.'
   187 'Widget alignment functions.'
   186 
   188 
   187 #alignSelectionBottom
   189 #alignSelectionBottom
   188 'Aligns the selected widgets bottom edges with the bottom of the dominant widget.'
   190 'Aligns the selected widgets bottom edges with the bottom of the dominant widget.'
   189 
   191 
       
   192 #alignResizeSelectionBottom
       
   193 'Resize the selected widgets bottom edges to align them with the bottom of the dominant widget.'
       
   194 
   190 #alignSelectionCenterHor
   195 #alignSelectionCenterHor
   191 'Aligns the selected widgets centers vertically with the center of the dominant widget.'
   196 'Aligns the selected widgets centers vertically with the center of the dominant widget.'
   192 
   197 
   193 #alignSelectionCenterVer
   198 #alignSelectionCenterVer
   194 'Aligns the selected widgets centers horizontally with the center of the dominant widget.'
   199 'Aligns the selected widgets centers horizontally with the center of the dominant widget.'
   195 
   200 
   196 #alignSelectionLeft
   201 #alignSelectionLeft
   197 'Aligns the selected widgets left edges with the left edge of the dominant widget.'
   202 'Aligns the selected widgets left edges with the left edge of the dominant widget.'
   198 
   203 
       
   204 #alignResizeSelectionLeft
       
   205 'Resize the selected widgets left edges to align them with the left edge of the dominant widget.'
       
   206 
   199 #alignSelectionLeftAndRight
   207 #alignSelectionLeftAndRight
   200 'Aligns the selected widgets left & right edges with the dominant widget.'
   208 'Aligns the selected widgets left & right edges with the dominant widget.'
   201 
   209 
   202 #alignSelectionRight
   210 #alignSelectionRight
   203 'Aligns the selected widgets right edges with the right edge of the dominant widget.'
   211 'Aligns the selected widgets right edges with the right edge of the dominant widget.'
   204 
   212 
       
   213 #alignResizeSelectionRight
       
   214 'Resize the selected widgets right edges to align them with the right edge of the dominant widget.'
       
   215 
   205 #alignSelectionTop
   216 #alignSelectionTop
   206 'Aligns the selected widgets top edgegs with the top edge of the dominant widget.'
   217 'Aligns the selected widgets top edgegs with the top edge of the dominant widget.'
       
   218 
       
   219 #alignResizeSelectionTop
       
   220 'Resize the selected widgets top edgegs to align them with the top edge of the dominant widget.'
   207 
   221 
   208 #alignSelectionTopAndBottom
   222 #alignSelectionTopAndBottom
   209 'Aligns the selected widgets top and bottom edges with the dominant widget.'
   223 'Aligns the selected widgets top and bottom edges with the dominant widget.'
   210 
   224 
   211 #centerSelectionHor
   225 #centerSelectionHor
   868     ^Icon
   882     ^Icon
   869         constantNamed:'UIPainter class iconDistributeV'
   883         constantNamed:'UIPainter class iconDistributeV'
   870         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
   884         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
   871 @@@@@@@@@@UUUT@@@@???4@@@@@@@@@@@@@*(@@@@@JB@@@@@@JB@@@@@@JB@@@@@@J*(@@@@@@@@@@@@@UUUT@@@@???4@@@@@@@@@@@@J*(@@@@@JB@@@@
   885 @@@@@@@@@@UUUT@@@@???4@@@@@@@@@@@@@*(@@@@@JB@@@@@@JB@@@@@@JB@@@@@@J*(@@@@@@@@@@@@@UUUT@@@@???4@@@@@@@@@@@@J*(@@@@@JB@@@@
   872 @@JB@@@@@@@B@@@@@@@*(@@@@@@@@@@@@@UUUT@@@@???4@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'A??@A??@A??CA??@@G0@@A@@@A@@@A@@@G0CA??@A??@A??@A??@@G0C@A@@@A@@@A@@@G0AA??AA??@A??@A??B') ; yourself); yourself]
   886 @@JB@@@@@@@B@@@@@@@*(@@@@@@@@@@@@@UUUT@@@@???4@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'A??@A??@A??CA??@@G0@@A@@@A@@@A@@@G0CA??@A??@A??@A??@@G0C@A@@@A@@@A@@@G0AA??AA??@A??@A??B') ; yourself); yourself]
       
   887 !
       
   888 
       
   889 iconResizeB
       
   890     "This resource specification was automatically generated
       
   891      by the ImageEditor of ST/X."
       
   892 
       
   893     "Do not manually edit this!! If it is corrupted,
       
   894      the ImageEditor may not be able to read the specification."
       
   895 
       
   896     "
       
   897      self iconResizeB inspect
       
   898      ImageEditor openOnClass:self andSelector:#iconResizeB
       
   899      Icon flushCachedIcons
       
   900     "
       
   901 
       
   902     <resource: #image>
       
   903 
       
   904     ^Icon
       
   905         constantNamed:'UIPainter class iconResizeB'
       
   906         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
   907 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@M@@@@@@@M@@@@@@@M@M@@@@@M@M@@@@@M@M@@@@@M@M@@@M@M@M@@@M@M@M@@@M@M@M@@@M@M@M@@@@@@@M@@
       
   908 @@@@@E@@@@@@@@@@B*****(@B*****(@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@@@G A@G @@G'' @G'' @G''#@G'' G''''"G'''' G''''!!G'''' G'''' O?7 G'''' CCG O??0O??0@@@A@@@@@@@@') ; yourself); yourself]
       
   909 !
       
   910 
       
   911 iconResizeL
       
   912     "This resource specification was automatically generated
       
   913      by the ImageEditor of ST/X."
       
   914 
       
   915     "Do not manually edit this!! If it is corrupted,
       
   916      the ImageEditor may not be able to read the specification."
       
   917 
       
   918     "
       
   919      self iconResizeL inspect
       
   920      ImageEditor openOnClass:self andSelector:#iconResizeL
       
   921      Icon flushCachedIcons
       
   922     "
       
   923 
       
   924     <resource: #image>
       
   925 
       
   926     ^Icon
       
   927         constantNamed:'UIPainter class iconResizeL'
       
   928         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
   929 @@@@@@@@@@@@@@@@@(@@@@@@@(@@@@@@@(UUUP@I@(_??0@@@(@@@@@@@(@@@@@@@(@@@@@@@(@@@@@@@(AUUU@@@(C???@@@(@@@@@E@(@@@@@@@(@@@@@@
       
   930 @(@@@@@@@(AU@@@@@(C?@@@@@(@@@@@@@(@@@@@@@@@@@@@E@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@F@@@G?>@G?>@G?>@G?>@F@@@FP@@F?? G?? G?? F?? FP@@FP@@F? @G? @G? @F? @FP@@@@@@@@@@') ; yourself); yourself]
       
   931 !
       
   932 
       
   933 iconResizeLR
       
   934     "This resource specification was automatically generated
       
   935      by the ImageEditor of ST/X."
       
   936 
       
   937     "Do not manually edit this!! If it is corrupted,
       
   938      the ImageEditor may not be able to read the specification."
       
   939 
       
   940     "
       
   941      self iconResizeLR inspect
       
   942      ImageEditor openOnClass:self andSelector:#iconResizeLR
       
   943      Icon flushCachedIcons
       
   944     "
       
   945 
       
   946     <resource: #image>
       
   947 
       
   948     ^Icon
       
   949         constantNamed:'UIPainter class iconResizeLR'
       
   950         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
   951 @@@@@@@@@@@@@@@@@(@@@B @@(@@@B @@(UUUR I@(???2 @@(@@@B @@(@@@B @@(@@@B @@(@@@B @@(AUTB @@(C?<B @@(@@@B E@(@@@B @@(@@@B @
       
   952 @(@@@B @@(AUTB @@(C?<B @@(@@@B @@(@@@B @@@@@@@@E@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@F@A G?? G?? G?? G?? F@A FPI F?= G?? G?? F?= FPI FPI F?= G?? G?? F?= FPI @@@@@@@@') ; yourself); yourself]
       
   953 !
       
   954 
       
   955 iconResizeR
       
   956     "This resource specification was automatically generated
       
   957      by the ImageEditor of ST/X."
       
   958 
       
   959     "Do not manually edit this!! If it is corrupted,
       
   960      the ImageEditor may not be able to read the specification."
       
   961 
       
   962     "
       
   963      self iconResizeR inspect
       
   964      ImageEditor openOnClass:self andSelector:#iconResizeR
       
   965      Icon flushCachedIcons
       
   966     "
       
   967 
       
   968     <resource: #image>
       
   969 
       
   970     ^Icon
       
   971         constantNamed:'UIPainter class iconResizeR'
       
   972         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
   973 @@@@@@@@@@@@@@@@@@@@@B @@@@@@B @@@UUUR I@@???R @@@@@@B @@@@@@B @@@@@@B @@@@@@B @@EUUTB @@O??<B @@@@@@B E@@@@@B @@@@@@B @
       
   974 @@@@@B @@@@ETB @@@@O<B @@@@@@B @@@@@@B @@@@@@@@E@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@A A?? A?? A?? A?? @@A @@I G?= G?? G?? G?= @@I @@I @G= @G? @G? @G= @@I @@@@@@@@') ; yourself); yourself]
       
   975 !
       
   976 
       
   977 iconResizeT
       
   978     "This resource specification was automatically generated
       
   979      by the ImageEditor of ST/X."
       
   980 
       
   981     "Do not manually edit this!! If it is corrupted,
       
   982      the ImageEditor may not be able to read the specification."
       
   983 
       
   984     "
       
   985      self iconResizeT inspect
       
   986      ImageEditor openOnClass:self andSelector:#iconResizeT
       
   987      Icon flushCachedIcons
       
   988     "
       
   989 
       
   990     <resource: #image>
       
   991 
       
   992     ^Icon
       
   993         constantNamed:'UIPainter class iconResizeT'
       
   994         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
   995 @@@@@@@@@@@@@@@@@@@@@@@@B*****(@B*****(@@@@@@@@@@@@@@E@@@@@@@M@@@M@M@M@@@M@M@M@@@M@M@M@@@M@M@M@@@@@M@M@@@@@M@M@@@@@M@M@@
       
   996 @@@M@M@@@@@M@@@@@@@M@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@@@@@@@@@AO??0O??0CCG G'''' O?7 G'''' G'''' G''''!!G'''' G''''"@G'' @G''#@G'' @G'' @G @@G A@@@@@@@@@@@@') ; yourself); yourself]
       
   997 !
       
   998 
       
   999 iconResizeTB
       
  1000     "This resource specification was automatically generated
       
  1001      by the ImageEditor of ST/X."
       
  1002 
       
  1003     "Do not manually edit this!! If it is corrupted,
       
  1004      the ImageEditor may not be able to read the specification."
       
  1005 
       
  1006     "
       
  1007      self iconResizeTB inspect
       
  1008      ImageEditor openOnClass:self andSelector:#iconResizeTB
       
  1009      Icon flushCachedIcons
       
  1010     "
       
  1011 
       
  1012     <resource: #image>
       
  1013 
       
  1014     ^Icon
       
  1015         constantNamed:'UIPainter class iconResizeTB'
       
  1016         ifAbsentPut:[(Depth2Image new) width: 22; height: 22; photometric:(#palette); bitsPerSample:(#(2)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'
       
  1017 @@@@@@@@@@@@@@@@@@@@@@@@B*****(@B*****(@@@@@@@@@@G@@@@@@@G@@@@@@@G@G@G@@@G@G@G@@@G@G@G@@@G@G@G@@@G@G@G@@@G@G@G@@@G@@@@@@
       
  1018 @G@@@@@@@@@@@@@@B*****(@B*****(@@@@@@@@@@@@@@@@@@@@@@@@@') ; colorMapFromArray:#[0 0 0 255 255 255 0 0 127 170 170 170]; mask:((Depth1Image new) width: 22; height: 22; photometric:(#blackIs0); bitsPerSample:(#(1)); samplesPerPixel:(1); bits:(ByteArray fromPackedString:'@@@B@@@@@@@BO??0O??2G#C@G'''' G/?0G''''#G'''' G'''' G'''' G'''' G''''"G/?0G'''' G#C@O??1O??0@@@A@@@B@@@@') ; yourself); yourself]
   873 ! !
  1019 ! !
   874 
  1020 
   875 !UIPainter class methodsFor:'initialize'!
  1021 !UIPainter class methodsFor:'initialize'!
   876 
  1022 
   877 initialize
  1023 initialize
  1607             itemValue: alignSelectionRight
  1753             itemValue: alignSelectionRight
  1608             translateLabel: true
  1754             translateLabel: true
  1609             labelImage: (ResourceRetriever UIPainter iconAlignR 'Right')
  1755             labelImage: (ResourceRetriever UIPainter iconAlignR 'Right')
  1610           )
  1756           )
  1611          (MenuItem
  1757          (MenuItem
       
  1758             activeHelpKey: alignSelectionTop
       
  1759             enabled: canMoveOrAlignSelection
       
  1760             label: 'Top'
       
  1761             itemValue: alignSelectionTop
       
  1762             translateLabel: true
       
  1763             labelImage: (ResourceRetriever UIPainter iconAlignT 'Top')
       
  1764           )
       
  1765          (MenuItem
       
  1766             activeHelpKey: alignSelectionBottom
       
  1767             enabled: canMoveOrAlignSelection
       
  1768             label: 'Bottom'
       
  1769             itemValue: alignSelectionBottom
       
  1770             translateLabel: true
       
  1771             labelImage: (ResourceRetriever UIPainter iconAlignB 'Bottom')
       
  1772           )
       
  1773          (MenuItem
       
  1774             label: '-'
       
  1775           )
       
  1776          (MenuItem
       
  1777             activeHelpKey: alignResizeSelectionLeft
       
  1778             enabled: canMoveOrAlignSelection
       
  1779             label: 'Resize Left'
       
  1780             itemValue: alignResizeSelectionLeft
       
  1781             translateLabel: true
       
  1782             labelImage: (ResourceRetriever UIPainter iconResizeL 'Resize Left')
       
  1783           )
       
  1784          (MenuItem
       
  1785             activeHelpKey: alignResizeSelectionRight
       
  1786             enabled: canMoveOrAlignSelection
       
  1787             label: 'Resize Right'
       
  1788             itemValue: alignResizeSelectionRight
       
  1789             translateLabel: true
       
  1790             labelImage: (ResourceRetriever UIPainter iconResizeR 'Resize Right')
       
  1791           )
       
  1792          (MenuItem
       
  1793             activeHelpKey: alignResizeSelectionTop
       
  1794             enabled: canMoveOrAlignSelection
       
  1795             label: 'Resize Top'
       
  1796             itemValue: alignResizeSelectionTop
       
  1797             translateLabel: true
       
  1798             labelImage: (ResourceRetriever UIPainter iconResizeT 'Resize Top')
       
  1799           )
       
  1800          (MenuItem
       
  1801             activeHelpKey: alignResizeSelectionBottom
       
  1802             enabled: canMoveOrAlignSelection
       
  1803             label: 'Resize Bottom'
       
  1804             itemValue: alignResizeSelectionBottom
       
  1805             translateLabel: true
       
  1806             labelImage: (ResourceRetriever UIPainter iconResizeB 'Resize Bottom')
       
  1807           )
       
  1808          (MenuItem
  1612             activeHelpKey: alignSelectionLeftAndRight
  1809             activeHelpKey: alignSelectionLeftAndRight
  1613             enabled: canMoveOrAlignSelection
  1810             enabled: canMoveOrAlignSelection
  1614             label: 'Left && Right'
  1811             label: 'Left && Right'
  1615             itemValue: alignSelectionLeftAndRight
  1812             itemValue: alignSelectionLeftAndRight
  1616             translateLabel: true
  1813             translateLabel: true
  1617             labelImage: (ResourceRetriever UIPainter iconAlignLR 'Left & Right')
  1814             labelImage: (ResourceRetriever UIPainter iconResizeLR 'Left && Right')
  1618           )
       
  1619          (MenuItem
       
  1620             activeHelpKey: alignSelectionTop
       
  1621             enabled: canMoveOrAlignSelection
       
  1622             label: 'Top'
       
  1623             itemValue: alignSelectionTop
       
  1624             translateLabel: true
       
  1625             labelImage: (ResourceRetriever UIPainter iconAlignT 'Top')
       
  1626           )
       
  1627          (MenuItem
       
  1628             activeHelpKey: alignSelectionBottom
       
  1629             enabled: canMoveOrAlignSelection
       
  1630             label: 'Bottom'
       
  1631             itemValue: alignSelectionBottom
       
  1632             translateLabel: true
       
  1633             labelImage: (ResourceRetriever UIPainter iconAlignB 'Bottom')
       
  1634           )
  1815           )
  1635          (MenuItem
  1816          (MenuItem
  1636             activeHelpKey: alignSelectionTopAndBottom
  1817             activeHelpKey: alignSelectionTopAndBottom
  1637             enabled: canMoveOrAlignSelection
  1818             enabled: canMoveOrAlignSelection
  1638             label: 'Top && Bottom'
  1819             label: 'Top && Bottom'
  1639             itemValue: alignSelectionTopAndBottom
  1820             itemValue: alignSelectionTopAndBottom
  1640             translateLabel: true
  1821             translateLabel: true
  1641             labelImage: (ResourceRetriever UIPainter iconAlignTB 'Top & Bottom')
  1822             labelImage: (ResourceRetriever UIPainter iconResizeTB 'Top && Bottom')
  1642           )
  1823           )
  1643          (MenuItem
  1824          (MenuItem
  1644             label: '-'
  1825             label: '-'
  1645           )
  1826           )
  1646          (MenuItem
  1827          (MenuItem
  1647             activeHelpKey: alignSelectionCenterHor
  1828             activeHelpKey: alignSelectionCenterHor
  1648             enabled: canMoveOrAlignSelection
  1829             enabled: canMoveOrAlignSelection
  1649             label: 'Center Horizontal'
  1830             label: 'Center Horizontal'
  1650             itemValue: alignSelectionCenterHor
  1831             itemValue: alignSelectionCenterHor
  1651             translateLabel: true
  1832             translateLabel: true
  1652             labelImage: (ResourceRetriever UIPainter iconCenterH '')
  1833             labelImage: (ResourceRetriever UIPainter iconCenterH 'Center Horizontal')
  1653           )
  1834           )
  1654          (MenuItem
  1835          (MenuItem
  1655             activeHelpKey: centerSelectionHor
  1836             activeHelpKey: centerSelectionHor
  1656             enabled: canMoveOrAlignSelection
  1837             enabled: canMoveOrAlignSelection
  1657             label: 'Center Horizontal in Frame'
  1838             label: 'Center Horizontal in Frame'
  1658             itemValue: centerSelectionHor
  1839             itemValue: centerSelectionHor
  1659             translateLabel: true
  1840             translateLabel: true
  1660             labelImage: (ResourceRetriever UIPainter iconCenterHInFrame '')
  1841             labelImage: (ResourceRetriever UIPainter iconCenterHInFrame 'Center Horizontal in Frame')
  1661           )
  1842           )
  1662          (MenuItem
  1843          (MenuItem
  1663             activeHelpKey: alignSelectionCenterVer
  1844             activeHelpKey: alignSelectionCenterVer
  1664             enabled: canMoveOrAlignSelection
  1845             enabled: canMoveOrAlignSelection
  1665             label: 'Center Vertical'
  1846             label: 'Center Vertical'
  1666             itemValue: alignSelectionCenterVer
  1847             itemValue: alignSelectionCenterVer
  1667             translateLabel: true
  1848             translateLabel: true
  1668             labelImage: (ResourceRetriever UIPainter iconCenterV '')
  1849             labelImage: (ResourceRetriever UIPainter iconCenterV 'Center Vertical')
  1669           )
  1850           )
  1670          (MenuItem
  1851          (MenuItem
  1671             activeHelpKey: centerSelectionVer
  1852             activeHelpKey: centerSelectionVer
  1672             enabled: canMoveOrAlignSelection
  1853             enabled: canMoveOrAlignSelection
  1673             label: 'Center Vertical in Frame'
  1854             label: 'Center Vertical in Frame'
  1674             itemValue: centerSelectionVer
  1855             itemValue: centerSelectionVer
  1675             translateLabel: true
  1856             translateLabel: true
  1676             labelImage: (ResourceRetriever UIPainter iconCenterVInFrame '')
  1857             labelImage: (ResourceRetriever UIPainter iconCenterVInFrame 'Center Vertical in Frame')
  1677           )
  1858           )
  1678          (MenuItem
  1859          (MenuItem
  1679             label: '-'
  1860             label: '-'
  1680           )
  1861           )
  1681          (MenuItem
  1862          (MenuItem
  1682             activeHelpKey: spreadSelectionHor
  1863             activeHelpKey: spreadSelectionHor
  1683             enabled: canMoveOrAlignSelection
  1864             enabled: canMoveOrAlignSelection
  1684             label: 'Distribute Horizontal'
  1865             label: 'Distribute Horizontal'
  1685             itemValue: spreadSelectionHor
  1866             itemValue: spreadSelectionHor
  1686             translateLabel: true
  1867             translateLabel: true
  1687             labelImage: (ResourceRetriever UIPainter iconDistributeH '')
  1868             labelImage: (ResourceRetriever UIPainter iconDistributeH 'Distribute Horizontal')
  1688           )
  1869           )
  1689          (MenuItem
  1870          (MenuItem
  1690             activeHelpKey: spreadSelectionVer
  1871             activeHelpKey: spreadSelectionVer
  1691             enabled: canMoveOrAlignSelection
  1872             enabled: canMoveOrAlignSelection
  1692             label: 'Distribute Vertical'
  1873             label: 'Distribute Vertical'
  1693             itemValue: spreadSelectionVer
  1874             itemValue: spreadSelectionVer
  1694             translateLabel: true
  1875             translateLabel: true
  1695             labelImage: (ResourceRetriever UIPainter iconDistributeV '')
  1876             labelImage: (ResourceRetriever UIPainter iconDistributeV 'Distribute Vertical')
  1696           )
  1877           )
  1697          )
  1878          )
  1698         nil
  1879         nil
  1699         nil
  1880         nil
  1700       )
  1881       )
  1750             translateLabel: true
  1931             translateLabel: true
  1751           )
  1932           )
  1752          (MenuItem
  1933          (MenuItem
  1753             activeHelpKey: pasteWithLayout
  1934             activeHelpKey: pasteWithLayout
  1754             enabled: canPasteKeepingLayoutHolder
  1935             enabled: canPasteKeepingLayoutHolder
  1755             label: 'Paste without Layout'
  1936             label: 'Paste With Layout'
  1756             itemValue: pasteWithoutLayout
  1937             itemValue: pasteWithoutLayout
  1757             translateLabel: true
  1938             translateLabel: true
  1758           )
  1939           )
  1759          (MenuItem
  1940          (MenuItem
  1760             activeHelpKey: editPaste
  1941             activeHelpKey: editPaste
  1785             label: 'Move'
  1966             label: 'Move'
  1786             translateLabel: true
  1967             translateLabel: true
  1787             submenuChannel: menuMove
  1968             submenuChannel: menuMove
  1788           )
  1969           )
  1789          (MenuItem
  1970          (MenuItem
       
  1971             enabled: canMoveOrAlignSelection
       
  1972             label: 'Align'
       
  1973             translateLabel: true
       
  1974             submenuChannel: menuAlign
       
  1975           )
       
  1976          (MenuItem
  1790             enabled: hasSelection
  1977             enabled: hasSelection
  1791             label: 'Dimension'
  1978             label: 'Dimension'
  1792             translateLabel: true
  1979             translateLabel: true
  1793             submenu: 
  1980             submenu: 
  1794            (Menu
  1981            (Menu
  1795               (
  1982               (
  1796                (MenuItem
       
  1797                   activeHelpKey: editDimensionDefaultExtent
       
  1798                   enabled: canMoveOrAlignSelection
       
  1799                   label: 'Default Extent'
       
  1800                   itemValue: setToDefaultExtent
       
  1801                   translateLabel: true
       
  1802                 )
       
  1803                (MenuItem
       
  1804                   activeHelpKey: editDimensionDefaultWidth
       
  1805                   enabled: canMoveOrAlignSelection
       
  1806                   label: 'Default Width'
       
  1807                   itemValue: setToDefaultWidth
       
  1808                   translateLabel: true
       
  1809                 )
       
  1810                (MenuItem
       
  1811                   activeHelpKey: editDimensionDefaultHeight
       
  1812                   enabled: canMoveOrAlignSelection
       
  1813                   label: 'Default Height'
       
  1814                   itemValue: setToDefaultHeight
       
  1815                   translateLabel: true
       
  1816                 )
       
  1817                (MenuItem
       
  1818                   label: '-'
       
  1819                 )
       
  1820                (MenuItem
  1983                (MenuItem
  1821                   activeHelpKey: editDimensionCopyLayout
  1984                   activeHelpKey: editDimensionCopyLayout
  1822                   enabled: hasSingleSelection
  1985                   enabled: hasSingleSelection
  1823                   label: 'Copy Layout'
  1986                   label: 'Copy Layout'
  1824                   itemValue: copyLayout
  1987                   itemValue: copyLayout
  1865                (MenuItem
  2028                (MenuItem
  1866                   activeHelpKey: editDimensionPasteHeight
  2029                   activeHelpKey: editDimensionPasteHeight
  1867                   enabled: canMoveOrAlignSelection
  2030                   enabled: canMoveOrAlignSelection
  1868                   label: 'Paste Height'
  2031                   label: 'Paste Height'
  1869                   itemValue: pasteHeight
  2032                   itemValue: pasteHeight
       
  2033                   translateLabel: true
       
  2034                 )
       
  2035                (MenuItem
       
  2036                   label: '-'
       
  2037                 )
       
  2038                (MenuItem
       
  2039                   activeHelpKey: editDimensionDefaultExtent
       
  2040                   enabled: canMoveOrAlignSelection
       
  2041                   label: 'Set Default Extent'
       
  2042                   itemValue: setToDefaultExtent
       
  2043                   translateLabel: true
       
  2044                 )
       
  2045                (MenuItem
       
  2046                   activeHelpKey: editDimensionDefaultWidth
       
  2047                   enabled: canMoveOrAlignSelection
       
  2048                   label: 'Set Default Width'
       
  2049                   itemValue: setToDefaultWidth
       
  2050                   translateLabel: true
       
  2051                 )
       
  2052                (MenuItem
       
  2053                   activeHelpKey: editDimensionDefaultHeight
       
  2054                   enabled: canMoveOrAlignSelection
       
  2055                   label: 'Set Default Height'
       
  2056                   itemValue: setToDefaultHeight
  1870                   translateLabel: true
  2057                   translateLabel: true
  1871                 )
  2058                 )
  1872                )
  2059                )
  1873               nil
  2060               nil
  1874               nil
  2061               nil
  2379     "
  2566     "
  2380 
  2567 
  2381     <resource: #menu>
  2568     <resource: #menu>
  2382 
  2569 
  2383     ^ 
  2570     ^ 
  2384      #(#Menu
  2571      #(Menu
  2385         #(
  2572         (
  2386          #(#MenuItem
  2573          (MenuItem
  2387             #label: 'Align Left'
  2574             activeHelpKey: alignSelectionLeft
  2388             #isButton: true
  2575             enabled: canMoveOrAlignSelection
  2389             #value: #alignSelectionLeft
  2576             label: 'Align Left'
  2390             #activeHelpKey: #alignSelectionLeft
  2577             itemValue: alignSelectionLeft
  2391             #enabled: #canMoveOrAlignSelection
  2578             translateLabel: true
  2392             #labelImage: #(#ResourceRetriever nil #iconAlignL)
  2579             isButton: true
  2393           )
  2580             labelImage: (ResourceRetriever nil iconAlignL)
  2394          #(#MenuItem
  2581           )
  2395             #label: 'Align Right'
  2582          (MenuItem
  2396             #isButton: true
  2583             activeHelpKey: alignSelectionRight
  2397             #value: #alignSelectionRight
  2584             enabled: canMoveOrAlignSelection
  2398             #activeHelpKey: #alignSelectionRight
  2585             label: 'Align Right'
  2399             #enabled: #canMoveOrAlignSelection
  2586             itemValue: alignSelectionRight
  2400             #labelImage: #(#ResourceRetriever nil #iconAlignR)
  2587             translateLabel: true
  2401           )
  2588             isButton: true
  2402          #(#MenuItem
  2589             labelImage: (ResourceRetriever nil iconAlignR)
  2403             #label: 'Align Left & Right'
  2590           )
  2404             #isButton: true
  2591          (MenuItem
  2405             #value: #alignSelectionLeftAndRight
  2592             activeHelpKey: alignSelectionTop
  2406             #activeHelpKey: #alignSelectionLeftAndRight
  2593             enabled: canMoveOrAlignSelection
  2407             #enabled: #canMoveOrAlignSelection
  2594             label: 'Align Top'
  2408             #labelImage: #(#ResourceRetriever nil #iconAlignLR)
  2595             itemValue: alignSelectionTop
  2409           )
  2596             translateLabel: true
  2410          #(#MenuItem
  2597             isButton: true
  2411             #label: ''
  2598             labelImage: (ResourceRetriever nil iconAlignT)
  2412           )
  2599           )
  2413          #(#MenuItem
  2600          (MenuItem
  2414             #label: 'Align Top'
  2601             activeHelpKey: alignSelectionBottom
  2415             #isButton: true
  2602             enabled: canMoveOrAlignSelection
  2416             #value: #alignSelectionTop
  2603             label: 'Align Bottom'
  2417             #activeHelpKey: #alignSelectionTop
  2604             itemValue: alignSelectionBottom
  2418             #enabled: #canMoveOrAlignSelection
  2605             translateLabel: true
  2419             #labelImage: #(#ResourceRetriever nil #iconAlignT)
  2606             isButton: true
  2420           )
  2607             labelImage: (ResourceRetriever nil iconAlignB)
  2421          #(#MenuItem
  2608           )
  2422             #label: 'Align Bottom'
  2609          (MenuItem
  2423             #isButton: true
  2610             activeHelpKey: alignSelectionLeftAndRight
  2424             #value: #alignSelectionBottom
  2611             enabled: canMoveOrAlignSelection
  2425             #activeHelpKey: #alignSelectionBottom
  2612             label: 'Align Left & Right'
  2426             #enabled: #canMoveOrAlignSelection
  2613             itemValue: alignSelectionLeftAndRight
  2427             #labelImage: #(#ResourceRetriever nil #iconAlignB)
  2614             translateLabel: true
  2428           )
  2615             isButton: true
  2429          #(#MenuItem
  2616             labelImage: (ResourceRetriever nil iconResizeLR)
  2430             #label: 'Align Top & Bottom'
  2617           )
  2431             #isButton: true
  2618          (MenuItem
  2432             #value: #alignSelectionTopAndBottom
  2619             activeHelpKey: alignSelectionTopAndBottom
  2433             #activeHelpKey: #alignSelectionTopAndBottom
  2620             enabled: canMoveOrAlignSelection
  2434             #enabled: #canMoveOrAlignSelection
  2621             label: 'Align Top & Bottom'
  2435             #labelImage: #(#ResourceRetriever nil #iconAlignTB)
  2622             itemValue: alignSelectionTopAndBottom
  2436           )
  2623             translateLabel: true
  2437          #(#MenuItem
  2624             isButton: true
  2438             #label: ''
  2625             labelImage: (ResourceRetriever nil iconResizeTB)
  2439           )
  2626           )
  2440          #(#MenuItem
  2627          (MenuItem
  2441             #label: 'Move Left'
  2628             label: ''
  2442             #isButton: true
  2629           )
  2443             #triggerOnDown: true
  2630          (MenuItem
  2444             #hideMenuOnActivated: false
  2631             activeHelpKey: changePositionLeft
  2445             #value: #moveSelectionLeft
  2632             enabled: canMoveOrAlignSelection
  2446             #activeHelpKey: #changePositionLeft
  2633             label: 'Move Left'
  2447             #enabled: #canMoveOrAlignSelection
  2634             itemValue: moveSelectionLeft
  2448             #labelImage: #(#ResourceRetriever nil #arrowLeft)
  2635             translateLabel: true
  2449           )
  2636             isButton: true
  2450          #(#MenuItem
  2637             hideMenuOnActivated: false
  2451             #label: 'Move Right'
  2638             triggerOnDown: true
  2452             #isButton: true
  2639             labelImage: (ResourceRetriever nil arrowLeft)
  2453             #triggerOnDown: true
  2640           )
  2454             #hideMenuOnActivated: false
  2641          (MenuItem
  2455             #value: #moveSelectionRight
  2642             activeHelpKey: changePositionRight
  2456             #activeHelpKey: #changePositionRight
  2643             enabled: canMoveOrAlignSelection
  2457             #enabled: #canMoveOrAlignSelection
  2644             label: 'Move Right'
  2458             #labelImage: #(#ResourceRetriever nil #arrowRight)
  2645             itemValue: moveSelectionRight
  2459           )
  2646             translateLabel: true
  2460          #(#MenuItem
  2647             isButton: true
  2461             #label: 'Move Up'
  2648             hideMenuOnActivated: false
  2462             #isButton: true
  2649             triggerOnDown: true
  2463             #triggerOnDown: true
  2650             labelImage: (ResourceRetriever nil arrowRight)
  2464             #value: #moveSelectionUp
  2651           )
  2465             #activeHelpKey: #changePositionUp
  2652          (MenuItem
  2466             #enabled: #canMoveOrAlignSelection
  2653             activeHelpKey: changePositionUp
  2467             #labelImage: #(#ResourceRetriever nil #arrowUp)
  2654             enabled: canMoveOrAlignSelection
  2468           )
  2655             label: 'Move Up'
  2469          #(#MenuItem
  2656             itemValue: moveSelectionUp
  2470             #label: 'Move Down'
  2657             translateLabel: true
  2471             #isButton: true
  2658             isButton: true
  2472             #triggerOnDown: true
  2659             triggerOnDown: true
  2473             #value: #moveSelectionDown
  2660             labelImage: (ResourceRetriever nil arrowUp)
  2474             #activeHelpKey: #changePositionDown
  2661           )
  2475             #enabled: #canMoveOrAlignSelection
  2662          (MenuItem
  2476             #labelImage: #(#ResourceRetriever nil #arrowDown)
  2663             activeHelpKey: changePositionDown
  2477           )
  2664             enabled: canMoveOrAlignSelection
  2478          #(#MenuItem
  2665             label: 'Move Down'
  2479             #label: 'Widget Documentation'
  2666             itemValue: moveSelectionDown
  2480             #translateLabel: true
  2667             translateLabel: true
  2481             #isButton: true
  2668             isButton: true
  2482             #startGroup: #right
  2669             triggerOnDown: true
  2483             #value: #doOpenWidgetDocumentation
  2670             labelImage: (ResourceRetriever nil arrowDown)
  2484             #activeHelpKey: #editOpenSpecDocumentation
  2671           )
  2485             #labelImage: #(#ResourceRetriever #Icon #helpIcon)
  2672          (MenuItem
       
  2673             activeHelpKey: editOpenSpecDocumentation
       
  2674             label: 'Widget Documentation'
       
  2675             itemValue: doOpenWidgetDocumentation
       
  2676             translateLabel: true
       
  2677             isButton: true
       
  2678             startGroup: right
       
  2679             labelImage: (ResourceRetriever Icon helpIcon)
  2486           )
  2680           )
  2487          )
  2681          )
  2488         nil
  2682         nil
  2489         nil
  2683         nil
  2490       )
  2684       )
  2491 ! !
  2685 ! !
  2492 
  2686 
  2493 !UIPainter methodsFor:'aspects'!
  2687 !UIPainter methodsFor:'aspects'!
  2494 
  2688 
  2495 aspectFor:aKey
  2689 aspectFor:aKey
  2496     "returns the aspect for aKey"
  2690     "returns the aspect for aKey or nil"
  2497 
  2691 
  2498     ^aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
  2692     ^ aspects at:aKey ifAbsent:[ super aspectFor:aKey ]
  2499 !
  2693 !
  2500 
  2694 
  2501 canChangeOrderInContainer
  2695 canChangeOrderInContainer
  2502     "returns a boolean value holder which is true if the widget order can be changed 
  2696     "returns a boolean value holder which is true if the widget order can be changed 
  2503      within their container"
  2697      within their container"
  2538 
  2732 
  2539     ^ builder booleanValueAspectFor:#canMoveOrAlignSelection
  2733     ^ builder booleanValueAspectFor:#canMoveOrAlignSelection
  2540 !
  2734 !
  2541 
  2735 
  2542 canMoveSelection
  2736 canMoveSelection
  2543 
  2737     "true if move-in/move-out/move-up and down are enabled"
  2544     ^self canChangeOrderInContainer value or: [ 
  2738 
  2545      self canMoveSelectionOutOfContainer value or: [
  2739     ^ self canChangeOrderInContainer value 
  2546      self canMoveSelectionOutOfContainer value]]
  2740      or: [ self canMoveSelectionOutOfContainer value 
       
  2741      or: [ self canMoveSelectionIntoContainer value ]]
  2547 !
  2742 !
  2548 
  2743 
  2549 canMoveSelectionIntoContainer
  2744 canMoveSelectionIntoContainer
  2550     "returns true in case that one widget is selected and can change its container
  2745     "returns true in case that one widget is selected and can change its container
  2551      widget to an element below"
  2746      widget to an element below"
  5724 
  5919 
  5725 canMoveOrAlignSelection
  5920 canMoveOrAlignSelection
  5726     "returns true if any selection exists and all widgets in the selection
  5921     "returns true if any selection exists and all widgets in the selection
  5727      can change their layout through to a move or align operation"
  5922      can change their layout through to a move or align operation"
  5728 
  5923 
  5729     selection size == 0 ifTrue:[
  5924     selection isEmptyOrNil ifTrue:[
  5730         ^ false
  5925         ^ false
  5731     ].
  5926     ].
  5732 
  5927 
  5733     selection do:[:i|
  5928     selection do:[:i|
  5734         i == 1 ifTrue:[^ false].
  5929         |node view|
  5735 
  5930 
  5736         (self canvas canChangeLayoutOfView:((listOfNodes at:i) contents view)) ifFalse:[
  5931         i == 1 ifTrue:[
       
  5932             "/ the tree node for the canvas itself.
       
  5933             ^ false
       
  5934         ].
       
  5935         node := listOfNodes at:i.
       
  5936         view := node contents view.
       
  5937         (self canvas canChangeLayoutOfView:view) ifFalse:[
  5737             ^ false
  5938             ^ false
  5738         ]
  5939         ]
  5739     ].
  5940     ].
  5740     ^ true
  5941     ^ true
  5741 !
  5942 !