--- a/ImageEditor.st Fri Nov 21 08:27:09 2003 +0100
+++ b/ImageEditor.st Fri Nov 21 13:56:01 2003 +0100
@@ -2266,12 +2266,44 @@
<resource: #menu>
^
- #(#Menu
- #(
- #(#MenuItem
- #label: 'TileMode'
- #translateLabel: true
- #indication: #tileModeHolder
+ #(Menu
+ (
+ (MenuItem
+ label: 'TileMode'
+ translateLabel: true
+ indication: tileModeHolder
+ )
+ (MenuItem
+ label: '-'
+ )
+ (MenuItem
+ label: 'Background Color'
+ translateLabel: true
+ submenu:
+ (Menu
+ (
+ (MenuItem
+ label: 'Gray'
+ translateLabel: true
+ choice: previewBackgroundColor
+ choiceValue: nil
+ )
+ (MenuItem
+ label: 'Black'
+ translateLabel: true
+ choice: previewBackgroundColor
+ choiceValue: black
+ )
+ (MenuItem
+ label: 'White'
+ translateLabel: true
+ choice: previewBackgroundColor
+ choiceValue: white
+ )
+ )
+ nil
+ nil
+ )
)
)
nil
@@ -2536,6 +2568,15 @@
^ holder
!
+previewBackgroundColor
+ |holder|
+ (holder := builder bindingAt:#previewBackgroundColor) isNil ifTrue:[
+ builder aspectAt:#previewBackgroundColor put:(holder := nil asValue).
+ holder addDependent:self.
+ ].
+ ^ holder
+!
+
selectionOfColor
"returns a valueHolder for the current selection of the edit color.
Here, an AspectAdaptor which accesses selectedColorIndex is returned."
@@ -2611,13 +2652,25 @@
!
update:something with:aParameter from:changedObject
- |clrIndex img |
+ |clrIndex img clr|
img := self image.
changedObject == self tileModeHolder ifTrue:[
- self imagePreView tileMode:(changedObject value) tileOffset:(img extent).
- self imagePreView clear; invalidate.
+ self imagePreView
+ tileMode:(changedObject value) tileOffset:(img extent);
+ clear;
+ invalidate.
+ ^ self
+ ].
+ changedObject == self previewBackgroundColor ifTrue:[
+ clr := changedObject value isNil
+ ifTrue:[imageEditView viewBackground]
+ ifFalse:[Color perform:changedObject value].
+ self imagePreView
+ viewBackground:clr;
+ clear;
+ invalidate.
^ self
].