# HG changeset patch # User tz # Date 884993220 -3600 # Node ID d28e8c5f25f397d75aa3bbdca3ab5adc9355024a # Parent f792d83774b34533aefdf1ac4a9ab59bc666624b image editor startup revised diff -r f792d83774b3 -r d28e8c5f25f3 MenuEditor.st --- a/MenuEditor.st Sat Jan 17 00:25:04 1998 +0100 +++ b/MenuEditor.st Sat Jan 17 00:27:00 1998 +0100 @@ -1854,12 +1854,14 @@ ! openModalOnClass:aClass andSelector:aSelector + specClass := Association key:aClass value:aSelector. super openInterfaceModal. ! openOnClass:aClass andSelector:aSelector + specClass := Association key:aClass value:aSelector. super openInterface. self buildFrom:aClass andSelector:aSelector. @@ -1964,29 +1966,26 @@ |cls resourceClass resourceSelector imageResourceMessage readStream| - cls := self resolveName:(self specClass). + cls := self resolveName: self specClass. cls isNil ifTrue:[ ^ self information:'No valid class defined!!'. ]. - (aspects at:#retriever) value size > 0 - ifTrue: [resourceClass := (aspects at:#retriever) value] - ifFalse: [resourceClass := cls]. (aspects at:#icon) value size > 0 ifTrue: [resourceSelector := (aspects at:#icon) value] ifFalse: [resourceSelector := #stxIcon]. - imageResourceMessage := ImageEditor openModalOnClass: resourceClass andSelector: resourceSelector. - readStream := imageResourceMessage readStream. - resourceClass := (readStream upTo: $ ) asSymbol. - resourceSelector := readStream upToEnd asSymbol. - resourceClass size > 0 ifTrue: [(aspects at:#retriever) value: resourceClass]. - resourceSelector size > 0 ifTrue: [(aspects at:#icon) value: resourceSelector. self modifiedChannel value: true]. - - (aspects at:#retriever) value = specClass + (aspects at:#retriever) value size > 0 + ifTrue: [resourceClass := (aspects at:#retriever) value] + ifFalse: [resourceClass := cls withAllSuperclasses detect: [:cls| cls class implements: resourceSelector] ifNone: [cls]]. + + (imageResourceMessage := ImageEditor openModalOnClass: resourceClass andSelector: resourceSelector) notNil ifTrue: [ - (aspects at:#retriever) value: nil + readStream := imageResourceMessage readStream. + resourceClass := (readStream upTo: $ ) asSymbol. + resourceSelector := readStream upToEnd asSymbol. + resourceClass size > 0 ifTrue: [(aspects at:#retriever) value: resourceClass]. + resourceSelector size > 0 ifTrue: [(aspects at:#icon) value: resourceSelector. self modifiedChannel value: true] ] - ! doFromClass