Very cool. Thanks Stephan.

Thierry
Le 26 juin 2015 6:17 PM, "Stephan Eggermont" <step...@stack.nl> a écrit :

> Morphic offers everything needed to create highly interactive applications
> in Pharo. It is however, difficult to find out how to actually create those
> applications. Morphic tutorials provide a starting point, and are not very
> good at showing how the different features interact and are supposed to be
> used together. Morph has lots of methods, and some of them are not in the
> method category where you might expect them. The result is that most Morphs
> in Pharo do not use much of what Morphic has to offer.
>
> Wouldn't it be great if there would be some sample code, showing how
> Morphic can be used to great effect?
>
> Well, here is some code that takes a first step towards that goal.
> DragPanels shows how to create a floating palette, filled with
> wells that support dragging a property towards a target. It shows how to
> combine drag-and drop with click: and context menu actions, and show  to
> give UI feedback when over a well and when holding the mouse down over an
> element that reacts to click:.
>
> You can see the code in action here:
>   https://vimeo.com/131889858
>
> The color panel shows some colors. If you don't set the allowDropBlock,
> it will work with any morph that responds to #color: (like the world).
> By clicking on the plus, you can add more colors to the panel. The panel
> has a context menu to restore the default values.
>
> ColorPanel withSevenPaleColors
>         allowDropBlock: [ :source :target |
>                 target class = CardMorph ];
>         openInHand
>
> The people panel shows avatars belonging to an email addres. By default it
> uses gravatar for them, and caches the images.
>
> PeoplePanel new
>         defaultValues:
>                 #('step...@stack.nl'
>                 'serge.stinckw...@gmail.com'
>                 'nicolas.anque...@inria.fr'
>                 'thierry.goub...@gmail.com'
>                 'stephane.duca...@inria.fr'
>                 'marcus.den...@inria.fr');
>         allowDropBlock: [ :source :target |
>                 target class = CardMorph ];
>         openInHand
>
> When dropping, the dragSource sends #color: resp. #email: to the  target
> by default. By setting the dropSelector of the DragWell this
> can be overridden.
>
> You can try the code by do-ing
>
> Gofer new
>         smalltalkhubUser: 'StephanEggermont' project: 'Dragpanels'
>         package: 'DragPanels';
>         load.
>
> It is used in (a work in progress)
>
> Gofer new
>         smalltalkhubUser: 'StephanEggermont' project: 'Documentation'
>         package: 'CardsMorphic';
>         load.
>
> Stephan
>
> p.s.
>
> On the wishlist are
> - add more color palettes
> - add a dark theme, refactoring the colors
> - add a small close cross in the title bar of the palette
> - define the dropSelector in the panel, not the well
> - support different sized wells, refactoring the sizes
> - make the mouseOver rectangle color content dependent
> - add pharo contributors as an avatar source
> - add a configuration
>
>
>
>

Reply via email to