<?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>Mike &#38; Etc &#187; Flex</title>
	<atom:link href="http://www.mike.etc.br/categoria/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mike.etc.br</link>
	<description>Entre funções e variáveis, alguns procedimentos básicos de alguém que leva a vida entre as linhas de código.</description>
	<lastBuildDate>Thu, 06 Oct 2011 12:24:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Utilizando novas fontes em projetos Flex 4</title>
		<link>http://www.mike.etc.br/flex/utilizando-novas-fontes-em-projetos-flex-4/</link>
		<comments>http://www.mike.etc.br/flex/utilizando-novas-fontes-em-projetos-flex-4/#comments</comments>
		<pubDate>Wed, 28 Sep 2011 16:47:39 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.mike.etc.br/?p=304</guid>
		<description><![CDATA[O número de fontes disponiveis na IDE do Flex 4 (Flash Builder) é um tanto limitado. Para resolver esse problema de duas formas: através de CSS ou embutindo a fonte na sua aplicação. Via CSS &#60;fx:Style&#62; @namespace s "library://ns.adobe.com/flex/spark"; @namespace mx "library://ns.adobe.com/flex/halo"; @font-face { src: url("assets/fonts/LisboaSansOSF.otf"); fontFamily: "LisboaSansOSFEmbedded"; embedAsCFF: true; } s&#124;Label { fontFamily: LisboaSansOSFEmbedded; [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-305" title="fonts" src="http://www.mike.etc.br/wp-content/uploads/2011/09/fonts-150x150.gif" alt="" width="150" height="150" />O número de fontes disponiveis na IDE do Flex 4 (Flash Builder) é um tanto limitado. Para resolver esse problema de duas formas: através de CSS ou embutindo a fonte na sua aplicação.</p>
<h3>Via CSS</h3>
<pre class="brush:css">&lt;fx:Style&gt;
		@namespace s "library://ns.adobe.com/flex/spark";
		@namespace mx "library://ns.adobe.com/flex/halo";

		@font-face {
			src: url("assets/fonts/LisboaSansOSF.otf");
			fontFamily: "LisboaSansOSFEmbedded";
			embedAsCFF: true;
		}

		s|Label {
			fontFamily: LisboaSansOSFEmbedded;
			fontSize: 40;
		}
	&lt;/fx:Style&gt;</pre>
<p>Dessa forma, a fonte será utilizada em todos os elementos label do Spark. Mas para funcionar, você precisa enviar o arquivo da fonte para o ftp do seu projeto.</p>
<h3>Utilizando Embedding Fonts</h3>
<p>Se você quiser, também poderá incluir o arquivo na sua aplicação:</p>
<pre class="brush:as3">		[Embed(source="/assets/fonts/LisboaSansOSF.otf", fontName="LisboaSansOSF", mimeType="application/x-font-opentype")]
		public var LisboaSansOSF:Class;</pre>
<p>Feito isso, você pode selecionar a fonte via CSS (como no exemplo anterior) ou nas propriedades do elemento. Porém nesta forma você não precisa ficar se preocupando qual arquivo enviar junto com o seu projeto compilado.</p>
<p><strong>Um detalhe importante:</strong> Se você for utilizar um arquivo .ttf (Fonte True Type), lembre-se de alterar o mimeType para application/x-font-truetype.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mike.etc.br/flex/utilizando-novas-fontes-em-projetos-flex-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contando o n&#250;mero de linhas de um &lt;mx:List&gt;</title>
		<link>http://www.mike.etc.br/programacao/contando-o-numero-de-linhas-de-um-mxlist/</link>
		<comments>http://www.mike.etc.br/programacao/contando-o-numero-de-linhas-de-um-mxlist/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 00:20:11 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://www.mike.etc.br/programacao/contando-o-numero-de-linhas-de-um-mxlist/</guid>
		<description><![CDATA[Uma forma simples de contar a quantidade de linhas em um mx:List é utilizando a propriedade length do dataProvider da lista. Simples: itemList.dataProvider.lenght Onde itemList é o ID da sua mx:List. Isso é muito util quando você precisa que um determinado campo ou botão não permaneça desabilidado quando o usuário selecionar o último item da [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mike.etc.br/wp-content/uploads/2011/04/Flex3mxList.png"><img style="display: inline; margin-left: 0px; margin-right: 0px; border: 0px;" title="Flex3mxList" src="http://www.mike.etc.br/wp-content/uploads/2011/04/Flex3mxList_thumb.png" border="0" alt="Flex3mxList" width="154" height="126" align="left" /></a> Uma forma simples de contar a quantidade de linhas em um mx:List é utilizando a propriedade length do dataProvider da lista. Simples:</p>
<pre class="brush:as3">itemList.dataProvider.lenght</pre>
<p>Onde itemList é o ID da sua mx:List. Isso é muito util quando você precisa que um determinado campo ou botão não permaneça desabilidado quando o usuário selecionar o último item da sua lista. Supondo que o controle que precisamos desabilitar seja um mx:Button, basta colocar o seguinte na sua propriedade enabled</p>
<p>&nbsp;</p>
<pre class="brush:as3">{(itemList.selectedIndex &lt; (itemList.dataProvider.length-1))}</pre>
<p>Isso se torna possível graças a facilidade provida pelo excelente sistema de DataBindind proporcionado pelo Flex. A lógica é simples: Retornará TRUE caso o indice do item selecionado na lista seja menor que a quantidade de itens menos um. Lembrando que o calculo do length – 1 é obrigatório, já que o indice de itens começa em zero, e a contagem de itens começará sempre com 1 (lógico). Simples, fácil e rápido!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mike.etc.br/programacao/contando-o-numero-de-linhas-de-um-mxlist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problema de coerção em aplicações Flex 3 modularizadas</title>
		<link>http://www.mike.etc.br/flex/problema-de-coercao-em-aplicacoes-flex-3-modularizadas/</link>
		<comments>http://www.mike.etc.br/flex/problema-de-coercao-em-aplicacoes-flex-3-modularizadas/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 13:41:22 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.mike.etc.br/?p=242</guid>
		<description><![CDATA[Modularizar uma aplicação pode se tornar algo quase obrigatório depois que uma determinada aplicação ultrapassa um certo tamanho. Afinal, não queremos que nossos clientes fiquem horas e horas na frente da tela, esperando o sistema carregar uma infinidade de recursos que ele sequer utilizará para aquela tarefa. Comecei a modularizar uma aplicação, e a uma [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-medium wp-image-243 alignleft" title="1449113040_60beeb2ede" src="http://www.mike.etc.br/wp-content/uploads/2010/07/1449113040_60beeb2ede-214x300.jpg" alt="" width="214" height="300" />Modularizar uma aplicação pode se tornar algo quase obrigatório depois que uma determinada aplicação ultrapassa um certo tamanho. Afinal, não queremos que nossos clientes fiquem horas e horas na frente da tela, esperando o sistema carregar uma infinidade de recursos que ele sequer utilizará para aquela tarefa.</p>
<p>Comecei a modularizar uma aplicação, e a uma certa altura dos testes, eis que me deparo com o seguinte erro:</p>
<p>TypeError: Error #1034: Falha de coerção de tipo: não é possível converter<br />
mx.managers::DragManagerImpl@1444b809 em mx.managers.IDragManager.at<br />
mx.managers::DragManager$<br />
O erro ocorria sempre que eu carregava o módulo 1, descarregava-o, e então carregava o módulo 2. Sempre que eu clicava em uma DataGrid deste segundo módulo, o famigerado erro era disparado.</p>
<p>Pelo que pude observar depois de muita pesquisa e uns dias quebrando a cabeça, existe uma falha por parte do Flex quando trabalhamos com modularização. Se você faz referencia uma classe dentro de um módulo, por vezes, o Flex &#8220;se esquece&#8221; de linká-la na tua Main App. Ou seja, quando o módulo da sua aplicação tenta utilizá-lo, ele simplesmente não existirá.</p>
<h2>A carta na manga!</h2>
<p>Para solucionar este problema, vamos contar com uma característica do Flash Player: Por padrão, as definições de todas as classes que serão utilizadas pelo sistema podem estar presentes na aplicação principal. Ou seja, para evitar a falha, vamos forçar a referencia aos managers que estão gerando o erro.</p>
<p>Vi casos de pessoas que obtem um erro semelhante no uso de PopUpManagers. Para que isso não aconteça mais, escreva o seguinte código na sua aplicação principal:</p>
<pre class="brush:as3">import mx.managers.PopUpManager;
import mx.managers.DragManager;

private var popupMan:PopUpManager;
private var dragMan:DragManager;</pre>
<p>Vc pode alterar o nome das variáveis popupMan e dragMan ao seu gosto. O importante é que elas sejam instanciadas com seus respectivos tipos. Isso deverá resolver seu problema.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mike.etc.br/flex/problema-de-coercao-em-aplicacoes-flex-3-modularizadas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugando objetos em Flex</title>
		<link>http://www.mike.etc.br/flex/debugando-objetos-em-flex/</link>
		<comments>http://www.mike.etc.br/flex/debugando-objetos-em-flex/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 02:55:29 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.mike.etc.br/flex/debugando-objetos-em-flex/</guid>
		<description><![CDATA[Este é um problema que eu tenho desde que conheci o Flex. Comandos como o trace(meuObjeto) não são tão eficazes nestes casos, pois irão retornar apenas um [object Object] no console do IDE. Lí em alguns blogs uma solução utizando o loop for, mas ou menos da seguinte forma: for(var i in n) { trace(i [...]]]></description>
			<content:encoded><![CDATA[<p>Este é um problema que eu tenho desde que conheci o Flex. Comandos como o trace(meuObjeto) não são tão eficazes nestes casos, pois irão retornar apenas um [object Object] no console do IDE.</p>
<p>Lí em alguns blogs uma solução utizando o loop for, mas ou menos da seguinte forma:</p>
<pre class="brush:as3">for(var i in n) {
trace(i + ‘:’ +n[i]);
}
</pre>
<p>É, funciona, mas nosso código correrá o risco de ficar um tanto poluído se precisarmos debugar vários objetos, isso sem contar que ainda poderemos dificultar a leitura dele se não utilizarmos um comentário informando que este trecho trata-se de um debug.</p>
<p>Como resolver isto? Esta semana encontrei <a href="http://www.psyked.co.uk/actionscript/flex-quick-tip-printing-an-objects-contents.htm" target="_blank">um artigo que fala de uma classe interna do Flex</a> que facilita muito nossa vida nesses momentos: É a classe ObjectUtil, pertencente ao pacote mx.utils. Para utiliza-lá, apenas importe a classe para o seu código (<strong>import mx.utils.ObjectUtil</strong>) e em qualquer momento que precisar, faça a chamada para o método da seguinte forma:</p>
<p><strong>trace(ObjectUtil.toString(myObject));</strong></p>
<p>A saída será exibida na janela de console do IDE. Fica aí a dica!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mike.etc.br/flex/debugando-objetos-em-flex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Aplicação em Flex para testar regras Regex</title>
		<link>http://www.mike.etc.br/flex/aplicacao-em-flex-para-testar-regras-regex/</link>
		<comments>http://www.mike.etc.br/flex/aplicacao-em-flex-para-testar-regras-regex/#comments</comments>
		<pubDate>Wed, 12 May 2010 01:32:06 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.mike.etc.br/?p=177</guid>
		<description><![CDATA[Não é de hoje que aplicações em Adobe Flex (hoje, conhecido como Flash Builder) me chamam a atenção. Hoje, durante algumas sapeadas pela internet em busca de aplicações criadas sob esta plataforma, encontrei este utilitário que vai ser uma mão na roda para quem precisa trabalhar com regras Regex. Ele elabora as regras, que podem [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-180" title="regex-app" src="http://www.mike.etc.br/wp-content/uploads/2010/05/regex-app-150x150.jpg" alt="regex-app" width="150" height="150" />Não é de hoje que aplicações em Adobe Flex (hoje, conhecido como Flash Builder) me chamam a atenção. Hoje, durante algumas sapeadas pela internet em busca de aplicações criadas sob esta plataforma, encontrei <a href="http://gskinner.com/RegExr/" target="_blank">este utilitário</a> que vai ser uma mão na roda para quem precisa trabalhar com regras Regex.</p>
<p>Ele elabora as regras, que podem ser criadas na unha, ou baseadas em templates já existentes no sistema. Ele também armazena alguns templates criados pela comunidade do software.Vale a pena conferir!</p>
<p>Link: <a href="http://gskinner.com/RegExr/">http://gskinner.com/RegExr/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mike.etc.br/flex/aplicacao-em-flex-para-testar-regras-regex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Atribuindo valores a uma variável baseando-se no estado de uma checkbox no Flex</title>
		<link>http://www.mike.etc.br/flex/atribuindo-valores-a-uma-varivel-baseando-se-no-estado-de-uma-checkbox-no-flex/</link>
		<comments>http://www.mike.etc.br/flex/atribuindo-valores-a-uma-varivel-baseando-se-no-estado-de-uma-checkbox-no-flex/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 01:22:58 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[dúvidas]]></category>
		<category><![CDATA[faq]]></category>

		<guid isPermaLink="false">http://www.mike.etc.br/flex/atribuindo-valores-a-uma-varivel-baseando-se-no-estado-de-uma-checkbox-no-flex/</guid>
		<description><![CDATA[Olá! Esta noite tive um problema para obter determinados valores dependendo do estado de uma checkbox. Basicamente, se a checkbox estiver selecionada, então o valor “S” deveria ser atribuído a uma variável. Caso contrário, o valor atribuído seria “N”. Eu queria uma forma rápida e precisa de fazer isso, sem consumir muitas linhas de códigos. [...]]]></description>
			<content:encoded><![CDATA[<p>Olá!</p>
<p>Esta noite tive um problema para obter determinados valores dependendo do estado de uma checkbox. Basicamente, se a checkbox estiver selecionada, então o valor “S” deveria ser atribuído a uma variável. Caso contrário, o valor atribuído seria “N”.</p>
<p>Eu queria uma forma rápida e precisa de fazer isso, sem consumir muitas linhas de códigos. Até pensei em utilizar o operador condicional IF, mas eu queria algo mais resumido. Me lembrei do <a href="http://www.mike.etc.br/php/economizando-nos-caracteres/">operador if ternário do PHP</a>, e fui em busca de uma solução semelhante em Flex. Pois é: Existe!</p>
<p>Seria algo mais ou menos assim:</p>
<p>[codesyntax lang="actionscript3"]</p>
<pre>exibir = (chkExibir.selected ? "S" : "N");</pre>
<p>[/codesyntax]</p>
<p>Ou seja, se a propriedade selected da chkExibir for “true”, então retorna “S”, caso contrário retorna “N”.</p>
<p>Facil e rápido do jeito que eu queria, e o melhor, com apenas 1 linha de código!</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9dc722cc-5303-42a9-b97c-3c45bf3f4bbd" class="wlWriterEditableSmartContent" style="margin: 0px; display: inline; float: none; padding: 0px;">Technorati Marcas: <a rel="tag" href="http://technorati.com/tags/flex">flex</a>,<a rel="tag" href="http://technorati.com/tags/flex+builder">flex builder</a>,<a rel="tag" href="http://technorati.com/tags/faq">faq</a>,<a rel="tag" href="http://technorati.com/tags/programa%c3%a7%c3%a3o">programação</a>,<a rel="tag" href="http://technorati.com/tags/checkbox">checkbox</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.mike.etc.br/flex/atribuindo-valores-a-uma-varivel-baseando-se-no-estado-de-uma-checkbox-no-flex/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

