���
----- Original Message -----From: laurent laffontSent: Tuesday, August 17, 2010 7:11 PMSubject: Re: [Pharo-project] Pharocasts: Display Picasa photos
2010/8/17 Gary Chambers <gazzaguru2@btinternet.com>
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, GarySent: Monday, August 16, 2010 7:31 PMSubject: Re: [Pharo-project] Pharocasts: Display Picasa photosThis example is really interesting, I've just learn a lot of things.Laurent
On Mon, Aug 16, 2010 at 2:10 PM, Gary Chambers <gazzaguru2@btinternet.com> 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=12018791@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: 600@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: 700@680.
Regards, Gary
----- Original Message ----- From: "Germ��n Arduino" <garduino@gmail.com>
To: <Pharo-project@lists.gforge.inria.fr>
Cc: "A friendly place where any question about pharo is welcome" <pharo-users@lists.gforge.inria.fr>
Sent: Sunday, August 15, 2010 11:14 PM
Subject: Re: [Pharo-project] Pharocasts: Display Picasa photos
Excellent!
2010/8/15 laurent laffont <laurent.laffont@gmail.com>:
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
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project