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