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 <[email protected]> > *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
