Well, with the refactoring Stef and I did at CampSmalltalk, blocks (as an 
action) are now supported for buttons.
I'll have to add some helpers (or make the existing ones agnostic) to 
TEasilyThemed for convenience though.

Regards, Gary

  ----- Original Message ----- 
  From: laurent laffont 
  To: [email protected] 
  Sent: Tuesday, August 17, 2010 7:11 PM
  Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos




  2010/8/17 Gary Chambers <[email protected]>

    Ask away if you'd like more examples of Morphic/Polymorph things...


  I think everybody want to have (lot) more examples ;)


  More seriously, on Pharocasts the GUI tab is the most clicked one by far 
(according to google analytics), so I suppose a lot of people want (including  
me) to start by doing a little graphical app.  Polymorph seems cool, but 
aaarggghhh  almost no documentation. Indeed I'm just starting to feel the logic 
behind it so I will try to record more screencasts on it.

    Even for me, that was the first time I used a Block as the model for a 
button! :-)


  And I think that's how it should be for all callbacks: it's far easier to 
think (for me at least) and design by giving a block to an action than a 
selector and a model.




  Laurent (who is waiting for more examples :)


    Regards, Gary

      ----- Original Message ----- 
      From: laurent laffont 
      To: [email protected] 
      Sent: Monday, August 16, 2010 7:31 PM
      Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos


      This example is really interesting, I've just learn a lot of things. 


      Laurent


      On Mon, Aug 16, 2010 at 2:10 PM, Gary Chambers 
<[email protected]> wrote:

        Indeed, nice...

        Here's an adaptation for Flickr...

        | xmlStream xmlDoc photos builder clickBlock |
        xmlStream := 
'http://api.flickr.com/services/feeds/photos_public.gne?id=12018...@n06&lang=en-us&format=rss_200'
 asUrl retrieveContents contentStream.
        xmlDoc := XMLDOMParser parseDocumentFrom: xmlStream.

        photos := OrderedCollection new.
        xmlDoc tagsNamed: #item do:
                    [:item| | title thumbUrl photoUrl |
                     title := (item firstTagNamed: #title) characterData.
                     thumbUrl := ((item firstTagNamed: #media:thumbnail) 
attributeAt: #url) asUrl.
                     photoUrl := ((item firstTagNamed: #media:content) 
attributeAt: #url) asUrl.
                     photos add: title -> (Form fromBinaryStream: thumbUrl 
retrieveContents contentStream) -> photoUrl].

        clickBlock := [:url :title | | scrollPane |
        scrollPane := GeneralScrollPane new
         scrollTarget: (builder
         newImage: (Form fromBinaryStream: url retrieveContents contentStream)).
        scrollPane openInWindow
         setLabel: title;
         extent: 6...@400.
        scrollPane color: Color transparent].

        builder := UITheme builder.
        ((builder
          newRow: (photos collect:
                           [:aPhoto|
                            (builder
           newButtonFor: clickBlock
           getState: nil
           action: #value:value:
           arguments: {aPhoto value. aPhoto key key}
           getEnabled: nil
           label: ((builder newColumn: {
             builder newImage: aPhoto key value.
             builder newLabel: aPhoto key key})
             cellPositioning: #center;
             layoutInset: 10)
           help: nil)]))
        wrapDirection: #topToBottom;
        openInWindow)
         setLabel: (xmlDoc firstTagNamed: #title) characterData;
         extent: 7...@680.


        Regards, Gary

        ----- Original Message ----- From: "Germán Arduino" <[email protected]>
        To: <[email protected]>
        Cc: "A friendly place where any question about pharo is welcome" 
<[email protected]>
        Sent: Sunday, August 15, 2010 11:14 PM
        Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos 




          Excellent!

          2010/8/15 laurent laffont <[email protected]>:

            Learn:
            - how to get data from an URL
            - parse XML documents
            - build a GUI to display photos with Polymorph
            - how to prototype quickly with debugger and inspector
            
http://pharocasts.blogspot.com/2010/08/see-how-to-get-data-from-url-parse-xml.html
            Cheers,
            Laurent Laffont

            http://pharocasts.blogspot.com/
            http://magaloma.blogspot.com/

            _______________________________________________
            Pharo-project mailing list
            [email protected]
            http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project



          _______________________________________________
          Pharo-project mailing list
          [email protected]
          http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project 



        _______________________________________________
        Pharo-project mailing list
        [email protected]
        http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





--------------------------------------------------------------------------


      _______________________________________________
      Pharo-project mailing list
      [email protected]
      http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


    _______________________________________________
    Pharo-project mailing list
    [email protected]
    http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project





------------------------------------------------------------------------------


  _______________________________________________
  Pharo-project mailing list
  [email protected]
  http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to