# HG changeset patch # User Claus Gittinger # Date 1532852564 -7200 # Node ID 5606394265f94517926d0dcd06cbaac2039143c9 # Parent e8ae5a7267d851705762c71916eed5c053e2e464 #REFACTORING by cg class: MenuEditor::RegularMenuItem changed: #menu:labeled: (send #synchronized: instead of #criticalDo:) diff -r e8ae5a7267d8 -r 5606394265f9 MenuEditor.st --- a/MenuEditor.st Sun Jul 29 10:01:24 2018 +0200 +++ b/MenuEditor.st Sun Jul 29 10:22:44 2018 +0200 @@ -1,3 +1,5 @@ +"{ Encoding: utf8 }" + " COPYRIGHT (c) 1997 by eXept Software AG All Rights Reserved @@ -5896,41 +5898,42 @@ menu:aMenu labeled:aString |expanded item menu| - self criticalDo:[ - self isRootItem ifTrue:[ expanded := true ] - ifFalse:[ expanded := isExpanded ]. - - self removeAll. - self rawLabel:aString. - - menu := aMenu value. - - (menu isNil or:[menu isString]) ifTrue:[ - menu := nil - ] ifFalse:[ - aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ] - ifFalse:[ menu := aMenu ]. - - menu hasItems ifFalse:[ - menu := nil - ]. - ]. - menu notNil ifTrue:[ - isExpanded := false. "/ discard change notifications - children := OrderedCollection new. - - menu itemsDo:[:el| - item := self class menuItem:el. - item parent:self. - children add:item. - ]. - expanded ifTrue:[ self expand ]. - ]. - isExpanded := expanded. + self synchronized:[ + self isRootItem ifTrue:[ expanded := true ] + ifFalse:[ expanded := isExpanded ]. + + self removeAll. + self rawLabel:aString. + + menu := aMenu value. + + (menu isNil or:[menu isString]) ifTrue:[ + menu := nil + ] ifFalse:[ + aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ] + ifFalse:[ menu := aMenu ]. + + menu hasItems ifFalse:[ + menu := nil + ]. + ]. + menu notNil ifTrue:[ + isExpanded := false. "/ discard change notifications + children := OrderedCollection new. + + menu itemsDo:[:el| + item := self class menuItem:el. + item parent:self. + children add:item. + ]. + expanded ifTrue:[ self expand ]. + ]. + isExpanded := expanded. ]. self changed "Modified: / 29-11-2011 / 11:28:33 / cg" + "Modified: / 28-07-2018 / 15:49:52 / Claus Gittinger" ! menuItem