Alert Flash Builder 4.5
Autor: Marcos Rosada | Publicado: 2011-11-19T06:42:00-08:00

Hey guys...



&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Resolvi
fazer um Cast para demonstrar a criação e utilização de um componente de Alerts
que desenvolvi e tenho usado muito nos meus projetos, alem de demonstrar como
interagir um componente com teu projeto. Resumindo, é uma biblioteca .swc que
importamos pra dentro do nosso projeto para usarmos Alerts específicos em
determinadas rotinas da aplicação...


Assista o screenCast e acompanhe o desenvolvimento.




Confira a aplicação abaixo.






Código fonte do projeto AlertaSWC:


package br.com.marcos.ui
{
 import mx.controls.Alert;
 
 public class Alerta extends Alert
 {
  Alert.yesLabel  = "SIM";
  Alert.noLabel  = "NÃO";
  
  public static const YES:uint = 0x0001;
  public static const NO:uint  = 0x0002;
  
  
  [Embed(source="./img/alertIconOk.png")]            public static var iconSucesso   : Class;
  [Embed(source="./img/alertIconInformacao.png")]    public static var iconInformacao  : Class;
  [Embed(source="./img/alertIconInterrogacao.png")]  public static var iconInterrogacao  : Class;
  
  public function Alerta()
  {
   super();
  }
  
  
  /**
   * Normalmente usado pra mensagens de SUCESSO!
   * @param msg é o texto que será exibido no Alert.
   * @param Title é por padrão 'ATENÇÃO', mas pode ser passado um valor espeficíco em algum caso por parametro. 
   * */
  public static function sucesso(msg : String, title : String = "ATENÇÃO"):void
  {
    Alert.show(msg, title, 0, null, null, iconSucesso, Alert.YES);
  }
  
  
  /**
   * Normalmente usado pra mensagens de ERRO!
   * @param msg é o texto que será exibido no Alert.   * 
   * @param Title é por padrão 'ATENÇÃO', mas pode ser passado um valor espeficíco em algum caso por parametro. 
   * */
  public static function erro(msg : String, title : String = "ATENÇÃO"):void
  {
    Alert.show(msg, title, 0, null, null, iconInformacao, Alert.YES);
  }
  
  
  /**
   * Normalmente usado pra mensagens de INTERROGAÇÃO!
   * @param funcao é a função que será execultada ao clicar em algum dos botões, Sim ou Não.
   * @param msg é o texto que será exibido no Alert.
   * @param Title é por padrão 'ATENÇÃO', mas pode ser passado um valor espeficíco em algum caso por parametro. 
   * */
  public static function interrogacao(funcao : Function, msg : String, title : String = "ATENÇÃO"):void
  {
    Alert.show(msg, title, 3, null, funcao, iconInterrogacao, Alert.YES);
  }
 }
}





Código fonte do projeto AlertaApp:


&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx"
      width="550" height="200" viewSourceURL="srcview/index.html"&gt;
 
 &lt;fx:Script&gt;
  &lt;![CDATA[
   import br.com.marcos.ui.Alerta;
   
   import mx.controls.Alert;
   import mx.events.CloseEvent;
   
   protected function showAlertSucesso(event:MouseEvent):void
   {
     Alerta.sucesso("Hello World de Sucesso");
   }
   
   
   
   protected function showAlertErro(event:MouseEvent):void
   {
     Alerta.erro("Hello World de Erro", "OLHA O ERRO!!!");
   }
   
   
   
   protected function showAlertInterrogacao(event : CloseEvent = null):void
   {
     if (event == null)
     {
       Alerta.interrogacao(showAlertInterrogacao, "Remover registro Hello World?");
     }
     else if (event.detail == Alert.YES)
     {
       Alerta.sucesso("Registro removido com sucesso!");
     }
     else if (event.detail == Alert.NO)
     {
       Alerta.erro("Registro não pode ser removido!");
     }
   }
  ]]&gt;
 &lt;/fx:Script&gt;
 
 &lt;fx:Declarations&gt;
  &lt;!-- Place non-visual elements (e.g., services, value objects) here --&gt;
 &lt;/fx:Declarations&gt;
 
 
 &lt;s:HGroup  left="20" right="20" top="20" bottom="20" contentBackgroundAlpha="0.5"
  contentBackgroundColor="#EBEBEB" paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10"&gt;
  
  &lt;s:Panel width="145" height="80" title="Alerta de Sucesso"&gt;
   
   &lt;s:Button horizontalCenter="0" verticalCenter="0" toolTip="Visualiar Alert de Sucesso"
    label="Visualizar" buttonMode="true" 
    click="showAlertSucesso(event)" /&gt;
   
  &lt;/s:Panel&gt;
  
  &lt;s:Panel width="145" height="80" title="Alerta de Erro"&gt;
   
   &lt;s:Button horizontalCenter="0" verticalCenter="0" toolTip="Visualiar Alert de Erro"
       label="Visualizar" buttonMode="true" 
       click="showAlertErro(event)" /&gt;
   
  &lt;/s:Panel&gt;
  
  
  &lt;s:Panel width="145" height="80" title="Alerta de Interrogação"&gt;
   
   &lt;s:Button horizontalCenter="0" verticalCenter="0" toolTip="Visualiar Alert de Interrogação"
       label="Visualizar" buttonMode="true" 
       click="showAlertInterrogacao()" /&gt;
   
  &lt;/s:Panel&gt;
  
 &lt;/s:HGroup&gt;
 
&lt;/s:Application&gt;







Download do Projeto: