--- a/ImageEditor.st Fri Jan 16 22:54:52 1998 +0100
+++ b/ImageEditor.st Sat Jan 17 00:25:04 1998 +0100
@@ -55,17 +55,20 @@
"self openModalOnClass: self andSelector: #newImageIcon"
- |imageEditor className resourceClassName resourceSelector|
+ |imageEditor className resourceClassName resourceSelector|
imageEditor := self new.
aClass isClass ifTrue: [className := aClass name].
aClass isString ifTrue: [className := aClass].
- imageEditor postOpenAction: [imageEditor loadFromMessage: className printString, ' ', aSelector].
+ imageEditor postOpenAction: [imageEditor loadFromOrPrepareForMessage: className, ' ', aSelector].
imageEditor openModal.
resourceClassName := imageEditor valueOfResourceClass value.
resourceSelector := imageEditor valueOfResourceSelector value.
- ^resourceClassName, ' ', resourceSelector
+
+ (className asString ~= resourceClassName) | (aSelector asString ~= resourceSelector)
+ ifTrue: [^resourceClassName, ' ', resourceSelector]
+ ifFalse:[^nil]
!
openOnClass: aClass andSelector: aSelector
@@ -524,11 +527,11 @@
#'window:'
#(#WindowSpec
#'name:' 'Image Editor'
- #'layout:' #(#LayoutFrame 368 0 254 0 867 0 599 0)
+ #'layout:' #(#LayoutFrame 109 0 301 0 608 0 646 0)
#'label:' 'Image Editor'
#'min:' #(#Point 400 320)
#'max:' #(#Point 1152 900)
- #'bounds:' #(#Rectangle 368 254 868 600)
+ #'bounds:' #(#Rectangle 109 301 609 647)
#'menu:' #menu
#'usePreferredExtent:' false
)
@@ -538,14 +541,14 @@
#(
#(#MenuPanelSpec
#'name:' 'menuToolbarView'
- #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 34 0)
+ #'layout:' #(#LayoutFrame 0 0.0 0 0 0 1.0 32 0)
#'menu:' #menuToolbar
#'style:' #(#FontDescription #helvetica #medium #roman 10)
#'showSeparatingLines:' true
)
#(#VariableHorizontalPanelSpec
#'name:' 'variableHorizontalPanel1'
- #'layout:' #(#LayoutFrame 0 0.0 36 0.0 0 1.0 -22 1.0)
+ #'layout:' #(#LayoutFrame 0 0.0 34 0.0 0 1.0 -22 1.0)
#'component:'
#(#SpecCollection
#'collection:'
@@ -621,17 +624,17 @@
#'backgroundSelector:' #yourself
)
#(#DataSetColumnSpec
- #'label:' ' Red'
+ #'label:' 'Red'
#'model:' #rowRedByte
#'canSelect:' false
)
#(#DataSetColumnSpec
- #'label:' ' Green'
+ #'label:' 'Green'
#'model:' #rowGreenByte
#'canSelect:' false
)
#(#DataSetColumnSpec
- #'label:' ' Blue'
+ #'label:' 'Blue'
#'model:' #rowBlueByte
#'canSelect:' false
)
@@ -692,6 +695,7 @@
#(#InputFieldSpec
#'name:' 'resourceClassInputField'
#'activeHelpKey:' #classNameInputField
+ #'enableChannel:' #valueOfOpenedStandAlone
#'model:' #valueOfResourceClass
#'immediateAccept:' false
#'extent:' #(#Point 129 21)
@@ -1246,6 +1250,20 @@
!
+updateInputFields
+
+ self valueOfResourceSelector removeDependent: self.
+ self valueOfResourceSelector value: self imageEditView resourceSelector.
+ self valueOfResourceSelector addDependent: self.
+
+ self valueOfResourceClass removeDependent: self.
+ self imageEditView resourceClass notNil
+ ifTrue: [self valueOfResourceClass value: self imageEditView resourceClass]
+ ifFalse: [self valueOfResourceClass value: ''].
+ self valueOfResourceClass addDependent: self.
+
+!
+
updateInputFieldsAndLabelsAndHistory
self imageIsLoaded value: self image notNil.
@@ -1259,15 +1277,7 @@
self valueOfFileName value: self image fileName.
self valueOfFileName addDependent: self.
- self valueOfResourceSelector removeDependent: self.
- self valueOfResourceSelector value: self imageEditView resourceSelector.
- self valueOfResourceSelector addDependent: self.
-
- self valueOfResourceClass removeDependent: self.
- self imageEditView resourceClass notNil
- ifTrue: [self valueOfResourceClass value: self imageEditView resourceClass]
- ifFalse: [self valueOfResourceClass value: ''].
- self valueOfResourceClass addDependent: self.
+ self updateInputFields.
self imageEditView resourceMessage asCollectionOfWords size = 2
ifTrue: [self addToHistory: self imageEditView resourceMessage -> #loadFromMessage:].
@@ -1319,8 +1329,6 @@
super open.
- self imageEditView masterApplication: self.
-
self resourceClassInputField entryCompletionBlock:
[:value|
|what|
@@ -1358,6 +1366,7 @@
postOpenWith:aBuilder
+ self imageEditView masterApplication: self.
postOpenAction notNil ifTrue: [postOpenAction value].
super postOpenWith:aBuilder.
!
@@ -1528,6 +1537,22 @@
]
!
+loadFromOrPrepareForMessage: aMessage
+
+ (self imageEditView loadFromMessage: aMessage) notNil
+ ifTrue:
+ [
+ self listOfColors contents: self image usedColors asSet asOrderedCollection.
+ self findColorMapMode.
+ self updateInputFieldsAndLabelsAndHistory.
+ ]
+ ifFalse:
+ [
+ self imageEditView resourceMessage: aMessage.
+ self updateInputFields.
+ ]
+!
+
newImage
|aspects|