UIPainter.st
changeset 2568 ea1484c2ab9b
parent 2564 595b56327446
child 2615 347a0b26e210
equal deleted inserted replaced
2567:903843f8a824 2568:ea1484c2ab9b
  3317 !
  3317 !
  3318 
  3318 
  3319 openEditMenu
  3319 openEditMenu
  3320     "opens a Menu Editor on current widget"
  3320     "opens a Menu Editor on current widget"
  3321 
  3321 
  3322     |cls selectorOrMenu editor selectedSpec spec holder|
  3322     |cls selectorOrMenu editor selectedSpec windowSpec holder|
  3323 
  3323 
  3324     (cls := self resolveName:specClassName) isNil ifTrue:[
  3324     self isEditingSpecOnly ifFalse:[
  3325         self askForSaving ifTrue:[cls := self resolveName:specClassName].
  3325         "/ normal mode
  3326     ].
  3326         (cls := self resolveName:specClassName) isNil ifTrue:[
  3327     cls isNil ifTrue:[^ self].
  3327             self askForSaving ifTrue:[cls := self resolveName:specClassName].
       
  3328         ].
       
  3329         cls isNil ifTrue:[^ self].
       
  3330     ].
  3328 
  3331 
  3329     self acceptOrIgnoreSectionModification.
  3332     self acceptOrIgnoreSectionModification.
  3330     spec := self specTool specification.
  3333     windowSpec := self specTool specification.
  3331 
  3334 
  3332     (selectorOrMenu := spec menuSelector) notNil ifTrue:[
  3335     self isEditingSpecOnly ifTrue:[
  3333         selectorOrMenu := selectorOrMenu asSymbol
  3336         selectorOrMenu := windowSpec menu
  3334     ] ifFalse:[
  3337     ] ifFalse:[
  3335         "/ cg: q&d hack ...
  3338         (selectorOrMenu := windowSpec menuSelector) notNil ifTrue:[
  3336         selectorOrMenu := nil.
  3339             selectorOrMenu := selectorOrMenu asSymbol
  3337 
  3340         ] ifFalse:[
  3338         (selectedSpec := treeView propertySelected) notNil ifTrue:[
  3341             "/ cg: q&d hack ...
  3339             Error handle:[:ex |
  3342             selectorOrMenu := nil.
  3340                 selectorOrMenu := nil.
  3343 
  3341             ] do:[
  3344             (selectedSpec := treeView propertySelected) notNil ifTrue:[
  3342                 selectorOrMenu := selectedSpec view asMenu.
  3345                 Error handle:[:ex |
  3343             ]
  3346                     selectorOrMenu := nil.
       
  3347                 ] do:[
       
  3348                     selectorOrMenu := selectedSpec view asMenu.
       
  3349                 ]
       
  3350             ].
  3344         ].
  3351         ].
  3345     ].
  3352     ].
  3346 
  3353 
  3347     editor := MenuEditor new.
  3354     editor := MenuEditor new.
  3348     editor masterApplication:self.
  3355     editor masterApplication:self.
  3349     editor specClass: cls.
  3356     self isEditingSpecOnly ifFalse:[
  3350     editor useHelpTool:(self helpTool).
  3357         editor specClass: cls.
  3351 
  3358         editor useHelpTool:(self helpTool).
  3352     selectorOrMenu class == Menu       
  3359     ].
  3353         ifTrue: [self breakPoint:#cg."no resources"editor openModalOnMenu:selectorOrMenu]
  3360 
  3354         ifFalse:  [editor openModalOnClass:cls andSelector:selectorOrMenu].
  3361     (self isEditingSpecOnly or:[selectorOrMenu class == Menu]) ifTrue: [
  3355 
  3362         editor openModalOnMenu:(selectorOrMenu).
  3356     editor hasSaved ifTrue:[
  3363         editor hasSaved ifTrue:[
  3357         holder := self specTool aspectFor:#menuSelector.
  3364             windowSpec menu:(editor savedSpec).
  3358         holder value:(editor specSelector).
  3365             self accept.
  3359         self accept.
  3366         ].
  3360         ^ self
  3367     ] ifFalse: [
       
  3368         editor openModalOnClass:cls andSelector:selectorOrMenu.
       
  3369         editor hasSaved ifTrue:[
       
  3370             holder := self specTool aspectFor:#menuSelector.
       
  3371             holder value:(editor specSelector).
       
  3372             self accept.
       
  3373         ].
  3361     ].
  3374     ].
  3362 
  3375 
  3363     "Modified: / 12-01-2008 / 10:31:41 / cg"
  3376     "Modified: / 12-01-2008 / 10:31:41 / cg"
  3364 !
  3377 !
  3365 
  3378