Le Carnet d'Adrien

Aller au contenu | Aller au menu | Aller à la recherche

lundi 22 juin 2009

Flex : Un AdvancedDataGrid avec des couleurs de fond pour chaque ligne

Les AdvancedDataGrid ne permettent pas de préciser une couleur de fond pour chacune de leurs lignes. J'ai donc étendu un AdvancedDataGrid pour pouvoir le faire avec une styleFunction :

RowBackgroundAdvancedDataGridExemple

Cela s'utilise de cette manière :

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:acctl="fr.adriencolson.controls.*">

        ...

        <mx:Script>
                <![CDATA[
                        [Bindable]
                        private var adgData:Object = [{label:'Data 1', type:'t1', children:[{label:'Data 2', type:'t2'}]},
                                {label:'Data 3', type:'t1'},
                                {label:'Data 4', type:'t1', children:[{label:'Data 5', type:'t2'}, {label:'Data 6', type:'t2'}]}];

                        private function adgStyle(data:Object, column:AdvancedDataGridColumn):Object {
                                if (data.type == 't1') {
                                        return {backgroundColor: 0xCC8888};
                                }
                                return null;
                        }
                ]]>
        </mx:Script>

        <acctl:RowBackgroundAdvancedDataGrid id="adg"
                styleFunction="adgStyle"
                displayItemsExpanded="true"
                horizontalGridLines="true"
                width="100%" height="100%">
                <acctl:dataProvider>
                        <mx:HierarchicalData source="{adgData}" />
                </acctl:dataProvider>
                <acctl:columns>
                        <mx:AdvancedDataGridColumn headerText="Label" dataField="label"/>
                        <mx:AdvancedDataGridColumn headerText="Type" dataField="type"/>
                </acctl:columns>
        </acctl:RowBackgroundAdvancedDataGrid>

</mx:Application>

Limitation : Cela ne permet pas de préciser la couleur de fond d'une seule cellule, mais uniquement d'une ligne.

mardi 12 mai 2009

Flex : Un HierarchicalData avec plusieurs childrenFields

Je me suis mis à Flex il y a peu, et par moments j'ai besoin de certaines choses pas (encore) prévues dans ce langage. En espérant que ça serve à quelqu'un, je les mettrai ici.

Un HierarchicalData ne permet de préciser qu'un seul childrenField, mais si différents types d'objets peuplent le HierarchicalData il peut être nécessaire d'en spécifier plusieurs. C'est pourquoi j'ai fait MultiChildrenFieldsHierarchicalData, dérivé de HierarchicalData :

Cela s'utilise de cette manière :

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:acc="fr.adriencolson.collections.*">

        ...

        <mx:AdvancedDataGrid width="100%" height="100%">
                <mx:dataProvider>
                        <acc:MultiChildrenFieldsHierarchicalData source="{treeData}">
                                <acc:ChildrenField itemClass="{Parent1}" childrenField="children1" />
                                <acc:ChildrenField itemClass="{Parent2}" childrenField="children2" />
                                <acc:ChildrenField itemClass="{Parent3}" childrenField="children3" />
                        </acc:MultiChildrenFieldsHierarchicalData>
                </mx:dataProvider>
                <mx:columns>
                        <mx:AdvancedDataGridColumn dataField="label" />
                </mx:columns>
        </mx:AdvancedDataGrid>

</mx:Application>

Ainsi, pour les objects de type Parent1 la propriété qui retournera la liste d'enfants sera children1, etc.

Il est également possible de préciser une childrenFieldFunction de cette manière :

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        xmlns:acc="fr.adriencolson.collections.*">

        <mx:Script>
                <![CDATA[

                        ...

                        private function getChildrenField(node:Object):String {
                                if (node is MyNode1) {
                                        return MyNode1(node).childrenField;
                                } else if (node is MyNode2) {
                                        return "myNode2Children";
                                }
                                return "children";
                        }
                ]]>
        </mx:Script>

        <mx:AdvancedDataGrid width="100%" height="100%">
                <mx:dataProvider>
                        <acc:MultiChildrenFieldsHierarchicalData source="{treeData}" childrenFieldFunction="getChildrenField" />
                </mx:dataProvider>
                <mx:columns>
                        <mx:AdvancedDataGridColumn dataField="label" />
                </mx:columns>
        </mx:AdvancedDataGrid>

</mx:Application>

jeudi 19 mars 2009

Zindus : Synchronisez vos contacts Google avec Thunderbird

Une extension Thunderbird super pratique : http://www.zindus.com/

mardi 10 mars 2009

Netvibes : un portail personnalisé

On m'a encore demandé hier comment je suivais les actus en ligne, quels blogsBD je regardais tous les jours ...
La réponse est ici : http://www.netvibes.com/l0b0
Inscrivez-vous pour créer votre propre portail personnalisé.

mercredi 04 mars 2009

iPhone : Synchronisez votre calendrier et vos contacts avec votre compte Google

Depuis peu, Google propose la synchronisation 'on air' avec votre agenda et vos contacts Google : ces données seront donc à jour où que vous soyez, pour peu que vous soyez connecté.
La mise en place est expliquée ici : http://www.google.com/support/mobile/bin/answer.py?answer=138740&topic=14252

lundi 02 mars 2009

Last.fm

