<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>flashfilters &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/flashfilters/</link>
	<description>Feed of posts on WordPress.com tagged "flashfilters"</description>
	<pubDate>Mon, 08 Sep 2008 08:49:37 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Zaczynam kodowac moja galerie]]></title>
<link>http://fufach.wordpress.com/2007/12/28/zaczynam-kodowac-moja-galerie/</link>
<pubDate>Fri, 28 Dec 2007 18:18:30 +0000</pubDate>
<dc:creator>fufach</dc:creator>
<guid>http://fufach.wordpress.com/2007/12/28/zaczynam-kodowac-moja-galerie/</guid>
<description><![CDATA[Wszystko o czym pisze znajduje sie pod adresem http://www.pawelkowalczyk.com/flex/ i odnosi sie do s]]></description>
<content:encoded><![CDATA[<p>Wszystko o czym pisze znajduje sie pod adresem <a href="http://www.pawelkowalczyk.com/flex/" target="_blank">http://www.pawelkowalczyk.com/flex/</a> i odnosi sie do stanu na dzien 27.12.2007.</p>
<p>Startujac od zera: kazda aplikacja zaczyna sie i konczy naglowkiem, ale FlexBuilder tworzy go automatycznie. W zakladce 'design' mozna w zasadzie zdefiniowac wszystkie parametry startowe aplikacji, a w 'source' - zobaczymy czysty kod.<br />
<!--more--><br />
W naglowku aplikacji najwazniejszym parametrem (na poczatek) jest to, jak beda sie zachowywac nowe elementy dodawane do projektu. Parametrem glownego komponentu <b>mx:Application</b> jest '<b>layout</b>' ktory moze przyjmowac 3 wartosci:</p>
<p>- absolute - kolejne elementy dodawane do aplikacji beda umieszczane tam gdzie je ustawimy w 'designie' w odniesieniu do osi XY<br />
- horizontal - poziomo<br />
- vertical - pionowo</p>
<p>Dobrze to zdefiniowac na poczatku.</p>
<p>Aby w poziomym/pionowym ukladzie dodac elementy w innym ukladzie, trzeba je zgrupowac na jednym z komponentow grupujacych, ale o tym pozniej. Profil 'absolute' uwazam za bezpieczniejszy, jesli elementy aplikacji nie maja okreslonego porzadku lub trzeba precyzyjnie umiescic komponenty w roznych miejscach projektu.</p>
<p>Kazdemu z komponentow mozna (nalezy) nadac 'id', by byl do niego bezposredni dostep z dowolnego miejsca aplikacji. Dla statycznych pol tekstowych - szkoda na to czasu.</p>
<p>Wracajac do kodu: W pierwszej kolejnosci aplikacja czyta plik - <b>mx:XML</b>, gdzie znajduja sie opisy i sciezki do zdjec i przypisuje strukture pliku do listy. Struktura pliku XML jest nastepujaca:</p>
<p><b>   mx:XMLListCollection</b> tworzy liste opierajac sie na tagu 'photo'. Tak wiec kazdy element listy bedzie miec 5 pol. Korzystam przy okazji z pola 'ind' gdzie zapisany mam biezacy index kazdego ze zdjec (od 0 z gore). Jest to moze i nieeleganckie, ale korzystam z tych samych plikow gdzie indziej. Oczywiscie pol (moze, a raczej to pewne) bedzie wiecej ale na razie potrzebne beda tylko te.W kolejnym kroku definiuje tablice z efektami (filters), ktore bede wykorzystywal pod ladowanymi zdjeciami. Stosuje to tylko 1 efekt - czarny cien w strone prawego dolnego rogu. Wszystkie efekty opisane sa tu jako klasy biblioteki <b><a href="http://livedocs.adobe.com/flex/2/langref/flash/filters/package-detail.html" target="_blank">'flash.filters'</a></b>  .  Biblioteka ta jest ladowana w naglowku aplikacji.</p>
<p>Zwykle biblioteki laduje sie tak:</p>
<p>&#60;mx:Script&#62;<br />
&#60;![CDATA[<br />
import mx.controls.Alert;   &#60;-- tu ladowana klasa Alert z biblioteki mx.controls<br />
import mx.controls.TextInput;<br />
import mx.utils.StringUtil;<br />
import mx.validators.Validator;<br />
]]&#62;<br />
&#60;/mx:Script&#62;</p>
<p>W tym przypadku proba ladowania biblioteki w bloku skryptu za pomoca komendy 'import' zawsze wywoluje blad... :-(. A powinno dzialac.</p>
<p>Po definicji kilku pol tekstowych pojawia sie komponent grupujacy mx:ApplicationControlBar, a na nim w kolejnosci: - pole na powiekszone zdjecie z galerii (mx:Image) - pole grupujace HBox, ktore pozwala na wyswietlanie wielu elementow w poziomie z paskiem przewijania (pasek przewijania pionowego z powodow estetycznych zostal wylaczony) - w polu HBox za wyswietlanie podgladow obrazkow odpowiedzialny jest komponent mx:Repeater; o nim wiecej:</p>
<p>Komponent <b>mx:Repeater</b> przeglada liste/tablice od pierwszego do ostatniego elementu - w petli; do dowolnego komponentu przypisuje elementy tabeli/listy. Za kolejnosc jest odpowiedzialny parametr '<b>dataProvider</b>', ktory <b>{</b>wskazuje<b>}</b> na zrodlo danych. W przypadku tej galerii Repeater wyswietla liste miniaturek (ale moga to byc rownie dobrze przyciski, pola tekstowe, lub zestaw elementow - np. graficzny przycisk a na nim napis, itp.). Miniaturki do galerii sa przechowywane w katalogu 'thumbs', wieksze obrazki w 'images'.<br />
- Tag 'src' zawiera sama nazwe pliku, wiec trzeba do tej nazwy dodac sciezke.<br />
- Z biezacego pola (<b>currentItem</b>) pobierane sa niektore dane do wyswietlenia miniaturek: w polu 'source' obrazka laczona jest sciezka do miniaturek i watrosc z pola 'src'.<br />
- Pole 'toolTip' wyswietla dodatkowo biezacy index i opis pobrany z pola 'description'. rep.<b><i>currentIndex</i></b> mozna zamienic na rep.<i><b>currentItem.ind</b></i>, bo powielam tam index.<br />
- Chwilowo puste pole 'click' czeka na funkcje, ktora po kliknieciu w miniaturke wyswietli wiekszy obrazek.</p>
<p>W nastepnych krokach postaram sie (chyba tak moge to ujac):<br />
- po kliknieciu w miniaturke wyswietlic pelny obrazek, pokazac gdzies tytul zdjecia<br />
- oprogramowac dwa przyciski do przechodzenia do kolennego/poprzedniego obrazka i wyjatki dla pierwszego i ostatniego zdjecia<br />
- Przy przechodzeniu do innego obrazka zrobic cos na ksztalt 'fade out' starego i 'fade in' nowego<br />
- taki gadget, ale powinien cieszyc oko - po najechaniu lub kliknieciu na 'cos' pokazac efektownie pole z opisem zdjecia (jakis gustowny efekcik)<br />
- wygenerowac link do tego samego zdjecia na www.alamy.com (tam mozna je kupic)<br />
- przygotowac podstrony zalezne od klikniecia w menu (na razie jest puste) i oczywiscie samego menu<br />
- zbudowac formatke do wysylania maili i zapytan w polaczeniu z kodem PHP<br />
- to na razie tyle... chyba mi wystarczy czasu do Sylwestra :-)<br />
- a w Sylwestra wycieczka z deszczawadziewczynka.wordpress.com, aparatem, statywem i butelka szampana na dach i...</p>
<p>Nie zapomnijcie zajrzec do mojego miasteczka<a href="http://a1bercik.myminicity.com/" target="_blank"> &#62;&#62;&#62;TU&#60;&#60;&#60;</a></p>
]]></content:encoded>
</item>

</channel>
</rss>
