Flex Chart – Ajouter des Series depuis une lecture XML e4x
Dans les exemples précédents, on a vu comment créer un Chart Flex en ActionScript et comment ajouter des Series à la volée en AS3. On va maintenant prendre un XML de data en entrée pour créer nos séries de manières dynamique, en fonction de la data.
On va utiliser la syntaxe e4x pour extraire les données uniques de notre data (ici, des noms). A l'issue de cette extraction, on aura un tableau de nom (Array). On va ensuite itérer sur ce tableau de nom pour construire une LineSeries pour chaque nom.
Flex Chart – Ajouter des Series à la volée en ActionScript
Dans l'exemple précédent sur les Charts Flex, on a crée un Chart en remplaçant les series existantes.
Dans cet exemple, on va créer 2 ColumnSeries et leur assigner un data provider. On va ensuite créer un Array qui va contenir les Series existantes, et rajouter (push) de nouvelles séries à cet Array.
Enfin, on va assigner la propriété "series" du Chart à ce nouvel Array de Series:
Flex Tips – Insérer des caractères accentués dans un Resource Bundle (bug d'encodage)
Beaucoup de tutoriaux sur flex-tutorial portent sur l'internationalisation d'applications Flex grâce aux resource bundles. Pour en savoir plus sur ces manipulations, consultez la partie Flex Localization de la liste des tutoriaux Adobe Flex. Admettons que vous vouliez internationaliser votre application, et que vous voulez passer une partie de votre application en Français. Pour cet exemple, je vais simplement reprendre le code de l'exemple sur le changement de locale dynamique.
Voici notre fichier de langue Français:
# locale/fr_FR/RegistrationForm.properties
registration_title=Inscription
submit_button=Valider le formulaire
personname=Nom
street_address=Rue
city=Ville
state=Etat
zip=Code Postal
thanks=Merci pour votre enregistrement
flag=Embed("images/flag_french.gif")
Jusque là, tout va bien, car aucune des chaînes ne contient d'accent, ni de caractères spéciaux. Modifions maintenant la ligne state=:
state=état
Voici à quoi va ressembler notre application:
Voici le bug, à la place de notre "é", Flex nous affiche un carré. Si vous avez déjà assez d'expérience dans le dev web, vous avez peut-être déjà vu ce problème dans du HTML, du à un mauvais encodage des caractères. Et bien ici, c'est le même problème.
Flex Localization – Formatter des dates, temps et unités suivant la locale
La façon d'afficher les dates, temps ou les devises varient grandement pour chaque locale. Par exemple, le standard américain pour représenter les dates est mois/jour/année, alors que le standard en Europe et donc en France est plutôt jour/mois/année. Vous pouvez utiliser les Resource Bundles pour formater des valeurs (en utilisant les Formatter Flex). Vous pouvez utiliser les valeurs contenues dans les Resource Bundles pour fixer les propriétés des composants Flex comme le DateFormatter ou le CurrencyFormatter.
De base, le framework Flex utilise des valeurs formatées au standard US. Si vous avez une application en Français, il faut donc modifier les propriétés des composants. Vous pouvez le faire directement si vous êtes sûr que votre application ne sera utilisée que par un public Européen. Si vous voulez créer une application multi-langue, les Resource Bundles conviendront parfaitement.
Voici par exemple, les fichiers utilisés pour configurer des DateFormatter et CurrencyFormatter pour les locales en_US et fr_FR:
# locale/en_US/FormattingValues.properties THEMECOLOR=0x0000FF DATE_FORMAT=MM/DD/YY TIME_FORMAT=L:NN A CURRENCY_PRECISION=2 CURRENCY_SYMBOL=$ THOUSANDS_SEPARATOR=, DECIMAL_SEPARATOR=. # locale/fr_FR/FormattingValues.properties THEMECOLOR=0xFF0000 DATE_FORMAT=DD/MM/YY TIME_FORMAT=HH:NN CURRENCY_PRECISION=2 CURRENCY_SYMBOL=€ THOUSANDS_SEPARATOR=. DECIMAL_SEPARATOR=,
Flex Localization – Pré-chargement de Resource Modules (preload)
Vous pouvez charger un Resource Module quand l'application démarre en appelant la méthode loadResourceModule() au moment de l'évènement initialize, et en spécifiant une valeur pour la propriété localeChain une fois que le module est chargé. C'est utile si vous avez une langue par défaut et que vous voulez que tous les utilisateurs démarrent avec cette langue.
Vous pouvez aussi spécifier la locale que l'application va charger par défaut en la passant en FlashVars dans le conteneur HTML.
Voici les variables flashVars que vous devez passer pour précharger les Resource Modules:
- localeChain: Une liste (séparateur ",") de locale pour l'initialisation de la propriété localeChain de la classe ResourceManager. Si la propriété localeChain n'est pas explicitement fixée, localeChain sera initialisée avec la valeur passée dans l'option -locale du compilateur
- resourceModuleURLs: Une list (séparateur ",") d'URL depuis lesquelles les Resource Module seront chargés. Les resource Modules sont chargés pas la même classe que les RSLs, mais sont chargés après les RSLs. Ces URLs peuvent être relatives ou absolues
Comme pour des paramètres dans une URL, vous devez séparer ces valeurs par un "&" et vous devez vous assurer que les caractères sont bien encodés.






