<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Web i tome slično... IvanIlijasic.com &#187; Flex Cookbook</title>
	<atom:link href="http://www.ivanilijasic.com/category/adobe/adobe-flex/flex-cookbook/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ivanilijasic.com</link>
	<description>Stranice koje svaki pošteni IT-jevac stavlja na zadnje mjesto</description>
	<lastBuildDate>Mon, 07 Nov 2011 11:00:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Adobe Cookbooks 2.0</title>
		<link>http://www.ivanilijasic.com/2009/09/adobe-cookbooks-2-0/</link>
		<comments>http://www.ivanilijasic.com/2009/09/adobe-cookbooks-2-0/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 09:36:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[cookbook]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.com/?p=816</guid>
		<description><![CDATA[Adobe je tokom proteklog tjedna lansirao novu verziju Cookbook portala. Nova verzija je osim laganog redizajna donijela i neke nove funkcionalnosti. Sada osim slanja programskih rješenja možete i poslati upit za neki problem. U prošloj verziji Cookbooka recepti su bili kategorizirani samo po unaprijed zadanim kategorijama, dok ih je sada  moguće pregledavati sistematski po [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><strong><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/09/cookbook.jpg" rel="lightbox[816]"><img class="alignleft size-thumbnail wp-image-817" title="Adobe Cookbooks 2.0" src="http://www.ivanilijasic.com/wp-content/uploads/2009/09/cookbook-150x150.jpg" alt="Adobe Cookbooks 2.0" width="150" height="150" /></a>Adobe </strong>je tokom proteklog tjedna lansirao novu verziju <a href="http://cookbooks.adobe.com/flex"><strong>Cookbook</strong></a> portala. Nova verzija je osim laganog redizajna donijela i neke nove funkcionalnosti. Sada osim slanja programskih rješenja možete i poslati upit za neki problem. U prošloj verziji Cookbooka recepti su bili kategorizirani samo po unaprijed zadanim kategorijama, dok ih je sada  moguće pregledavati sistematski po upisanim tagovima. Sustav pretraživanja je poboljšan, dok su autori tekstova sada više došli do izražaja na način da uz svaki recept stoji avatar autora, link na njegov profil ili blog. <span id="more-816"></span></p>
<p style="text-align: justify;">Unutar Cookbooka se sada nalaze i tematike o <strong>ColdFusionu </strong>i <strong>Flash Catalystu</strong>. Zgodan dodatak je i mogućnost povezivanja recepta s nekim ranijim člancima, tako da  se tematike i upiti mogu lakše povezati u cjelinu. Po onome što sam primjetio, čini mi se kako se poradilo i na optimizaciji portala za tražilice. U svakom slučaju, zgodan pomak prema naprijed.</p>
<p style="text-align: justify;"><a href="http://cookbooks.adobe.com/flex">Adobe Cookbooks 2.0</a></p>
<p style="text-align: justify;"> </p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/09/adobe-cookbooks-2-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usporedba: Geometrijski oblici pomoću ActionScripta i Degrafe</title>
		<link>http://www.ivanilijasic.com/2009/05/usporedba-geometrijski-oblici-pomocu-actionscripta-i-degrafe/</link>
		<comments>http://www.ivanilijasic.com/2009/05/usporedba-geometrijski-oblici-pomocu-actionscripta-i-degrafe/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:46:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Degrafa]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=210</guid>
		<description><![CDATA[Degrafa je deklarativni grafički framework za Flex. To znači da ne morate kodirati grafičke objekte u Actionscriptu već pomoću Degrafa tagova možete stvarati grafiku. Kada sam prošlo ljeto otkrio Degrafu, prva motivacija mi je bila ugraditi obične geometrijske oblike bez korištenja Shape klase. Nakon nekoliko dana jedan moj kolega, hardcore actionscriptaš je htio vidjeti kako [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/degrafa_logo.png" rel="lightbox[210]"><img class="alignleft size-thumbnail wp-image-248" title="Degrafa logo" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/degrafa_logo-150x150.png" alt="Degrafa logo" /></a>Degrafa je deklarativni grafički framework za Flex. To znači da ne morate kodirati grafičke objekte u Actionscriptu već pomoću Degrafa tagova možete stvarati grafiku. Kada sam prošlo ljeto otkrio Degrafu, prva motivacija mi je bila ugraditi obične geometrijske oblike bez korištenja Shape klase. Nakon nekoliko dana jedan moj kolega, hardcore actionscriptaš je htio vidjeti kako može nabrzinu složiti kvadrat, krug i slične objekte, a da taj kod bude jednostavn i intuitivan. U dvije minute sam mu složio dolje navedeni primjer <img src='http://www.ivanilijasic.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-210"></span>Degrafa uistinu nudi puno mogućnosti, no evo i vama na uvid koliko je logičnije stvaranje grafike i geometrije pomoću Degrafe.</p>
<pre style="text-align: justify;">       var roundObject:Shape = new Shape();
       var square:Shape = new Shape();
       var circle:Shape = new Shape();
       // pravokutnik
        square.graphics.beginFill(0xFF0000, 0.5);
        square.graphics.drawRect(10, 10, 100, 100);
        square.graphics.endFill();
        // krug
        circle.graphics.beginFill(0x0000FF, 1);
        circle.graphics.drawCircle(170, 60, 50);
        circle.graphics.endFill();
        // zaobljeni pravokutnik
        roundObject.graphics.beginFill(0x00FF00);

        canvasAS.rawChildren.addChild(square);
        canvasAS.rawChildren.addChild(circle);
        roundObject.graphics.moveTo(280, 10);
        roundObject.graphics.curveTo(330, 10, 330, 60);
        roundObject.graphics.curveTo(330, 110, 280, 110);
        roundObject.graphics.curveTo(230, 110, 230, 60);
        roundObject.graphics.curveTo(230, 10, 280, 10);
        roundObject.graphics.endFill();
        canvasAS.rawChildren.addChild(roundObject);
....
....
</pre>
<pre>        &lt;degrafa:Surface&gt;
             &lt;degrafa:fills&gt;
             &lt;degrafa:SolidFill color="#FF0000" id="rectFill" alpha="0.5" /&gt;
             &lt;degrafa:SolidFill color="#0000FF" id="circleFill" alpha="1" /&gt;
             &lt;degrafa:SolidFill color="#00FF00" id="roundedFill" alpha="1" /&gt;
             &lt;/degrafa:fills&gt;<br class="spacer_" />        &lt;degrafa:GeometryGroup&gt;
             &lt;degrafa:RegularRectangle x="10" y="10" width="100" height="100" fill="{rectFill}"/&gt;
             &lt;degrafa:Circle centerX="170" centerY="60" radius="50" fill="{circleFill}"  /&gt;
             &lt;degrafa:RoundedRectangle x="230" y="10" width="100" height="100"
                 cornerRadius="43" fill="{roundedFill}" /&gt;&lt;/degrafa:GeometryGroup&gt;
     &lt;/degrafa:Surface&gt;
....</pre>
<p>Više o Degrafi možete saznati na <a href="http://www.degrafa.org">http://www.degrafa.org</a>, a čitav kod ovog primjera možete skinuti ovdje: <a href="http://www.ivanilijasic.com/flex_recepti/degrafa_vs_actionscript.mxml">Degrafa vs. Actionscript</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/usporedba-geometrijski-oblici-pomocu-actionscripta-i-degrafe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flex chart komponenta s customa natpisima</title>
		<link>http://www.ivanilijasic.com/2009/05/flex-chart-komponenta-s-customa-natpisima/</link>
		<comments>http://www.ivanilijasic.com/2009/05/flex-chart-komponenta-s-customa-natpisima/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:44:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[charting komponente]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=207</guid>
		<description><![CDATA[Nedavno je moj kolega htio složiti graf na svom siteu, no nije mogao naći neki dobar besplatni PHP library kako bi skicirao stanje u NBA utrci za najvrijednijeg igrača lige. Stoga sam mu nabrzinu složio jednostavan primjer u Flexu koristeći Flex charting komponente, standardni dio Flex Buildera 3 Pro.

Da vidimo što nam treba da bismo [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/mvp_race.jpg" rel="lightbox[207]"><img class="alignleft size-thumbnail wp-image-276" title="MVP Race" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/mvp_race-150x150.jpg" alt="MVP Race" /></a>Nedavno je moj kolega htio složiti graf na svom siteu, no nije mogao naći neki dobar besplatni PHP library kako bi skicirao stanje u NBA utrci za najvrijednijeg igrača lige. Stoga sam mu nabrzinu složio jednostavan primjer u Flexu koristeći Flex charting komponente, standardni dio Flex Buildera 3 Pro.</p>
<p><span id="more-207"></span></p>
<p style="text-align: justify;">Da vidimo što nam treba da bismo napravili ovakav jedan primjer.  Napravit ćemo tri array objekta koje možemo vezati na dataProvidere (obavezno koristiti naredbu [Bindable]). Napravimo LineChart koji će na prilikom inicijalizacije prikazivati broj koševa po utakmici za svakog pojedinog igrača. Na horitonzalnoj x-osi će se prikazati o kojoj je sezoni riječ. Na vertikalnoj osi će se prikazivati vrijednost iz svake pojedine linije na grafu. Linije će biti definirane unutar taga &lt;series&gt;, no treba naglasiti kako se na grafu koristi custom funkcija yAxisLabel kako bi se napravio preuređeni natpis na vertikalnoj osi.</p>
<p style="text-align: justify;">Serije (ajmo ih tako nazvati) u grafu koriste dataProvider koji smo definirali u vertikalnoj osi, ali za svaku od tih serija potrebno je navesti koji element iz objekta array ćemo koristiti kao podatak na horizontalnoj i vertikalnoj osi.</p>
<p style="text-align: justify;">Kada već imamo graf, onda nije loše da imamo i legendu. Legenda će se vezati na graf preko atributa dataProvider, gdje kao vrijednost vežemo objekt &#8220;chartPPG&#8221;.</p>
<p style="text-align: justify;">Klikom na dodatna dva gumba mijenjamo dataProvidera grafa, pa se na taj način prikazuju drugačije vrijednosti.</p>
<p style="text-align: center;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/mvp_race.jpg" rel="lightbox[207]"><img class="aligncenter size-medium wp-image-276" title="MVP Race" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/mvp_race-300x221.jpg" alt="MVP Race" /></a></p>
<p style="text-align: justify;">Ovdje možete pogledati i uživo kako to izgleda: <a href="http://www.ivanilijasic.com/flex_recepti/MvpRace.swf">MVP Race graf</a></p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="#FFFFFF"&gt;
&lt;mx:Script&gt;
&lt;![CDATA[
	import mx.controls.Alert;
	import mx.charts.events.ChartItemEvent;
	import mx.charts.chartClasses.Series;
	import mx.charts.ChartItem;
	import mx.charts.chartClasses.IAxis;

	[Bindable]
	public var statsPpg:Array = [
	{season:'03-04',kobe:24.0, dwayne:16.2, lebron: 20.9},
	{season:'04-05',kobe:27.6, dwayne:24.1, lebron: 27.2},
	{season:'05-06',kobe:35.4, dwayne:27.2, lebron: 31.4},
	{season:'06-07',kobe:31.6, dwayne:27.4, lebron: 27.3},
	{season:'07-08',kobe:28.3, dwayne:24.6, lebron: 30.0},
	{season:'08-09',kobe:27.2, dwayne:29.9, lebron: 28.4}
	];

	public var statsAssists:Array = [
	{season:'03-04',kobe:5.1, dwayne:4.5, lebron: 5.9},
	{season:'04-05',kobe:6, dwayne:6.8, lebron: 7.2},
	{season:'05-06',kobe:4.5, dwayne:6.7, lebron: 6.6},
	{season:'06-07',kobe:5.4, dwayne:7.5, lebron: 6},
	{season:'07-08',kobe:5.4, dwayne:6.9, lebron: 7.2},
	{season:'08-09',kobe:5, dwayne:7.5, lebron: 7.4}
	];

	private function yAxisLabel(value:Object, previousValue:Object, axis:IAxis):String
	{
		return value + ' pg';
	}

	private function setStats(type:String):void
	{
		if (type == 'ppg')
		{
			chartPPG.dataProvider = statsPpg;
			categories.dataProvider  = statsPpg;
			yAxis.title = "Points per game";
		}
		else if  ( type == 'assists')
		{
			chartPPG.dataProvider = statsAssists;
			categories.dataProvider  = statsAssists;
			yAxis.title = "Assists per game";
		}

	}

]]&gt;
&lt;/mx:Script&gt;
&lt;mx:Panel width="790" title="NBA MVP race: Kobe vs. LeBron vs. Dwayne" layout="horizontal"&gt;
	&lt;mx:LineChart dataProvider="{statsPpg}" id="chartPPG" name="Comparison" showDataTips="true"&gt;
		&lt;mx:horizontalAxis&gt;
			&lt;mx:CategoryAxis dataProvider="{statsPpg}" categoryField="season" title="NBA seasons" id="categories"/&gt;
		&lt;/mx:horizontalAxis&gt;
		&lt;mx:verticalAxis&gt;
			&lt;mx:LinearAxis labelFunction="{yAxisLabel}"  title="Points per game" id="yAxis"/&gt;
		&lt;/mx:verticalAxis&gt;
		&lt;mx:series&gt;
			&lt;mx:LineSeries id="Kobe" yField="kobe" xField="season" displayName="Kobe Bryant"/&gt;
			&lt;mx:LineSeries id="Dwayne" yField="dwayne" xField="season" displayName="Dwayne Wade" /&gt;
			&lt;mx:LineSeries id="LeBron" yField="lebron" xField="season" displayName="LeBron James" /&gt;
		&lt;/mx:series&gt;
	&lt;/mx:LineChart&gt;
	&lt;mx:Legend dataProvider="{chartPPG}" direction="vertical"  width="174"/&gt;
	&lt;mx:Button label="PPG" click="setStats('ppg')"/&gt;
	&lt;mx:Button label="Assists" click="setStats('assists')"/&gt;
&lt;/mx:Panel&gt;

&lt;/mx:Application&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/flex-chart-komponenta-s-customa-natpisima/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Povezivanje Flex komponenata s vizualnim komponentama pomoću Degrafe</title>
		<link>http://www.ivanilijasic.com/2009/05/povezivanje-flex-komponenata-s-vizualnim-komponentama-pomocu-degrafe/</link>
		<comments>http://www.ivanilijasic.com/2009/05/povezivanje-flex-komponenata-s-vizualnim-komponentama-pomocu-degrafe/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:42:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Degrafa]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[mxml]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=204</guid>
		<description><![CDATA[Flex Builder nam služi kako bismo napravili RIA aplikacije bez mučenja sa HTML kodom i prilagodbom za sve browsere. Ipak, da bismo napravili nekakav dizajnerski dodatak, trebamo ili Photoshop ili Flash. Prošlo proljeće sam otkrio Degrafu i oduševio sam se njenim mogućnostima. Degrafa je Flex framework za stvaranje grafičkih elemenata pomoću tagova ili SVG krivulja, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/degrafa_dres.jpg" rel="lightbox[204]"><img class="alignleft size-thumbnail wp-image-286" title="Degrafa dres" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/degrafa_dres-150x150.jpg" alt="Degrafa dres" /></a>Flex Builder nam služi kako bismo napravili RIA aplikacije bez mučenja sa HTML kodom i prilagodbom za sve browsere. Ipak, da bismo napravili nekakav dizajnerski dodatak, trebamo ili Photoshop ili Flash. Prošlo proljeće sam otkrio Degrafu i oduševio sam se njenim mogućnostima. Degrafa je Flex framework za stvaranje grafičkih elemenata pomoću tagova ili SVG krivulja, koje možemo napraviti u bilo kojem kvalitetnijem grafičkom alatu.<br />
 <span id="more-204"></span></p>
<p style="text-align: justify;">Za demonstraciju Degrafe napravio sam jedan mali demo. Kolegi sam prije nekoliko tjedana  demonstrirao Degrafu. Prvo sam u Illustratoru (alatu koji sam našao kod kolege na laptopu) nacrtao nogometni dres, dodao rubove rukava i horizontalne i vertikalne pruge. Tada sam tu grafiku spasio u SVG formatu i dobio sam sve potrebno za slaganje. U Flex Builderu sam složio sučelje s color pickerima i check boxovima kojima se definira da li će dres imati horizontalne ili vertikalne pruge.</p>
<p style="text-align: justify;">Nakon toga sam na panel dodao Degrafa surface i na nju dodao objekte za definiranje fillova  i ruba dresa.  Fill objekti su povezani s color pickerima.  Da bi se nacrtao dres, iskoristio sam pojedine krivulje iz SVG-a, za rub dresa, rubove rukava i crte na dresu. Malo po malo i složio sam zgodni primjer.</p>
<pre>	&lt;degrafa:Surface verticalCenter="-130" horizontalCenter="-130"&gt;
		&lt;!-- Creating fills. --&gt;
		&lt;degrafa:fills&gt;
			&lt;paint:SolidFill id="homeShirtFill" color="{cpHomeShirtColor.selectedColor}"/&gt;
			&lt;paint:SolidFill id="homeShirtSleavesBorderFill" color="{cpHomeShirtSleavesColor.selectedColor}"/&gt;
			&lt;paint:SolidFill id="homeShirtVerticalStripesFill" color="{cpHomeShirtVerticalStripesColor.selectedColor}" alpha="0"/&gt;
			&lt;paint:SolidFill id="homeShirtHorizontalStripesFill" color="{cpHomeShirtHorizontalStripesColor.selectedColor}" alpha="0"/&gt;
		&lt;/degrafa:fills&gt;
		&lt;!-- Creating Strokes. --&gt;
		&lt;degrafa:strokes&gt;
			&lt;paint:SolidStroke id="homeShirtStroke" color="#000000" alpha="1" weight="0"/&gt;
		&lt;/degrafa:strokes&gt;
		&lt;!-- Home shirt --&gt;
		&lt;degrafa:GeometryGroup&gt;
			&lt;geometry:Polygon fill="{homeShirtFill}"&gt;
			&lt;geometry:data&gt;	70.395,195.667 70.395,93.334 61.889,105.336 35.333,84.053 70.395,41.001 108.835,41.001
							127,48.667 145.835,41.001 184.335,41.001 219.396,84.053 192.841,105.336 184,93.334
							184.335,93.334 184.335,195.667
			  &lt;/geometry:data&gt;
	 		  &lt;/geometry:Polygon&gt;
			&lt;geometry:Polygon fill="{homeShirtSleavesBorderFill}" stroke="{homeShirtStroke}" id="homeShirtRightSleave"&gt;
				&lt;geometry:data&gt;216.264,80.157 219.396,84.053 192.841,105.336 190.725,101.587&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;
			&lt;geometry:Polygon fill="{homeShirtSleavesBorderFill}" stroke="{homeShirtStroke}" id="homeShirtLeftSleave"&gt;
				&lt;geometry:data&gt;39.07,80.157 36.059,84.053 61.598,105.336 64.609,101.587&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;
		&lt;/degrafa:GeometryGroup&gt;
		&lt;!-- home shirt vertical stripes --&gt;
		&lt;degrafa:GeometryGroup&gt;
			&lt;geometry:Polygon fill="{homeShirtVerticalStripesFill}"  id="homeShirtVerticalStripe1"&gt;
				&lt;geometry:data&gt;70.395,41.001 90.395,41.001 90.395,195.667 70.395,195.667&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;
			&lt;geometry:Polygon fill="{homeShirtVerticalStripesFill}"  id="homeShirtVerticalStripe2"&gt;
				&lt;geometry:data&gt;108.835,41.001 127,48.667 145.835,41.001 145.835,195.667 108.835,195.667&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;
			&lt;geometry:Polygon fill="{homeShirtVerticalStripesFill}"  id="homeShirtVerticalStripe3"&gt;
				&lt;geometry:data&gt;164.335,41.001 184.335,41.001 184.335,195.667 164.335,195.6677&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;
		&lt;/degrafa:GeometryGroup&gt;
		&lt;!-- home shirt h stripes --&gt;
		&lt;degrafa:GeometryGroup&gt;
			&lt;geometry:Polygon fill="{homeShirtHorizontalStripesFill}"  id="homeShirtHorizontalStripe1"&gt;
				&lt;geometry:data&gt;70.395,175.667 184.335,175.667 184.335,195.667 70.395,195.667&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;
			&lt;geometry:Polygon fill="{homeShirtHorizontalStripesFill}"  id="homeShirtHorizontalStripe2"&gt;
				&lt;geometry:data&gt;70.395,135.667 184.335,135.667 184.335,155.667 70.395,155.667&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;
			&lt;geometry:Polygon fill="{homeShirtHorizontalStripesFill}"  id="homeShirtHorizontalStripe3"&gt;
				&lt;geometry:data&gt;70.395,95.667 184.335,95.667 184.335,115.667 70.395,115.667&lt;/geometry:data&gt;
			&lt;/geometry:Polygon&gt;

		&lt;/degrafa:GeometryGroup&gt;
		&lt;!-- home shirt border - extracted to prevent loss of border parts while stripes are displayed --&gt;
		&lt;degrafa:GeometryGroup&gt;
			&lt;geometry:Polygon stroke="{homeShirtStroke}"&gt;
			&lt;geometry:data&gt;	70.395,195.667 70.395,93.334 61.889,105.336 35.333,84.053 70.395,41.001 108.835,41.001
							127,48.667 145.835,41.001 184.335,41.001 219.396,84.053 192.841,105.336 184,93.334
							184.335,93.334 184.335,195.667
			  &lt;/geometry:data&gt;
	 		  &lt;/geometry:Polygon&gt;
		&lt;/degrafa:GeometryGroup&gt;
	&lt;/degrafa:Surface&gt;
</pre>
<p>Primjer funkcionalnosti možete vidjeti na ovom linku: <a href="http://www.ivanilijasic.com/flex_recepti/Dres.swf">Degrafa dres</a><br />
 Kod primjera: <a href="http://www.ivanilijasic.com/flex_recepti/Dres.mxml">Degrafa dres</a></p>
<p>Više o Degrafi možete saznati na <a href="http://www.degrafa.org">http://www.degrafa.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/povezivanje-flex-komponenata-s-vizualnim-komponentama-pomocu-degrafe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kako organizirati Flex &#8220;snippete&#8221;</title>
		<link>http://www.ivanilijasic.com/2009/05/kako-organizirati-flex-snippete/</link>
		<comments>http://www.ivanilijasic.com/2009/05/kako-organizirati-flex-snippete/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:40:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[flex builder]]></category>
		<category><![CDATA[snippets]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=201</guid>
		<description><![CDATA[Kada razvijate u nekom alatu duže vrijeme, primjetite kako konstantno pišete jedan te isti kod, samo mijenjate ime varijable, klase, metode, parametra. Posljednjih dana sam radio nekoliko manjih Flex/PHP aplikacija i konstantno sam radio manje HTTP servise. U jednom trenutku sam shvatio kako sam napravio 20-tak HTTP servisa koji su svi na isti kalup, a [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/snippets.jpg" rel="lightbox[201]"><img class="alignleft size-thumbnail wp-image-283" title="Snippeti u Flex Builderu 3" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/snippets-150x150.jpg" alt="Snippeti u Flex Builderu 3" /></a>Kada razvijate u nekom alatu duže vrijeme, primjetite kako konstantno pišete jedan te isti kod, samo mijenjate ime varijable, klase, metode, parametra. Posljednjih dana sam radio nekoliko manjih Flex/PHP aplikacija i konstantno sam radio manje HTTP servise. U jednom trenutku sam shvatio kako sam napravio 20-tak HTTP servisa koji su svi na isti kalup, a svaki od njih sam pisao iznova. Nakon toga sam se zapitao, pa svaki alat za web development ima neki snippet toolbar. Mora ga imati i Flex. I otkrio sam ga vrlo brzo.</p>
<p><span id="more-201"></span>Malo sam odlučio proučiti opcije za update Flex Buildera, otišao sam na Google i vrlo brzo sam pronašao rješenje. Ukoliko želite imati snippet toolbar u svom Flex Builderu, pogledajte ove kratke upute.</p>
<p>1. Idite na Help &gt; Software Updates &gt; Find and Install.</p>
<p>2. Kliknite &#8216;Search for new features to install&#8217; i pritisnite &#8216;Next&#8217;.</p>
<p>3. Čekirajte &#8216;Europa Discovery Site&#8217; i pritisnite &#8216;Finish&#8217;.</p>
<p>4. Odaberite najbliži server za download.</p>
<p style="text-align: justify;">5. Pod opcijom&#8217;Web and Java Development&#8217; odaberite &#8216;Web Standard Tools. Kliknite na &#8216;Selected Required&#8217; kako biste instalirali sve potrebne dodatke za instalaciju Web Standard Tools.</p>
<p>6. Završite instalaciju i resetirajte Flex Builder.</p>
<p style="text-align: justify;">7. Kako bi prikazali Snippet panel idite na izbornik Window &gt; Other Views i na opciji &#8216;General&#8217; odaberite &#8216;Snippets&#8217;.  Novi panel će se prikazati na dnu sučelja. Možete ga slobodno prebaciti uz panel s komponentama, tako da sve svoje &#8216;drag &amp; drop&#8217; elemente možete imati na jednom mjestu.</p>
<p>8.Napravite desni klik na novom panelu i odaberite &#8216;Customize&#8217;.</p>
<p style="text-align: justify;">9. Svoje snipete možete organizirati u kategorije, recimo kao što su Actionscript kod i NonVisual. Nakon što ste stvorili kategorije snippeta, možete na isti način stvoriti dijelove koda koje ćete višestruko upotrebljavati. Svaki snippet ima svoje ime, opis, predložak i varijable koje ideu u predložak. Varijable se stavljaju na mjesto placeholdera u kodu snippeta.</p>
<p>10. Evo kako izgleda moj snippet za HTTP service, a sastoji se od tri varijable: Id, Url and resultEvent.</p>
<p><code>&lt;mx:HTTPService id="${Id}" url="${Url}" result="${ResultHandler}"/&gt;</code></p>
<p>Eto, nadam se da ćete na ovaj način povećati efikasnost pisanja koda.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/kako-organizirati-flex-snippete/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kako vidjeti ActionScript klase koje generira Flex Builder?</title>
		<link>http://www.ivanilijasic.com/2009/05/kako-vidjeti-actionscript-klase-koje-generira-flex-builder/</link>
		<comments>http://www.ivanilijasic.com/2009/05/kako-vidjeti-actionscript-klase-koje-generira-flex-builder/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:37:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[Razno]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flex builder]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=196</guid>
		<description><![CDATA[Dok stvarate MXML kod u Flex Builderu, vaš razvojni alat u pozadini stvara pripremu za generiranje Actionscript koda koji će onda biti kompajliran, a takav kod će Flash Player će znati koristiti za prikaz razvijene aplikacije. Kada stvorite svoj MXML, Flex Builder će kasnije generirati klase koje su nastale na temelju postojeći Actinscript klasa.
 Recimo [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/as_logo.png" rel="lightbox[196]"><img class="alignleft size-thumbnail wp-image-264" title="Actionscript logo" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/as_logo-150x150.png" alt="Actionscript logo" /></a>Dok stvarate MXML kod u Flex Builderu, vaš razvojni alat u pozadini stvara pripremu za generiranje Actionscript koda koji će onda biti kompajliran, a takav kod će Flash Player će znati koristiti za prikaz razvijene aplikacije. Kada stvorite svoj MXML, Flex Builder će kasnije generirati klase koje su nastale na temelju postojeći Actinscript klasa.<br />
 <span id="more-196"></span>Recimo da smo napravili sljedeći testni MXML:</p>
<pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
 &lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;
 &lt;mx:Script&gt;
 &lt;![CDATA[
 private function clickMe(event:MouseEvent):void
 {...</code>
 }
   ]]&gt;
  &lt;/mx:Script&gt;
  &lt;mx:Button id="myButton" click="clickMe(event)" /&gt;
 &lt;/mx:Application&gt;</pre>
<p>Samim stvaranjem ove aplikacije Flex Builder je od mx.core.Application klase stvorio novu klasu MyTest.</p>
<p><code>public class MyTest extends mx.core.Application</code></p>
<p>Ako želite vidjeti što to Flex Builder radi u pozadini, tada je potrebno dodati parametar compileru, kako bi on znao da generirane datoteke ne treba brisati nakon što je SWF stvoren. Idite na project properties &gt; Flex Compiler &gt;  Additional compiler arguments.</p>
<p>Tamo dodajte parametar <strong>-keep</strong> ili <strong>-keep-generated-actionscript</strong>. Pokrenite rebuild  projekta i sada bi se trebao pojaviti direktorij <strong>generated </strong>unutar <strong>src</strong> direktorija. Tamo se nalazi generirani Actionscript  kod i MyTest-generated.as datoteka.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/kako-vidjeti-actionscript-klase-koje-generira-flex-builder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Povezivanje C# i Actionscript klasa pomoću WebORB-a</title>
		<link>http://www.ivanilijasic.com/2009/05/povezivanje-c-i-actionscript-klasa-pomocu-weborb-a/</link>
		<comments>http://www.ivanilijasic.com/2009/05/povezivanje-c-i-actionscript-klasa-pomocu-weborb-a/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:27:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[WebOrb]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=188</guid>
		<description><![CDATA[Nakon što ste uspješno instalirali WebORB for .NET i povezali Flex i .NET aplikaciju, trebamo vidjeti kako povezati instancu klase na klijentovom računalu (Actionscript klasa) s klasom na serveru (C# klasa). Kroz kratki tutorial ćete lako pohvatati ovo znanje. Ako dosad niste radili s WebORB-om, pogledajte raniji članak o tome: Povezivanje Flexa i .NET-a pomoću [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/weborb_dotnet.jpg" rel="lightbox[188]"><img class="alignleft size-thumbnail wp-image-289" title="WebORB for .NET" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/weborb_dotnet-150x150.jpg" alt="WebORB for .NET" /></a>Nakon što ste uspješno instalirali WebORB for .NET i povezali Flex i .NET aplikaciju, trebamo vidjeti kako povezati instancu klase na klijentovom računalu (Actionscript klasa) s klasom na serveru (C# klasa). Kroz kratki tutorial ćete lako pohvatati ovo znanje. Ako dosad niste radili s WebORB-om, pogledajte raniji članak o tome:<a title="Permanent Link to Povezivanje Flexa i .NET-a pomoću WebORB-a: Hello, World" href="../2009/05/povezivanje-flexa-i-net-a-pomocu-weborb-a/"> Povezivanje Flexa i .NET-a pomoću WebORB-a: Hello, World</a><a title="Permanent Link to Povezivanje Flexa i .NET-a pomoću WebORB-a: Hello, World" href="../2009/05/povezivanje-flexa-i-net-a-pomocu-weborb-a/"><span id="more-188"></span></a></p>
<p style="text-align: justify;">Idemo napraviti novi class library za WebORB u Visual Studiju. Za predložak projekta ponovno koristite &#8216;class library for WebORB&#8217;. U projektu možete koristiti dolje navedeni kod:</p>
<pre>using System;
using System.Collections.Generic;
using System.Text;

namespace FlexWebOrb.ZgFlex
{
    public class UserService
    {
        public WebOrbUser getUserProperties(WebOrbUser user)
        {
            WebOrbUser WebOrbUser = new WebOrbUser();
            WebOrbUser.firstName = user.firstName.ToUpper();
            WebOrbUser.lastName = user.lastName.ToUpper();
            WebOrbUser.age = user.age;

            return WebOrbUser;
        }
    }

    public class WebOrbUser
    {
        public string firstName;
        public string lastName;
        public int age;

    }
}
</pre>
<p style="text-align: justify;">Kao što možete vidjeti, ovaj servis unutar namespacea sadrži jednostavnu VO (value object) klasu WebOrbUser. Nju ćemo koristiti za mapiranje serverske i klijentske instance klase. U Flex Builderu napravite novi projekt i dodajte WebORB.swc library u projekt te podesite da compiler koristi xml s konfiguracijom servisa (upute možete vidjeti u prethodnom članku). Napravite sljedeću Actionscript klasu:</p>
<pre><code>package org.zgflex.vo
{
  //[RemoteClass(alias="FleFlexWebOrb.ZgFlex.WebOrbUser")]
  public class WebOrbUser
  {
    public var firstName:String;
    public var lastName:String;
    public var age:int;
  }
}
</code></pre>
<p>Zakomentirana linija je vrlo bitna jer sadržni alias remote klase u C#. Na taj način će WebORB znati da je poslani objekt mapiran sa C# klasom na serveru. Pogledajte kako izgleda kod Flex aplikacije:</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;

	&lt;mx:Script&gt;
	&lt;![CDATA[

	import mx.rpc.events.*;
	import mx.collections.*;
	import mx.controls.*;
	import org.zgflex.vo.*;

	[Bindable]
	public var serverUser:WebOrbUser = new WebOrbUser();

	private function faultHandler(event:FaultEvent):void
	{
		Alert.show(event.fault.faultString, "Error");
	}

	private function getUserPropertiesHandler(event:ResultEvent):void
	{
		serverUser.firstName = event.result.firstName;
		serverUser.lastName = event.result.lastName;
		serverUser.age = event.result.age;

		// you can display values in another panel
		lblFirstName.text = serverUser.firstName;
		lblLastName.text = serverUser.lastName;
		lblAge.text = serverUser.age.toString();

		Alert.show("You successfully transfered an object to your .NET server!");

	}

	private function sendUserData():void
	{
		var myUser:WebOrbUser = new WebOrbUser();
		myUser.firstName = txtFirstName.text;
		myUser.lastName = txtLastName.text;
		myUser.age = new int(txtAge.text);

		WebOrbConnect.getUserProperties(myUser);
	}
	]]&gt;
	&lt;/mx:Script&gt;
	&lt;mx:Panel x="23" y="19" width="289" height="200" layout="absolute" title="Sending user data"&gt;
		&lt;mx:Label x="10" y="10" text="First name:"/&gt;
		&lt;mx:Label x="10" y="40" text="Last name:"/&gt;
		&lt;mx:Label x="10" y="70" text="Age:"/&gt;
		&lt;mx:TextInput x="87" y="8" width="172" id="txtFirstName"/&gt;
		&lt;mx:TextInput x="87" y="38" width="172" id="txtLastName"/&gt;
		&lt;mx:TextInput x="87" y="68" width="46" id="txtAge"/&gt;
		&lt;mx:Button x="14" y="111" label="Send to .NET server" width="153" click="sendUserData()"/&gt;
	&lt;/mx:Panel&gt;
	&lt;mx:Panel x="329" y="19" width="289" height="200" layout="absolute" title="Server data"&gt;
		&lt;mx:Label x="10" y="10" text="First name:"/&gt;
		&lt;mx:Label x="10" y="40" text="Last name:"/&gt;
		&lt;mx:Label x="10" y="70" text="Age:"/&gt;
		&lt;mx:Label x="87" y="10" width="94" id="lblFirstName" textAlign="center"/&gt;
		&lt;mx:Label x="87.5" y="40" width="94" id="lblLastName" textAlign="center"/&gt;
		&lt;mx:Label x="87.5" y="70" width="94" id="lblAge" textAlign="center"/&gt;
	&lt;/mx:Panel&gt;
	&lt;mx:RemoteObject id="WebOrbConnect" destination="GenericDestination" source="FlexWebOrb.ZgFlex.UserService" showBusyCursor="true" fault="faultHandler(event)"&gt;
		&lt;mx:method name="getUserProperties" result="getUserPropertiesHandler(event)"/&gt;
	&lt;/mx:RemoteObject&gt;
&lt;/mx:Application&gt;
</pre>
<p style="text-align: justify;">Klasa UserService na serveru sadrži metodu<code> getUserProperties(WebOrbUser user)</code>. Ona dohvataća Flex objekt instance klase WebOrbUser. WebORB zbog zadanog aliasa mapira Actionscript klasu u C# klasu, a metoda radi svoj posao i šalje C# instancu klase Flexu. Radi se obrnuti proces mapiranja te Flex dobiva odgovor u sebi prihvatljivom obliku Actionscript klase. Podaci se prikazuju na desnom panelu aplikacije.</p>
<p style="text-align: center;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/weborb_mapiranje_klasa.jpg" rel="lightbox[188]"><img class="aligncenter size-medium wp-image-297" title="WebORB mapiranje klasa" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/weborb_mapiranje_klasa-300x112.jpg" alt="WebORB mapiranje klasa" /></a></p>
<p>Source aplikacije možete dohvatiti ovdje: <a href="http://www.ivanilijasic.com/flex_recepti/DataMappingWithWebOrb.zip">Mapiranje C# i Actionscript klasa</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/povezivanje-c-i-actionscript-klasa-pomocu-weborb-a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Povezivanje Flexa i .NET-a pomoću WebORB-a: Hello, World</title>
		<link>http://www.ivanilijasic.com/2009/05/povezivanje-flexa-i-net-a-pomocu-weborb-a/</link>
		<comments>http://www.ivanilijasic.com/2009/05/povezivanje-flexa-i-net-a-pomocu-weborb-a/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:26:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Adobe Flex]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[WebOrb]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=186</guid>
		<description><![CDATA[WebORB je .NET library za povezivanje RIA tehnologija (Flex, AIR, Flash, Ajax, Silverlight) s popularnim serverskim tehnologijama kao što su .NET, PHP, Java, Coldfusion i Ruby at Rails. U ovom primjeru ćete moći vidjeti kako povezati .NET i Flex putem ovog jako dobrog dodatka.
Da bi povezali .NET server-side kod i Flex aplikaciju potrebno je  skinuti [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/weborb_dotnet.jpg" rel="lightbox[186]"><img class="alignleft size-thumbnail wp-image-289" title="WebORB for .NET" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/weborb_dotnet-150x150.jpg" alt="WebORB for .NET" /></a>WebORB je .NET library za povezivanje RIA tehnologija (Flex, AIR, Flash, Ajax, Silverlight) s popularnim serverskim tehnologijama kao što su .NET, PHP, Java, Coldfusion i Ruby at Rails. U ovom primjeru ćete moći vidjeti kako povezati .NET i Flex putem ovog jako dobrog dodatka.</p>
<p style="text-align: justify;"><a href="http://www.themidnightcoders.com/products/weborb-for-net/overview.html"><span id="more-186"></span></a>Da bi povezali .NET server-side kod i Flex aplikaciju potrebno je  skinuti WebORB for .NET library sa stranice:  <a href="http://www.themidnightcoders.com/products/weborb-for-net/overview.html">www.themidnightcoders.com/products/weborb-for-net/overview.html</a>. Na dotičnoj stranici možete saznati sve o dotičnom libraryju, a uz njega dobivate upute za instalaciju WebORB-a na vaš IIS server. Informacije o instalaciji dobivate možete naći i na WebORB siteu. Ako postavljate WebORB na lokalni server, tada bi se WebORB aplikacija za nadzor servisa trebala nalaziti na URL-u: <a href="http://localhost/weborb30/">http://localhost/weborb30/</a>.</p>
<p style="text-align: justify;">Prilikom instalacije WebORB-a na računalo je instaliran i dodatak za Visual Studio, pomoću kojega se stvaraju WebORB servisi. Nakon instalacije je potrebno stvoriti novi projekt u Visual Studiju, a za predložak aplikacije treba odabrati opciju &#8216;Class Library with WebORB&#8217;. Kada se otvori projekt, onda možete napraviti ovakav kod, u kojemu ćete kreirati dummy Response klasu za odgovor servera klijentu.</p>
<pre>using System;
using System.Collections.Generic;
using System.Text;

namespace FleFlexWebOrb.ZgFlex
{
    public class WebOrbConnect
    {
        public Response sayHello(string name)
        {
            Response response = new Response(name);
            return response;
        }

    }

    public class Response
    {
        public string Name;
        public string Greeting;

        public Response(string name)
        {
            this.Name = name;
        }
    }
}
</pre>
<p style="text-align: justify;">Pokrenite compile/rebuild i dobit ćete nakon toga DLL datoteku  u debug direktoriju. Kopirajte taj DLL u WebOrb\bin direktorij koji se nalazi u direktoriju IIS servera, odakle se pokreće WebORB monitoring aplikacija. Nakon toga će novonastali servis biti dostupan preko WebORB konzole.  (<a href="http://localhost/weborb30/weborbconsole.html">http://localhost/weborb30/weborbconsole.html</a>)</p>
<p style="text-align: justify;">Ako ste to napravili onda idemo napraviti jednostavnu Flex aplikaciju. Napravite novi Flex projekt i dodajte mu WebORB SWC library, koji se nalazi u weborb\weborbassets\wdm direktoriju na IIS-u. Podesite compiler path Flex projekta s dodatkom (lokalni path do services-config.xml):</p>
<p><code>-services c:\Inetpub\wwwroot\weborb30\web-inf\flex\services-config.xml</code></p>
<p>Nakon toga napravite dummy aplikaciju:</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[

		import mx.rpc.events.*;
		import mx.collections.*;
		import mx.controls.*; 

        private function faultHandler(event:FaultEvent):void
        {
        	Alert.show(event.fault.faultString, "Error");
        }

        private function getHelloGreetingHandler(event:ResultEvent):void
    	{
    		Alert.show(event.result.Greeting);
        }

		]]&gt;
	&lt;/mx:Script&gt;

	&lt;mx:RemoteObject id="WebOrbConnect"
					 destination="GenericDestination"
					 source="FlexWebOrb.ZgFlex.WebOrbConnect"
					 showBusyCursor="true"
					 fault="faultHandler(event)" &gt;
		&lt;mx:method name="sayHello" result="getHelloGreetingHandler(event)"/&gt;
	&lt;/mx:RemoteObject&gt;

	&lt;mx:Panel x="24" y="26" width="355" height="254" layout="absolute" title="Connecting to WebOrb"&gt;
		&lt;mx:TextInput x="89" y="28" width="236" id="txtName"/&gt;
		&lt;mx:Label x="10" y="30" text="Your name:"/&gt;
		&lt;mx:Button x="244" y="67" label="Connect" width="81" click="WebOrbConnect.sayHello(txtName.text)"/&gt;
	&lt;/mx:Panel&gt;
&lt;/mx:Application&gt;
</pre>
<p>Demo aplikacija šalje korisničko ime .NET serverskoj aplikaciji i vraća pozdrav. Komunikacija započinje korištenjem RemoteObject instance koja se spaja na .NET klasu i metoda sayHello prima parametar Name te vraća objekt tipa Response našoj Flex aplikaciji. Na ovom primjeru možete temeljiti vaše buduće Flex/.NET aplikacije.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/povezivanje-flexa-i-net-a-pomocu-weborb-a/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Napravite knjigu gostiju pomoću Flexa, AMFPHP-a i PHP-a</title>
		<link>http://www.ivanilijasic.com/2009/05/napravite-knjigu-gostiju-pomocu-flexa-amfphp-a-i-php-a/</link>
		<comments>http://www.ivanilijasic.com/2009/05/napravite-knjigu-gostiju-pomocu-flexa-amfphp-a-i-php-a/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:24:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AMFPHP]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[guestbook]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=184</guid>
		<description><![CDATA[Dakle, naučili ste kako se koristi AMFPHP, znate kako dohvatiti podatke iz MySQL-a. Onda Vam ne bi trebao biti problem složiti jednostavni guestbook. Za to je potrebna jednostavna forma za unos, onda recimo jedan  DataGrid za prikaz podataka i AMFPHP servis koji će primiti podatke i poslati sve komentare našem Flex klijentu.

Dakle, imate Flex formu [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/amfphp_logo.gif" rel="lightbox[184]"><img class="alignleft size-thumbnail wp-image-217" title="AMFPHP" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/amfphp_logo-150x121.gif" alt="AMFPHP" /></a>Dakle, naučili ste kako se koristi AMFPHP, znate kako dohvatiti podatke iz MySQL-a. Onda Vam ne bi trebao biti problem složiti jednostavni guestbook. Za to je potrebna jednostavna forma za unos, onda recimo jedan  DataGrid za prikaz podataka i AMFPHP servis koji će primiti podatke i poslati sve komentare našem Flex klijentu.</p>
<p><span id="more-184"></span></p>
<p style="text-align: justify;">Dakle, imate Flex formu u koju će korisnik upisati svoj komentar. Za potrebe pohrane tih informacija trebamo Actionscript klasu. Klasa će biti definirana unutar package-a org.zgflex. Bitno je, kao i u svim primjerima rada s AMFPHP-om, navesti Remote alias klase:</p>
<p><strong></strong></p>
<pre><span style="font-size: x-small;">package org.zgflex
{
 [RemoteClass(alias="org.zgflex.Comment")]
 [Bindable]
 public class Comment
 {
    public var id:int;
    public var name:String;
    public var title:String;
    public var email:String;
    public var comment:String;
  }
}</span></pre>
<p>Istu takvu PHP klasu je potrebno složiti na serveru.</p>
<pre><span style="font-size: x-small;">&lt;?php
</span><span style="font-size: x-small;">class Comment {</span><span style="font-size: x-small;"> 
   public $id;
</span><span style="font-size: x-small;">   public $name;
   public $title;
</span><span style="font-size: x-small;">   public $email;
   public $comment;
</span><span style="font-size: x-small;">   var $_explicitType = "org.zgflex.Comment";
</span><span style="font-size: x-small;">}
?&gt;</span></pre>
<p style="text-align: justify;">PHP servis treba imati dvije metode, jednu za pospremanje komentara u MySQL bazu podataka, a drugi koji će dohvatiti sve pohranjene komentare.</p>
<pre><span style="font-size: x-small;">    public function getAllPosts()
    function sendComment($comment)</span></pre>
<p style="text-align: justify;">I ostaje nam samo nakon toga upogoniti Flex. Prilikom pritiska na gumb forme podaci se šalju na server, a ukoliko je komentar uredno pohranjen u bazu podataka, pokrenut će se zahtjev za dohvat svih upisanih postova i oni će se pospremiti u DataGrid. Dolje možete vidjeti kako izgleda kod RemoteObject instance koja zove PHP server.</p>
<pre><span style="font-size: x-small;">    &lt;mx:RemoteObject id="GuestbookService" source="org.zgFlex.cookbook.services.GuestbookService"
         destination="amfphp" fault="faultHandler(event)" showBusyCursor="true"&gt;
        &lt;mx:method name="getAllPosts" result="getAllPostsHandler(event)"
                 fault="faultHandler(event)" /&gt;
        &lt;mx:method name="sendComment" result="sendCommentHandler(event)"
                 fault="faultHandler(event)" /&gt;
    &lt;/mx:RemoteObject&gt; </span>
</pre>
<p style="text-align: center;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/php_flex_guestbook.png" rel="lightbox[184]"><img class="aligncenter size-thumbnail wp-image-242" title="PHP Flex Guestbook" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/php_flex_guestbook-150x150.png" alt="PHP Flex Guestbook" /></a></p>
<p>Ovdje možete dohvatiti kod opisanog primjera: <a href="http://www.ivanilijasic.com/flex_recepti/MyAMFPHPGuestBook.zip">PHP Flex Guestbook</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/napravite-knjigu-gostiju-pomocu-flexa-amfphp-a-i-php-a/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Popunite vrijednosti komponenti pomoću AMFPHP-a</title>
		<link>http://www.ivanilijasic.com/2009/05/popunite-vrijednosti-komponenti-pomocu-amfphp-a/</link>
		<comments>http://www.ivanilijasic.com/2009/05/popunite-vrijednosti-komponenti-pomocu-amfphp-a/#comments</comments>
		<pubDate>Sat, 23 May 2009 15:22:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AMFPHP]]></category>
		<category><![CDATA[Flex Cookbook]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flex komponente]]></category>

		<guid isPermaLink="false">http://www.ivanilijasic.test/?p=181</guid>
		<description><![CDATA[Nakon što ste napravili svoj prvi pravi primjer korištenja Flexa i PHP-a korištenjem AMF protokola, onda je vrijeme  da vidimo kako možemo popuniti vrijednosti nekih Flex komponenti dohvatom podataka sa servera iz MySQL baze. Ovaj kratki primjer se nadovezuje na raniji tekst &#8211; Započnite koristiti AMFPHP.

U ovom primjeru ćete pomoću PHP upita dohvatiti niz podataka [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/amfphp_logo.gif" rel="lightbox[181]"><img class="alignleft size-thumbnail wp-image-217" title="AMFPHP" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/amfphp_logo-150x121.gif" alt="AMFPHP" /></a>Nakon što ste napravili svoj prvi pravi primjer korištenja Flexa i PHP-a korištenjem AMF protokola, onda je vrijeme  da vidimo kako možemo popuniti vrijednosti nekih Flex komponenti dohvatom podataka sa servera iz MySQL baze. Ovaj kratki primjer se nadovezuje na raniji tekst &#8211; <a href="http://www.ivanilijasic.com/2009/05/zapocnite-koristiti-amfphp/">Započnite koristiti AMFPHP</a>.</p>
<p><span id="more-181"></span></p>
<p style="text-align: justify;">U ovom primjeru ćete pomoću PHP upita dohvatiti niz podataka koji će biti posebno formatiran za Flex ComboBox, nakon toga ćete odabirom određene momčadi (opet je primjer s podacima o nogometnim momčadima) popuniti podatke o igračima momčadi unutar DataGrida, pozivom metode RemoteObjecta koja je opet povezana AMF protokolom na PHP server. Dolje navedena PHP metoda dohvaća listu momčadi, s time da su podaci u arrayu postavljeni tako da se ComboBox popuni prilikom dohvata niza sa servera (zato se dobivaju vrijednosti label i data).</p>
<pre><span style="font-size: x-small;">    public function getTeamsList()
    {
        $sql = 'SELECT     id data,
                        title label
                FROM     team
                ORDER by title ASC';

        $result = mysql_query($sql, $this-&gt;_db);
     
        $teams = array();
     
        while ($row = mysql_fetch_object($result)) {
            $teams[] = array('data' =&gt; $row-&gt;data, 'label' =&gt; $row-&gt;label);
        }
     
        mysql_free_result($result);
        return $teams;     
    } 
</span></pre>
<p style="text-align: justify;">Priča će se dalje nastaviti tako što ćete moći odabirom retka u DataGridu vidjeti podatke o tom igraču u Flex Label objektima, a nakon toga ćete iz druge padajuće liste moći transferirati igrača u neki drugi klub. Povratnom informacijom sa servera ćete dobiti promjenu ekrana, tako što će prelaskom igrača u npr. Chelsea, Flex aplikacija pozvati dohvat svih igrača iz tog novog kluba.</p>
<p style="text-align: center;"><a href="http://www.ivanilijasic.com/wp-content/uploads/2009/05/komponente_amfphp.png" rel="lightbox[181]"><img class="aligncenter size-medium wp-image-238" title="AMFPHP i Flex komponente" src="http://www.ivanilijasic.com/wp-content/uploads/2009/05/komponente_amfphp-300x176.png" alt="AMFPHP i Flex komponente" /></a></p>
<p>Demo opisane aplikacije možete skinuti ovdje: <a href="http://www.ivanilijasic.com/flex_recepti/PopulateComponentsWithAMFPHP.zip">Popunite vrijednosti Flex komponenata pomoću AMFPHP-a</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanilijasic.com/2009/05/popunite-vrijednosti-komponenti-pomocu-amfphp-a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

