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 |