MenuEditor.st
changeset 2448 eec01c02868e
parent 2391 8a02cfb5da94
child 2569 b55aeaecefda
equal deleted inserted replaced
2447:017ac2e500f7 2448:eec01c02868e
  4846 
  4846 
  4847 menu:aMenu labeled:aString
  4847 menu:aMenu labeled:aString
  4848     |expanded item menu|
  4848     |expanded item menu|
  4849 
  4849 
  4850     self criticalDo:[
  4850     self criticalDo:[
  4851 	self isRootItem ifTrue:[ expanded := true ]
  4851         self isRootItem ifTrue:[ expanded := true ]
  4852 		       ifFalse:[ expanded := isExpanded ].
  4852                        ifFalse:[ expanded := isExpanded ].
  4853 
  4853 
  4854 	self removeAll.
  4854         self removeAll.
  4855 	self rawLabel:aString.
  4855         self rawLabel:aString.
  4856 
  4856 
  4857 	menu := aMenu value.
  4857         menu := aMenu value.
  4858 
  4858 
  4859 	(menu isNil or:[menu isString]) ifTrue:[
  4859         (menu isNil or:[menu isString]) ifTrue:[
  4860 	    menu := nil
  4860             menu := nil
  4861 	] ifFalse:[
  4861         ] ifFalse:[
  4862 	    aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ]
  4862             aMenu isCollection ifTrue:[ menu := Menu decodeFromLiteralArray:aMenu ]
  4863 			      ifFalse:[ menu := aMenu ].
  4863                               ifFalse:[ menu := aMenu ].
  4864 
  4864 
  4865 	    menu numberOfItems == 0 ifTrue:[
  4865             menu hasItems ifFalse:[
  4866 		menu := nil
  4866                 menu := nil
  4867 	    ].
  4867             ].
  4868 	].
  4868         ].
  4869 	menu ifNotNil:[
  4869         menu ifNotNil:[
  4870 	    isExpanded := false.        "/ discard change notifications
  4870             isExpanded := false.        "/ discard change notifications
  4871 	    children   := OrderedCollection new.
  4871             children   := OrderedCollection new.
  4872 
  4872 
  4873 	    menu itemsDo:[:el|
  4873             menu itemsDo:[:el|
  4874 		item := self class menuItem:el.
  4874                 item := self class menuItem:el.
  4875 		item parent:self.
  4875                 item parent:self.
  4876 		children add:item.
  4876                 children add:item.
  4877 	    ].
  4877             ].
  4878 	    expanded ifTrue:[ self expand ].
  4878             expanded ifTrue:[ self expand ].
  4879 	].
  4879         ].
  4880 	isExpanded := expanded.
  4880         isExpanded := expanded.
  4881     ].
  4881     ].
  4882     self changed
  4882     self changed
  4883 
  4883 
  4884     "Modified: / 27-03-2007 / 08:43:07 / cg"
  4884     "Modified: / 27-03-2007 / 08:43:07 / cg"
  4885 !
  4885 !