NewLauncher.st
changeset 6522 271558921414
parent 6515 5996d5550b60
child 6562 acd7c70477b0
equal deleted inserted replaced
6521:6f55c8f06c1f 6522:271558921414
  3375                 ].
  3375                 ].
  3376             ].
  3376             ].
  3377             rest := subMenuPath copyFrom:2.
  3377             rest := subMenuPath copyFrom:2.
  3378             menuPanel := subMenu := item submenu.
  3378             menuPanel := subMenu := item submenu.
  3379 
  3379 
  3380             subMenuPath do:[:pathComponent|
  3380             rest do:[:pathComponent|
  3381                 subMenu notNil ifTrue:[
  3381                 subMenu notNil ifTrue:[
  3382                     menuPanel := subMenu.
  3382                     menuPanel := subMenu.
  3383                     subItem := subMenu itemAt:pathComponent.
  3383                     subItem := subMenu itemAt:pathComponent.
  3384                     subItem isNil ifTrue:[
  3384                     subItem isNil ifTrue:[
  3385                         subMenu := nil
  3385                         subMenu := nil
  3386                     ] ifFalse:[
  3386                     ] ifFalse:[
  3387                         subMenu := subItem submenu.
  3387                         subMenu := subItem submenu.
  3388                     ]
  3388                     ]
  3389                 ].
  3389                 ].
  3390             ].
  3390             ].
       
  3391             subMenu notNil ifTrue:[
       
  3392                 menuPanel := subMenu.
       
  3393             ]
  3391         ].
  3394         ].
  3392 
  3395 
  3393         "/ look if not already in the panel
  3396         "/ look if not already in the panel
  3394         (self findItem:newItem inMenuPanel:menuPanel) ~~ 0 ifTrue:[
  3397         (self findItem:newItem inMenuPanel:menuPanel) ~~ 0 ifTrue:[
  3395             "item already exists - do nothing"
  3398             "item already exists - do nothing"
  3396             ^ self.
  3399             ^ self.
  3397         ].
  3400         ].
  3398         "/ ok, not there; search for the position to put the item
  3401 
       
  3402         "/ ok, search for the position to put the item
  3399 
  3403 
  3400         freeMenuIndex := 0.
  3404         freeMenuIndex := 0.
  3401         itemNameOrNil notNil ifTrue:[
  3405         itemNameOrNil notNil ifTrue:[
  3402             freeMenuIndex := menuPanel findFirst:[:i| i nameKey = itemNameOrNil].
  3406             freeMenuIndex := menuPanel findFirst:[:i| i nameKey = itemNameOrNil].
  3403             freeMenuIndex == 0 ifTrue:[
  3407             freeMenuIndex == 0 ifTrue:[
  3404                 freeMenuIndex := menuPanel findFirst:[:i| i activeHelpKey = itemNameOrNil 
  3408                 freeMenuIndex := menuPanel findFirst:[:i| i itemValue = itemNameOrNil].
  3405                                                           or:[i label = itemNameOrNil]].
  3409                 freeMenuIndex == 0 ifTrue:[
       
  3410                     freeMenuIndex := menuPanel findFirst:[:i| i activeHelpKey = itemNameOrNil 
       
  3411                                                               or:[i label = itemNameOrNil]].
       
  3412                 ]
  3406             ]
  3413             ]
  3407         ].
  3414         ].
  3408         freeMenuIndex == 0 ifTrue:[
  3415         freeMenuIndex == 0 ifTrue:[
  3409             freeMenuIndex := before ifTrue:1 ifFalse:[menuPanel numberOfItems + 1].
  3416             freeMenuIndex := before ifTrue:1 ifFalse:[menuPanel numberOfItems + 1].
  3410         ] ifFalse:[
  3417         ] ifFalse:[
  4171 ! !
  4178 ! !
  4172 
  4179 
  4173 !NewLauncher class methodsFor:'documentation'!
  4180 !NewLauncher class methodsFor:'documentation'!
  4174 
  4181 
  4175 version
  4182 version
  4176     ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.333 2006-01-31 23:31:01 cg Exp $'
  4183     ^ '$Header: /cvs/stx/stx/libtool/NewLauncher.st,v 1.334 2006-02-03 10:33:58 cg Exp $'
  4177 ! !
  4184 ! !