# Programmation Flex/Utilisation des composants/Controles

* Programmation_Flex
* Controles
* Sommaire
* Liste des composants
* Utilisation des composants
* Controles
* Layout
* Navigator
* Adobe Air
* Charts
* Applications avancées
* Liens
* Liens
* Modifier ce modèle

## AdvancedDataGrid

* L'instruction [Bindable] indique que l'on peut utiliser la variable en bing dans les objets.
* Le tableau comprend la liste du tableau "dpFlat" dans les lignes et les colonnes du datagrid. Les régions sont groupées sous la colonne région.
* Essayer de décommenter le deuxième "GroupingField" pour voir ce qu'il se passe.

## Bouton

* Le bouton "Button" affiche une alerte avec le contenu de "textInput1"
* Le bouton "Show Alert" change son label et affiche "Exemple"

## CheckBox

Avec FlashBuilder, il y a un nouveau namespace ou bibliotheque de fonctionnalités :
    xmlns:fx="http://ns.adobe.com/mxml/2009"
Celui-ci permet d'utiliser "fx:Script" à la place de "mx:Script"
Cette application a deu actions :
* Quand on clique sur le checkbox, son label change.
* Quand on clique sur le bouton, on active le checkbox

## ColorPicker

* En cliquant sur le bouton on change la couleur du color picker

## ComboBox

* La variable cards rempli le ComboBox par binding.
* La fonction closeHandler rempli myLabel, myData

## Datagrid

* {employees} fait référence à la liste xml définie plus haut et injecte les données dans le datagrid par binding
* {dg.selectedItem.name} et ... introduisent les données cliquées du datagrid dans les labels du Form, dynamiquement
Il est intéressant de noter que les événements on click et autres sont actifs par défaut dans le formulaire flex

## DateChooser

* displayDate change le texte de selection sur l'événement click du dateChooser

## DateField

* disabledRanges désactive les dates du calendrier inférieures au 1/12/2010
* {df.format(...)} prends le format de la date et l'injecte au text du Label

## HorizontalList

* Embed encapsule la source dans la variable
* {phone1} et {phone2} injectent les images dans les Objets
* Les chemins prennent des / et non des \ (C:/_ADM_/_IMG/Nokia1.jpg)

## HSlider

* changeSize change la taille de l'image sur un rapport de 1/100 à 100/100
* On remarque que l'encapsulation de l'image "Embed" s'effectue au sein de l'objet mx:Image

## Image

* mx:Image source="@Embed('c:/_ADM_/_IMG/Ident.jpg')", embed encapsule l'image

## Label

* creationComplete du formulaire WindowedApplication lance setLabel à la fin de la création du formulaire

## LinkButton

* Au click sur LinkButton on ouvre une alerte

## List

* Model est un tag qui inclut une liste de données xml
* Il fournit les données par binding à "source"
* selectedItem est un nouvel objet de la racine de l'application
* Sur modification, List affecte le nœud XML sélectionné à selectedItem
* Le handler des label affecte à leur propriété text les attributs label et data du nœud pris par selectedItem

## NumericStepper

* Dynamiquement le handler du formulaire flex détecte un changement du NumericStepper
* Par binding ns.value change le texte du label

## OLAPDataGrid

Un article sur les cube OLAP et cette méthode d'analyse multidimensionnelle :
http://www.journaldunet.com/solutions/0301/030108_olap.shtml
* Ce composant est plus complexe que les autres et existe depuis Flex 3.

## PopUpButton

* xmlList est une liste xml d'éléments
* ils sont injectés dans le popUpButton

## PopUpMenuButton

* en changeant l'item on change le texte de mx:Text
* en cliquant sur le PopUpMenuButton on alert le label de l'id

## Progress Bar

* en cliquant sur le bouton run on incremente la progress bar

## RadioButton

* en cliquant sur le quatrième radiobutton on active la réponse correcte

## RadioButtonGroup

* l'event handler handeCard check l'évenement ItemClick
* en cliquant une option on met a jour le texte et on déclenche une alerte

## RichEditableText

External Source
* À l'ouverture : TextConverter.importToFlow(extTxtFlow, TextConverter.TEXT_LAYOUT_FORMAT) importe le texte externe

## RichText

* À l'ouverture le texte se dispose dans les containers richtext

## Spinner

* En cliquant sur les flèches on change le tableau
* @{mySpinner.value} désigne l'index du tableau

## SWFLoader

Locallement
* Le deuxieme script doit être copié locallement comme Local.swf
* Il est chargé par la première application

## TextArea

* Le premier texte area est simple
* Le deuxième texte area est formatté en HTML

## TextInput

* Le bouton copie le texte de src dans dest

## Tree

* creationCompleteHandler construit un array qui rempli "tree"

## VideoDisplay

* utilisez les boutons pour lancer la vidéo
* la vidéo est en local dans cet exemple

## VideoPlayer

* La vidéo est ici en local

## VScrollBar

* myScroll rempli le texte area avec les positions

## VSlider

* le déplacement du sliderfait changer la taille ave changeSize