MenuEditor.st
changeset 331 aa1663b8c2ab
parent 326 4dcda591af02
child 340 1de048872d5e
equal deleted inserted replaced
330:643ac5544426 331:aa1663b8c2ab
  1780 doBrowseAppClass
  1780 doBrowseAppClass
  1781     "open a browser on the class"
  1781     "open a browser on the class"
  1782 
  1782 
  1783     |cls|
  1783     |cls|
  1784 
  1784 
  1785     (cls := self specClass) isNil ifTrue:[
  1785     cls := self resolveName:(self specClass).
  1786         ^ self information:'no class yet'.
  1786 
  1787     ].
  1787     cls notNil ifTrue:[
  1788 
  1788         SystemBrowser openInClass:cls class selector:(self painter selectorName)
  1789     cls isBehavior ifFalse:[
  1789     ] ifFalse:[
  1790         (cls := Smalltalk at:cls asSymbol) isNil ifTrue:[
  1790         self information:'no valid class defined'.
  1791             ^ self information:'no valid class defined'.
  1791     ]
  1792         ]
       
  1793     ].
       
  1794     SystemBrowser openInClass:cls class selector:(self painter selectorName)
       
  1795 
       
  1796 !
  1792 !
  1797 
  1793 
  1798 doDefineClass
  1794 doDefineClass
  1799 
  1795 
  1800     aspects at:#classNameChannel  put:(self specClass asValue).
  1796     aspects at:#classNameChannel  put:(self specClass asValue).
  1825 !
  1821 !
  1826 
  1822 
  1827 doInstallSpec
  1823 doInstallSpec
  1828     |cls selector painter menu spec mthd category code|
  1824     |cls selector painter menu spec mthd category code|
  1829 
  1825 
  1830     (cls := self specClass) isNil ifTrue:[
  1826     cls := self resolveName:(self specClass).
  1831         ^ self information:'no class yet'.
  1827 
  1832     ].
  1828     cls isNil ifTrue:[
  1833 
  1829         ^ self information:'no valid class defined'.
  1834     cls isBehavior ifFalse:[
       
  1835         (cls := Smalltalk at:cls asSymbol) isNil ifTrue:[
       
  1836             ^ self information:'no valid class defined'.
       
  1837         ]
       
  1838     ].
  1830     ].
  1839     painter  := self painter.
  1831     painter  := self painter.
  1840     selector := painter selectorName.
  1832     selector := painter selectorName.
  1841     menu     := painter asMenu.
  1833     menu     := painter asMenu.
  1842 
  1834 
  2255 
  2247 
  2256 buildFrom:aClass andSelector:aSelector
  2248 buildFrom:aClass andSelector:aSelector
  2257     |spec cls menu node|
  2249     |spec cls menu node|
  2258 
  2250 
  2259     (aClass notNil and:[aSelector notNil]) ifTrue:[
  2251     (aClass notNil and:[aSelector notNil]) ifTrue:[
  2260         aClass isBehavior ifFalse:[cls := Smalltalk at:aClass asSymbol]
  2252         cls := self resolveName:aClass.
  2261                            ifTrue:[cls := aClass].
       
  2262 
  2253 
  2263         (cls respondsTo:aSelector) ifTrue:[
  2254         (cls respondsTo:aSelector) ifTrue:[
  2264             spec := cls perform:aSelector
  2255             spec := cls perform:aSelector
  2265         ]
  2256         ]
  2266     ].
  2257     ].
       
  2258 
  2267     spec isNil ifFalse:[
  2259     spec isNil ifFalse:[
  2268         (spec isMemberOf:Menu) ifFalse:[
  2260         (spec isMemberOf:Menu) ifFalse:[
  2269             menu := Menu new fromLiteralArrayEncoding:spec.
  2261             menu := Menu new fromLiteralArrayEncoding:spec.
  2270         ] ifTrue:[
  2262         ] ifTrue:[
  2271             menu := spec.
  2263             menu := spec.