UIPainter.st
changeset 1027 4121bb68706b
parent 1021 8c1deb0281c7
child 1032 abe3ed3bebc9
equal deleted inserted replaced
1026:ee8a738cd35d 1027:4121bb68706b
  2010     "opens a Menu Editor on current widget"
  2010     "opens a Menu Editor on current widget"
  2011 
  2011 
  2012     |cls selectorOrMenu editor selectedSpec spec|
  2012     |cls selectorOrMenu editor selectedSpec spec|
  2013 
  2013 
  2014     (cls := self resolveName:specClass) isNil ifTrue:[
  2014     (cls := self resolveName:specClass) isNil ifTrue:[
  2015 	self askForSaving ifFalse: [^self].
  2015         self askForSaving ifFalse: [^self].
  2016 	cls := self resolveName:specClass.
  2016         cls := self resolveName:specClass.
  2017     ].
  2017     ].
  2018 
  2018 
  2019     cls notNil ifTrue:[
  2019     cls notNil ifTrue:[
  2020 	spec := self specTool specification.
  2020         spec := self specTool specification.
  2021 	(selectorOrMenu := spec menuSelector) notNil ifTrue:[
  2021         (selectorOrMenu := spec menuSelector) notNil ifTrue:[
  2022 	    selectorOrMenu := selectorOrMenu asSymbol
  2022             selectorOrMenu := selectorOrMenu asSymbol
  2023 	] ifFalse:[
  2023         ] ifFalse:[
  2024 	    "/ cg: q&d hack ...
  2024             "/ cg: q&d hack ...
  2025 
  2025 
  2026 	    (selectedSpec := treeView propertySelected) notNil ifTrue:[
  2026             (selectedSpec := treeView propertySelected) notNil ifTrue:[
  2027 		Object errorSignal handle:[:ex |
  2027                 Object errorSignal handle:[:ex |
  2028 		    selectorOrMenu := nil.
  2028                     selectorOrMenu := nil.
  2029 		] do:[
  2029                 ] do:[
  2030 		    selectorOrMenu := selectedSpec view asMenu.
  2030                     selectorOrMenu := selectedSpec view asMenu.
  2031 		]
  2031                 ]
  2032 	    ].
  2032             ].
  2033 	].
  2033         ].
  2034 
  2034 
  2035 	editor := MenuEditor new.
  2035         editor := MenuEditor new.
  2036 	editor masterApplication:self.
  2036         editor masterApplication:self.
  2037 	editor specClass: cls.
  2037         editor specClass: cls.
  2038 	editor useHelpTool: self helpTool. 
  2038         editor useHelpTool: self helpTool. 
  2039 	selectorOrMenu class ~~ Menu
  2039         selectorOrMenu class ~~ Menu
  2040 	    ifTrue:  [editor openModalOnClass:cls andSelector:selectorOrMenu]
  2040             ifTrue:  [editor openModalOnClass:cls andSelector:selectorOrMenu]
  2041 	    ifFalse: [editor openModalOnMenu:selectorOrMenu].
  2041             ifFalse: [editor openModalOnMenu:selectorOrMenu].
  2042 	self helpTool updateList.
  2042         self helpTool updateList.
  2043 
  2043 
  2044 	editor specSelector ~= selectorOrMenu ifTrue:[
  2044 "/        editor specSelector ~= selectorOrMenu ifTrue:[
  2045 	    editor hasSaved ifTrue:[
  2045             editor hasSaved ifTrue:[
  2046 		spec menuSelector:editor specSelector.
  2046                 spec menuSelector:editor specSelector.
  2047 		self modifiedChannel value:true.
  2047                 self modifiedChannel value:true.
  2048 		self accept
  2048                 self accept
  2049 	    ]
  2049 "/            ]
  2050 	].
  2050         ].
  2051     ]
  2051     ]
  2052 
  2052 
  2053     "Modified: / 16.7.1998 / 18:16:42 / cg"
  2053     "Modified: / 16.7.1998 / 18:16:42 / cg"
  2054 !
  2054 !
  2055 
  2055