Blog de Daniel Zegarra Rotating Header Image

UIComponents

Flex: Clase datagridColumnSelector

Esta es una clase que hice para Flex para mostrar y ocultar las columnas de cualquier instancia de DataGrid sin ensuciarse con mucho codigo.

Menu contextual del DataGrid

Menu contextual del DataGrid

Se puede implementar en solo una linea de codigo:

new datagridColumnSelector(datagridInstance, [campoignorado1]);

El primer argumento es obligatorio y debe ser una instancia de DataGrid. El segundo argumento es opcional y debe recibir un Array con los nombres de las columnas a ignorar.

Cambiando algunas propiedades por defecto:

datagridColumnSelector.label_hide = "Ocultar";
datagridColumnSelector.label_show = "Mostrar";
var selector:datagridColumnSelector = new datagridColumnSelector(data_dg);
selector.hidden = ["col3"];

En el siguiente ejemplo la columna 4 y 5 estan ocultas por defecto. Tambien se decide ignorar la columna 3 para que el usuario no pueda ocultar todas las columnas.
Nota que el valor del atributo headerText en cada DataGridColumn es usado en el menu contextual para que el usuario pueda identificar la columna.

<?xml version="1.0" encoding="utf-8"?>
<mx:Application layout="vertical" creationComplete="init()"
	xmlns:mx="http://www.adobe.com/2006/mxml"
	backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#FFFFFF, #E7E7E7]"
	paddingBottom="8" paddingLeft="8" paddingRight="8" paddingTop="8" horizontalAlign="left" viewSourceURL="srcview/index.html">

	<mx:Script>
		<![CDATA[
			import net.danielzegarra.utils.datagridColumnSelector;

			protected function init():void{
				new datagridColumnSelector(data_dg, ["col3"]);
			}
		]]>
	</mx:Script>

	<mx:Label text="Haga un clic secundario sobre el DataGrid para mostrar u ocultar columnas."/>
	<mx:DataGrid id="data_dg" width="100%" height="100%">
		<mx:columns>
			<mx:DataGridColumn headerText="Columna 1" dataField="col1"/>
			<mx:DataGridColumn headerText="Columna 2" dataField="col2"/>
			<mx:DataGridColumn headerText="Columna 3" dataField="col3"/>
			<mx:DataGridColumn headerText="Columna 4" dataField="col4" visible="false"/>
			<mx:DataGridColumn headerText="Columna 5" dataField="col5" visible="false"/>
		</mx:columns>
	</mx:DataGrid>
</mx:Application>

Y el resultado:

Ver la fuente | Descargar datagridColumnSelector Class

Nota: Funciona tambien con Air aunque es preferible usar las clases nativas de Adobe Air.

Primeros pasos con el API para Flash de Google Maps

Por fin me decidi a probarlo.

Google Maps tiene un API que te permite incrustar sus mapas en tu aplicacion Flash (solo ActionScript 3). Imagina una libreta de direcciones online en la que los usuarios puedan definir visualmente el punto exacto donde viven (aunque habria que tomar en cuenta las implicancias de eso) y en tu DB solo almacenar la latitud y longitud de la elección. Incluso podrias medir la distancia entre dos puntos.

El SDK lo puedes encontrar aquí: http://code.google.com/intl/es-ES/apis/maps/documentation/flash/intro.html#SWC_File
Debes solicitar un API Key: http://code.google.com/intl/es-ES/apis/maps/documentation/flash/intro.html#API_Key
Creando tu primera aplicacion: http://code.google.com/intl/es-ES/apis/maps/documentation/flash/tutorial-flash.html
Y la guia de referencia donde pueden encontrar toda la documentacion tecnica: http://code.google.com/intl/es-ES/apis/maps/documentation/flash/reference.html

El Golf de San Isidro

Puedes descargar las fuentes de este ejemplo en el siguiente enlace: Descargar Ejemplo de API de Google Maps

Componente Background

Este componente sirve para crear facilmente fondos en sus aplicaciones. Aun no he implementado los efectos de desvanecimiento pero lo demas si funciona.

La poca documentacion esta en la descripcion del componente.

En si lo q hace es cargar un archivo jpg o swf y lo acomoda en el fondo.

Parametros

modo
normal: Centra la imagen cargada.
noborders: Hace que la imagen ocupe todo el espacio del clip (todo el Stage empezando desde (0,0) ).
escalar: Escala el tamaño la imagen conservando sus proporciones, la imagen no excedera el tamaño del Stage.

autoAlign
Si es true alineara el componente el la posicion (0,0) del nivel superior.

file
Cadena que especifica la ruta del archivo que se va a cargar, durante la carga mostrara la barra de progreso.

bgcolor
Color solido de fondo. Ejemplo: 0×00000, 0xFF0055, etc…

El componente realiza estos cambios al Stage:
Stage.scaleMode = “noScale”;

Stage.align = “TL”;

Eventos

onComplete({httpStatus:})
onError({errorCode:String, httpStatus:Number})
onProgress({bytesLoaded:Number, bytesTotal:Number})
onStart({file:String})
onChangeColor({color})
onResize({})

Puedes descargar el SWC desde aki
Descargar SWC
Descargar Test