# HG changeset patch # User Claus Gittinger # Date 1218183406 -7200 # Node ID 8a02cfb5da94d8ecc64613912d6ee07af5388ce1 # Parent 07303d4b4e78d8df224641813eb7e3a1e5190c58 fixed a bug wich did not allow ToolbarIconLibrarz to be entered (always changed it to XPToolbarIconLibrary) diff -r 07303d4b4e78 -r 8a02cfb5da94 MenuEditor.st --- a/MenuEditor.st Thu Aug 07 17:07:14 2008 +0200 +++ b/MenuEditor.st Fri Aug 08 10:16:46 2008 +0200 @@ -5116,52 +5116,56 @@ !MenuEditor::ResourceEditor methodsFor:'accessing'! resourceRetriever - |rcv sel cls| + |rcv sel cls clsName| sel := selectorHolder value. sel size == 0 ifTrue:[ ^ nil ]. cls := self retrieverClass. - cls ifNotNil:[ cls := cls name asSymbol ]. + cls notNil ifTrue:[ + clsName := retrieverHolder value. + clsName isEmptyOrNil ifTrue:[ + clsName := cls name. + ]. + clsName := clsName asSymbol. + ]. rcv := ResourceRetriever new. - rcv className:cls. - rcv selector:sel. + rcv className:clsName. + rcv selector:sel. iconAndLabelHolder value ifTrue:[ rcv labelText:'' ]. ^ rcv ! resourceRetriever:aResourceRetriever - |cls sel isOn| + |className sel isOn| aResourceRetriever notNil ifTrue:[ - cls := aResourceRetriever className. - cls ifNotNil:[ - cls isBehavior ifTrue:[cls := cls name asSymbol]. - ]. - sel := aResourceRetriever selector. - isOn := aResourceRetriever labelText notNil. + className := aResourceRetriever className. + className isBehavior ifTrue:[ + className := className name asSymbol + ]. + sel := aResourceRetriever selector. + isOn := aResourceRetriever labelText notNil. ] ifFalse:[ - cls := sel := nil. - isOn := false. + className := sel := nil. + isOn := false. ]. - retrieverHolder value:cls. + retrieverHolder value:className. selectorHolder value:sel. iconAndLabelHolder value:isOn. ! retrieverClass - |cls| - - cls := retrieverHolder value. - - cls size ~~ 0 ifTrue:[ - cls := Smalltalk at:cls ifAbsent:nil. - - (cls notNil and:[cls isBehavior]) ifTrue:[ - ^ cls - ]. + |clsName cls| + + clsName := retrieverHolder value. + clsName notEmptyOrNil ifTrue:[ + cls := Smalltalk at:clsName ifAbsent:nil. + (cls isBehavior) ifTrue:[ + ^ cls + ]. ]. ^ nil ! ! @@ -5261,8 +5265,6 @@ !MenuEditor::ResourceEditor methodsFor:'change & update'! retrieverChanged - "called if the retriever changed - " |retriever list name| retriever := self retrieverClass. @@ -5272,12 +5274,12 @@ self updateImageHolder. (retriever notNil and:[imageList size ~~ 0]) ifTrue:[ - list := self retrieverList. - name := retriever name. - - (list includes:name) ifFalse:[ - list add:(name asSymbol). - ] + list := self retrieverList. + name := retriever name. + + (list includes:name) ifFalse:[ + list add:(name asSymbol). + ] ]. ! @@ -5294,9 +5296,11 @@ aModel == selectorHolder ifTrue:[ ^ self selectorChanged ]. aModel == imageHolder ifTrue:[ - item := imageHolder value. - item ifNotNil:[ selectorHolder value:(item label) ]. - ^ self + item := imageHolder value. + item ifNotNil:[ + selectorHolder value:(item label) + ]. + ^ self ]. super update:what with:aPara from:aModel ! @@ -5307,7 +5311,10 @@ imageList isEmpty ifTrue:[^ self]. selector := selectorHolder value. - selector size == 0 ifTrue:[ imageHolder value:nil. ^ self ]. + selector isEmptyOrNil ifTrue:[ + imageHolder value:nil. + ^ self + ]. item := nil. selector := selector asSymbol.