Certainement le meilleur site d'écoute de musique en streaming !
Last.fm constitue votre bibliothèque musicale en ligne à partir d'iTunes et de votre iPhone/iPod, et crée une radio en ligne qui diffusera les morceaux que vous écoutez le plus souvent. (Vous pouvez écouter la mienne dans le bandeau à droite.) Vous pouvez également écouter les radios de vos amis ou d'un artiste : dans ce dernier cas les morceaux qu'aiment les autres utilisateurs qui écoutent cet artiste sont diffusés. Last.fm vous recommande également de nouveaux morceaux en fonction de vos goûts, génial pour découvrir de nouvelles choses ...
Ça se passe ici : http://www.lastfm.fr, ajoutez moi en ami : L0b0t0mie (avec des zéros) ;)
L'application Last.fm qui permet de 'Scrobbler' (surveiller les morceaux que vous passez) : http://www.lastfm.fr/download
L'application iPhone qui permet d'écouter des radios Last.fm en streaming : http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa...

iPhone et images de grande taille

... ou comment consulter le plan des transports en commun de votre ville sur votre iPhone. Il vous faut :

Dans Deep Zoom Composer :

  • Créez un nouveau projet
  • Faites 'Add image...' (à droite) et choisissez l'image à utiliser
  • Dans 'Compose', faites glisser l'image à droite dans la composition
  • Allez dans 'Export', onglet 'Custom', entrez un nom et choisissez 'Export'
  • Cliquez sur 'View Image Folder'

Dans un client FTP :

  • Transférez tous les fichiers générés sur votre espace en ligne

Sur votre iPhone, dans Seadragon :

iTunes : une bibliothèque bien organisée

Et oui, une bibliothèque iTunes toute bien taggée et avec les pochettes des albums ça le fait. Je vous propose aujourd'hui ma méthode pour y parvenir, qui une fois rôdée va très vite :

Mise en place

Config iTunes recommandée

Dans Edition/Préférences - onglet Avancé, cocher :

  • Maintenir organisé le dossier iTunes Music
  • Copier les fichiers dans le dossier iTunes Music lors de l'ajout à la bibliothèque

Ce n'est pas un prérequis, mais ça permet de s'y retrouver correctement dans ses fichiers.

MusicBrainz Picard

C'est ce magnifique tagger qui fait tout le boulot.
Il est disponible ici : http://musicbrainz.org/doc/PicardDownload
Une fois installé, je vous conseille de cocher Options/Renommer les fichiers et Options/Déplacer les fichiers, puis dans Options/Options/File Naming choisissez où déplacer les fichiers taggés, toujours dans le but d'organiser ses fichiers correctement. Pour qu'il trouve automatiquement les pochettes des albums, installez ce plugin : coverart.py. (Il suffit d'enrtegistrer le fichier coverart.py dans le dossier plugins de Picard, habituellement C:\Program Files\Musicbrainz Picard\plugins)

Tagger un/des albums dans Picard

  • Cliquez sur 'Ajouter un dossier' et choisissez votre dossier à tagger
  • Vérifiez que les tags trouvés (à droite) correspondent bien
  • Sélectionner les albums correctement taggés puis cliquez sur 'Enregistrer'
  • Vous n'avez plus qu'à faire glisser dans iTunes votre album taggé !

Album non reconnu

Cela arrive, il est possible de faire une recherche manuelle :
Dans Picard, dans la boîte de recherche en haut à droite, tapez le nom de l'artiste et/ou de l'album recherché et validez. Recherchez l'album sur le site MusicBrainz, puis cliquez sur 'tagger' lorsqu'il est trouvé.

Album pas dans la base

La base, aussi bien remplie soit elle, ne peut contenir tous les albums existants. Si vous ne trouvez pas un album, Picard peut vous aider à le tagger selon les noms des fichiers.
Pour cela, sélectionnez les fichiers à tagger puis allez dans Outils/Tags depuis les noms de fichier. Entrez le format des noms de fichier, par exemple si vos noms de fichiers sont au format 'artiste - album - numero_piste - titre.mp3', tapez '%artist% - %album% - %tracknumber% - %title%' et validez. Si les noms de fichier sont du type Track01.mp3, Track02.mp3 vous ne pourrez tagger ainsi que le numero de piste : 'Track%tracknumber%', et vous devrez tagger le reste de l'album à la main !

Que CoverFlow soit avec vous !

mercredi 25 février 2009

Coda.fm

Disclaimer : Le téléchargement illégal c'est le mal, les majors ne s'en remplissent pas les poches, donc ne téléchargez que ce que vous possédez déjà légalement.

Coda.fm est un site de liens .torrent d'albums de musique très agréable à consulter. Pour chaque album sont fournis la pochette, une description, la playlist, et une liste de recommandations si vous aimez l'album en question ! Une fiche pour chaque artiste, ainsi qu'un tri par genre des albums sont également disponibles.
Bonne écoute : http://coda.fm/

Speckly

Disclaimer : Le téléchargement illégal c'est le mal, les majors ne s'en remplissent pas les poches, donc ne téléchargez que ce que vous possédez déjà légalement.

Speckly est un méta-moteur de recherche qui liste les résultats de 10 moteurs de recherche de .torrent et les classe par nombre de sources.
La magie opère ici : http://www.speckly.com/

- page 1 de 2