[squeak-dev] The Trunk: Morphic-kfr.1023.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Nov 1 20:20:51 UTC 2015
Karl Ramberg uploaded a new version of Morphic to project The Trunk:
http://source.squeak.org/trunk/Morphic-kfr.1023.mcz
==================== Summary ====================
Name: Morphic-kfr.1023
Author: kfr
Time: 1 November 2015, 9:20:03.104 pm
UUID: 3f59454c-b3fb-44ac-a78a-29c653670044
Ancestors: Morphic-kfr.1022
Adding a code pane for reading/editing of the color ramp
=============== Diff against Morphic-kfr.1022 ===============
Item was changed:
----- Method: GradientEditor>>addHandles (in category 'change reporting') -----
addHandles
| handle colorRamp |
rampMorphs := OrderedCollection new.
+ colorRamp := gradientDisplay colorRamp asOrderedCollection.
- colorRamp := self gradientDisplay colorRamp asOrderedCollection.
handle := self handle.
colorRamp
do: [:i |
self addHandleForColor: i value position: i key
].
self changed.!
Item was changed:
----- Method: GradientEditor>>colorRamp (in category 'accessing') -----
colorRamp
+ ^gradientDisplay fillStyle colorRamp asArray printString.
+ !
- | i string |
- string := gradientDisplay fillStyle colorRamp asOrderedCollection printString.
- i := string indexOf:$(.
- ^string copyFrom: i to: string size!
Item was changed:
----- Method: GradientEditor>>colorRamp: (in category 'accessing') -----
colorRamp: aColorRamp
-
- "rampMorphs do:[ :i | rampMorphs remove:i. row removeMorph: i . ].
- self changed."
gradientDisplay colorRamp: aColorRamp.
+ self changed: #colorRamp.
+ self changed
+
- self addHandles.
!
Item was added:
+ ----- Method: GradientEditor>>colorRampExpression: (in category 'accessing') -----
+ colorRampExpression: aString
+ "Set my color by evaluating aString, a Smalltalk expression which results in a Color instance."
+ | col |
+
+ {aString.}
+ detect:
+ [ : each | ([ col := Compiler evaluate: each ]
+ on: Error
+ do:
+ [ : err | nil ]) notNil ]
+ ifNone: [ nil ].
+ col ifNotNil: [ self colorRamp: col.
+ rampMorphs do:[ :each| each delete].
+ self addHandles; updateColorRamp. ]!
Item was added:
+ ----- Method: GradientEditor>>colorRampExpressionMorph (in category 'initialization') -----
+ colorRampExpressionMorph
+ | inputField builder |
+ builder := ToolBuilder default.
+ inputField := (builder build: (builder pluggableInputFieldSpec new
+ model: self;
+ getText: #colorRamp;
+ setText: #colorRampExpression:;
+ softLineWrap: true)).
+ inputField
+ hResizing: #spaceFill ;
+ vResizing: #spaceFill ;
+
+ height: (Preferences standardDefaultTextFont height * 3/2).
+ ^ inputField!
Item was changed:
----- Method: GradientEditor>>eventHandler:target: (in category 'event handling') -----
+ eventHandler: anInstance target: aTarget
+ (anInstance isKindOf: SketchMorph)
+ ifTrue: [anInstance
+ on: #mouseUp
- eventHandler: anInstance target: aTarget
- (anInstance isKindOf: SketchMorph)
- ifTrue:[anInstance on: #mouseUp
send: #changeColor:event:target:
+ to: self
+ withValue: aTarget]
+ ifFalse: [anInstance
+ on: #mouseDown
- to: self withValue: aTarget]
- ifFalse:[anInstance on: #mouseDown
send: #limitHandleMove:event:from:
+ to: self
+ withValue: aTarget.
+ anInstance
+ on: #mouseMove
- to: self withValue: aTarget.
- anInstance on: #mouseMove
send: #limitHandleMove:event:from:
+ to: self
+ withValue: aTarget]!
- to: self withValue: aTarget]!
Item was removed:
- ----- Method: GradientEditor>>gradientDisplay (in category 'accessing') -----
- gradientDisplay
- ^gradientDisplay!
Item was changed:
----- Method: GradientEditor>>handle (in category 'initialization') -----
handle
+ | handle |
+ handle := PolygonMorph
- | handle |
- handle := PolygonMorph
vertices: (Array
with: 0 @ 0
with: 16 @ 0
with: 8 @ 16)
+ color: Color white darker
- color: (Color white darker)
borderWidth: 1
borderColor: Color black.
+ ^ handle
- ^handle
addMorph: ((RectangleMorph
newBounds: (8 @ 18 extent: 1 @ (gradientDisplay height - 2))
color: Color orange)
+ borderWidth: 0)!
- borderWidth: 0).!
Item was changed:
----- Method: GradientEditor>>initialize (in category 'initialization') -----
initialize
-
super initialize.
self myLayout.
+ self extent: 500 @ 200.
+ row := RectangleMorph new extent: self width @ 100;
+ color: Color transparent;
+ borderColor: #inset.
- self extent: 600 @ 150.
- row := RectangleMorph new extent: self width @ 100; color: Color transparent; borderColor: #inset.
-
row addMorph: (gradientDisplay := GradientDisplayMorph new position: 20 @ 20;
extent: self width - 40 @ 40).
gradientDisplay fillStyle direction: gradientDisplay width @ 0.
-
self addMorph: row.
self addButtonRow.
+ self addMorph: self colorRampExpressionMorph!
- "text := PluggableTextMorph
- on: self
- text: #colorRamp
- accept: nil
- readSelection: nil
- menu: nil.
- text color: Color white;
- width: self width;
- height: 50.
- self addMorph: text."
- !
Item was changed:
----- Method: GradientEditor>>setTarget:selector:forMorph:colorRamp: (in category 'initialization') -----
setTarget: aTarget selector: aSelector forMorph:aMorph colorRamp: aColorRamp
+ self target: aTarget; selector: aSelector; morph: aMorph; colorRamp: aColorRamp; addHandles
- self target: aTarget.
- self selector: aSelector.
- self morph: aMorph.
- self colorRamp: aColorRamp.
!
Item was changed:
----- Method: GradientEditor>>updateColorRamp (in category 'change reporting') -----
updateColorRamp
| newAssociation newKey newColor sketch colorRamp |
self updateRampMorphs.
colorRamp := OrderedCollection new.
rampMorphs
do: [:i |
newKey := ((i position x - gradientDisplay left / gradientDisplay width) asFloat roundUpTo: 0.01)
min: 1.0
max: 0.0.
sketch := i findA: SketchMorph.
newColor := sketch rotatedForm colorAt: sketch rotatedForm center.
newAssociation := newKey -> newColor.
colorRamp addLast: newAssociation].
colorRamp := colorRamp sorted.
gradientDisplay colorRamp: colorRamp.
gradientDisplay fillStyle direction: gradientDisplay extent x @ 0.
self changed.
target ifNotNil:[
target perform: selector
with: colorRamp
with: morph].
+ self changed: #colorRamp!
- "text setText: self colorRamp"!
More information about the Squeak-dev
mailing list
|