Napikin theme para Flex
Si quieres el UI de tu aplicación Flex parezca una servilleta

puedes ver como hacerlo en tres pasos:
- CSS styles and graphical skins
- programmatic skins
- subclassing Flex framework classes to achieve fine-grained control of the look-and-feel
[ vía flexed ]
Novedades ActionStep
Scott Hyndman resucita el proyecto ActionStep con promesas interesantes de presente y de futuro.
Entre otras cosas: NSTableView ( DataGrid ) con todas sus funcionalidades estándar, soporte para ActionScript3, soporte para haXe, nuevo site, nuevo logo…
Enlace al post: * ActionStep: State of the Union
Charla: Vídeo bajo Flash Lite 2.x
Marcos González dará una charla acerca de vídeo con Flash Lite 2.x este sábado 27 a las 17.30 GMT +1.
La conferencia será vía Adobe Connect, así que hay lugar de sobra para todos.
Para más información y enlace de acceso a la sala: * Vídeo bajo Flash Lite 2.x
Serie completa sobre Cairngorm en MadeInFlex
Xavi Beumala ha completado una serie completa de artículos acerca del framework estructural basado en patrones J2EE y best practices para desarrollo de RIAs Cairngorm.
La serie completa se divide en 8 artículos teóricos:
- Cairngorm I: Introducción.
- Cairngorm II: Value Objects.
- Cairngorm III: Commands.
- Cairngorm IV: FrontController.
- Cairngorm V: Eventos.
- Cairngorm VI: Services y ServiceLocator.
- Cairngorm VII: Business Delegate.
- Cairngorm VIII: Model Locator.
…posiblemente la mejor serie de artículos acerca de Cairngorm nunca escrita (con permiso de la ya algo obsoleta Developing Flex RIAs with Cairngorm Microarchitecture)
Respuesta del servidor al subir archivos: FileReference.uploadCompleteData
En la última versión de Flash Player ( 9.0.28.0 ) la API de FileReference incluye un nuevo evento: uploadCompleteData.
Se trata de un evento que se ejecuta cuando se ha subido por completo el archivo y (solo si) se devuelve un mensaje.
Digamos que el flujo sería el siguiente:
- SELECT
- OPEN
- PROGRESS
- UPLOAD_COMPLETE_DATA
En el caso que no se devuelva un mensaje (opción nada aconsejable) simplemente se ejecutaría el evento COMPLETE y el upload podría o no haberse realizado con éxito.
-
import flash.events.DataEvent;
-
import flash.net.FileReference;
-
var fr:FileReference = new FileReference();
-
fr.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, callbackFunction);
-
( ... )
-
fr.upload(new URLRequest("upload.php"));// upload.php DEBE DEVOLVER ALGÚN MENSAJE
-
function callbackFunction ( e:DataEvent ):void
-
{
-
trace( e.data );
-
}
[ via http://bcdef.org ]
Bitmap drawing API para AS3
Didier Brun de bytearray.org ha publicado una API de dibujo que no utiliza vectores para dibujar, lo cual se traduce en un aumento del rendimiento muy considerable.
En la página del post hay una serie de tests muy reveladores.
Enlace al post y descarga: * Bitmap Drawing API
Apple IPhone
Si ha habido una revolución IPod, ahora viene IPhone...
Viene con el navegador Safari incorporado ( entre otras delicadas y bellas prestaciones :) )
http://www.apple.com/iphone/
[Flex2] BaseListData.rowIndex
mx.controls.listClasses.BaseListData.rowIndex no es el índice de la data del itemRenderer en el dataProvider tal y como a día de hoy indica la documentación de Flex2.
Obviamente tampoco lo es para sus clases derivadas DataGridListData, ListData y TreeListData.
Lo que en realidad devuelve BaseListData.rowIndex es la posición en el array de filas visibles del control contando la cabecera como una fila más. Es decir, si tenemos un DataGrid con un dataProvider de 1000 filas y en pantalla vemos de la 20 a la 30, la 20 tendrá rowIndex=1.
Si queremos deducir el índice de la primera fila visible en el DataGrid deberemos hacer una serie de cálculos en el Item Renderer o Item Editor:
-
var dg:DataGrid = listData.owner as DataGrid;
-
var dp:ArrayCollection = dg.dataProvider as ArrayCollection;
-
var firstVisibleRowIndex:int = dg.verticalScrollPosition;
-
var myVisibleRowIndex:int = listData.rowIndex-1;
-
// este es el índice real de esta fila respecto al dataProvider
-
var myDataProviderRowIndex:int = firstVisibleRowIndex + myVisibleRowIndex;
En este ejemplo se ilustra mejor el problema y su solución.
Puedes descargarlo al final del post
Más info al respecto: * BaseListData











