[squeak-dev] The Inbox: Morphic-ct.1634.mcz

karl ramberg karlramberg at gmail.com
Sat Feb 29 13:32:59 UTC 2020


Nice addition.
Would like that the text on the buttons did not abbreviate down.

One nice feature of old color picker is that it is modal and goes away on
mouse up, but I guess I will get used to the new one.
Nice to have access to all the shades of colors more easily. Not just the
full saturated ones.

Best,
Karl



On Sat, Feb 29, 2020 at 11:49 AM Thiede, Christoph <
Christoph.Thiede at student.hpi.uni-potsdam.de> wrote:

>
> ------------------------------
> *Von:* Squeak-dev <squeak-dev-bounces at lists.squeakfoundation.org> im
> Auftrag von commits at source.squeak.org <commits at source.squeak.org>
> *Gesendet:* Samstag, 29. Februar 2020 11:46:56
> *An:* squeak-dev at lists.squeakfoundation.org
> *Betreff:* [squeak-dev] The Inbox: Morphic-ct.1634.mcz
>
> Christoph Thiede uploaded a new version of Morphic to project The Inbox:
> http://source.squeak.org/inbox/Morphic-ct.1634.mcz
>
> ==================== Summary ====================
>
> Name: Morphic-ct.1634
> Author: ct
> Time: 29 February 2020, 11:46:44.317896 am
> UUID: 71271fa2-4ed1-6d4f-8f58-30ed8165c367
> Ancestors: Morphic-mt.1631
>
> Proposal: Add pick button to NewColorPickerMorph that allows to pick a
> color from the Display. With this enhancement, NCPM is finally superior to
> the old ColorPickerMorph and could now replace the latter by the default
> preferences.
>
> =============== Diff against Morphic-mt.1631 ===============
>
> Item was changed:
>   Morph subclass: #NewColorPickerMorph
> +        instanceVariableNames: 'target setColorSelector hsvaMorph
> colorPresenter isPicking'
> -        instanceVariableNames: 'target setColorSelector hsvaMorph
> colorPresenter'
>          classVariableNames: 'UseIt'
>          poolDictionaries: ''
>          category: 'Morphic-Widgets'!
>
>   !NewColorPickerMorph commentStamp: 'cmm 12/3/2010 13:36' prior: 0!
>   A NewColorPickerMorph is a new widget for choosing colors in Morphic.
> Instantiate a NewColorPickerMorph:
>
>          (NewColorPickerMorph
>                  on: objectToHaveItsColorSet
>                  getColorSelector: itsColorGetterSymbol
>                  setColorSelector: itsColorSetterSymbol) openInWorld
>
>   !
>
> Item was changed:
>   ----- Method: NewColorPickerMorph>>colorSelected: (in category 'model')
> -----
>   colorSelected: aColor
> +        self isPicking ifFalse: [
> +                self targetColor: aColor].
> -        self targetColor: aColor.
>          self changed: #colorExpression!
>
> Item was changed:
>   ----- Method: NewColorPickerMorph>>initialize (in category
> 'initialize-release') -----
>   initialize
> +
>          super initialize.
> +        isPicking := false.
> +        self initializeHsvaMorph.!
> -        self initializeHsvaMorph!
>
> Item was added:
> + ----- Method: NewColorPickerMorph>>isPicking (in category 'accessing')
> -----
> + isPicking
> +
> +        ^ isPicking!
>
> Item was added:
> + ----- Method: NewColorPickerMorph>>isPicking: (in category 'picking')
> -----
> + isPicking: aBoolean
> +
> +        isPicking := aBoolean.
> +        self changed: #isPicking.
> +        aBoolean ifTrue: [self pickColor].!
>
> Item was changed:
>   ----- Method: NewColorPickerMorph>>newBottomRow (in category
> 'initialize-release') -----
>   newBottomRow
>          ^ Morph new
> +                color: Color transparent;
> +                changeTableLayout;
> +                listDirection: #leftToRight;
> +                hResizing: #spaceFill; vResizing: #shrinkWrap;
> +                height: 20;
> +                cellGap: 4;
> +                addMorphBack: self newPickButton;
> +                addMorphBack: (StringMorph contents: 'Current selection:'
> translated);
> +                addMorphBack: self newColorPresenterMorph;
> +                addMorphBack: self newCloseButton;
> +                yourself!
> -                 color: Color transparent ;
> -                 changeTableLayout ;
> -                 listDirection: #leftToRight ;
> -                 hResizing: #spaceFill; vResizing: #shrinkWrap ;
> -                 height: 20 ;
> -                 cellGap: 4 ;
> -                 addMorph: (StringMorph contents: 'Current selection:'
> translated) ;
> -                 addMorphBack: self newColorPresenterMorph ;
> -                 addMorphBack: self newCloseButton!
>
> Item was changed:
>   ----- Method: NewColorPickerMorph>>newCloseButton (in category
> 'initialize-release') -----
>   newCloseButton
>          ^ (PluggableButtonMorph
>                  on: self
>                  getState: nil
>                  action: #delete
>                  label: #closeButtonLabel)
> +                vResizing: #spaceFill;
> -                 vResizing: #spaceFill ;
>                  hResizing: #spaceFill;
> +                balloonText: self closeButtonLabel;
> +                yourself!
> -                 yourself!
>
> Item was added:
> + ----- Method: NewColorPickerMorph>>newPickButton (in category
> 'initialize-release') -----
> + newPickButton
> +        ^ (PluggableButtonMorph
> +                on: self
> +                getState: #isPicking
> +                action: #togglePicking
> +                label: #pickingButtonLabel)
> +                vResizing: #spaceFill;
> +                hResizing: #spaceFill;
> +                balloonText: self pickingButtonLabel;
> +                yourself!
>
> Item was added:
> + ----- Method: NewColorPickerMorph>>pickColor (in category 'picking')
> -----
> + pickColor
> +
> +        | selectedColor |
> +        [
> +                | previousColor |
> +                previousColor := self selectedColor.
> +                selectedColor := self pickColorFromDisplay.
> +                selectedColor ifNil: [^ self selectedColor:
> previousColor].
> +        ] ensure: [
> +                self isPicking: false].
> +        self selectedColor: selectedColor.!
>
> Item was added:
> + ----- Method: NewColorPickerMorph>>pickColorFromDisplay (in category
> 'picking') -----
> + pickColorFromDisplay
> +
> +        [Sensor anyButtonPressed]
> +                whileTrue;
> +                whileFalse: [
> +                        Sensor peekKeyboard = Character escape ifTrue: [
> +                                Sensor flushKeyboard.
> +                                ^ nil].
> +                        ((ActiveHand world morphsAt: Sensor cursorPoint)
> includes: self) ifFalse: [
> +                                self selectedColor: (Display colorAt:
> Sensor cursorPoint)].
> +                        self world displayWorldSafely; runStepMethods].
> +        Sensor yellowButtonPressed
> +                ifTrue: [^ nil].
> +        ((ActiveHand world morphsAt: Sensor cursorPoint) includes: self)
> +                ifTrue: [^ nil].
> +        ^ self selectedColor!
>
> Item was added:
> + ----- Method: NewColorPickerMorph>>pickingButtonLabel (in category
> 'initialize-release') -----
> + pickingButtonLabel
> +        ^ 'Picking' translated!
>
> Item was changed:
>   ----- Method: NewColorPickerMorph>>setup (in category
> 'initialize-release') -----
>   setup
> +
>          self
> +                color: Color white darker;
> +                cornerStyle: #rounded;
> +                changeTableLayout;
> +                hResizing: #shrinkWrap;
> +                vResizing: #shrinkWrap;
> +                extent: 240 at 240;
> +                addMorphBack: hsvaMorph;
> +                addMorphBack: self newColorExpressionMorph;
> +                addMorphBack: self newBottomRow;
> +                layoutInset: 4;
> +                cellGap: 2.
> +
> +        Preferences menuAppearance3d
> +                ifTrue: [self addDropShadow].!
> -                 color: (Color white darker) ;
> -                 cornerStyle: #rounded ;
> -                 changeTableLayout ;
> -                 hResizing: #shrinkWrap ;
> -                 vResizing: #shrinkWrap ;
> -                 extent: 240 at 240 ;
> -                 addMorphBack: hsvaMorph ;
> -                 addMorphBack: self newColorExpressionMorph ;
> -                 addMorphBack: self newBottomRow ;
> -                 layoutInset: 4 ;
> -                 cellGap: 2.
> -
> -                Preferences menuAppearance3d
> -                ifTrue: [self addDropShadow].
> -        !
>
> Item was changed:
>   ----- Method: NewColorPickerMorph>>setupForProperties (in category
> 'initialize-release') -----
>   setupForProperties
> +
>          self
> +                color: Color white darker;
> +                changeTableLayout;
> +                hResizing: #shrinkWrap;
> +                vResizing: #shrinkWrap;
> +                extent: 240 at 240;
> +                addMorphBack: hsvaMorph;
> +                layoutInset: 4;
> +                cellGap: 2.!
> -                 color: (Color white darker) ;
> -                 changeTableLayout ;
> -                 hResizing: #shrinkWrap ;
> -                 vResizing: #shrinkWrap ;
> -                 extent: 240 at 240 ;
> -                 addMorphBack: hsvaMorph ;
> -                 layoutInset: 4 ;
> -                 cellGap: 2.!
>
> Item was added:
> + ----- Method: NewColorPickerMorph>>togglePicking (in category 'picking')
> -----
> + togglePicking
> +        self isPicking: self isPicking not!
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200229/46b97eff/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedImage.png
Type: image/png
Size: 70416 bytes
Desc: not available
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200229/46b97eff/attachment-0001.png>


More information about the Squeak-dev mailing list