Miam des pommes...
05-12
2018

TP n°2 bis - Programmation Mac

But : Terminer le diaporama pour MacOSX…

Technologies : Bindings, FileSystem

Note : le projet sera à rendre par binôme…

Première partie : File System

  1. Modifier le projet du TP n°2 de sorte que les images visualisées dans le diaporama puissent être choisies via l’option File > Open.... Pour cela il faudra utiliser un NSOpenPanel (consulter sa documentation)

Seconde partie : Bindings

  1. On souhaite permettre la modification du délai pour le fondu via un NSSlider. Pour cela il faut :
    1. Modifier la composition Quartz de sorte que le délai soit une entrée publique.
    2. Établir un lien (bindings) entre le potentiomètre et le délai. Attention car ce lien ne peut être direct car on ne peut généralement pas établir de lien vers des objets GUI. par conséquent il est nécessaire de passer par un NSObjectController qui devra être instancié dans le .xib, attaché par son outlet content à la QCView. Ensuite le bindings pourra s’effectuer sur le controller avec comme paramètre Controller Key égal à selection et Model Key Path à patch.ce_qui_va_bien_pour_que_ca_fonctionne....

Troisième partie : Enable/Disable bindings

  1. On souhaite que les boutons qui servent à démarrer et arrêter le diaporama soient actifs ou inactifs lorsque nécessaire. Pour cela il est nécessaire de les lier (via bindings) à un booléen qui représente l’état courant de l’exécution du diaporama :
    1. Rajouter une propriété booléenne à votre QCView qui sera correctement mise à jour lorsque le diaporama est en cours d’exécution ou non (pensez à startRendering et autres méthodes du même acabi - consulter la documentation!)
    2. Effectuer le bindings du bouton d’arrêt à ce booléen ainsi que celui du bouton de démarrage à ce même booléen via de controlleur de la QCView.
    3. Pour l’un de ces deux boutons, il faudra utiliser un Value Transformer dans le binding (un NSNegateBoolean) afin d’obtenir la négation de la condition sur l’exécution.

Quatrième partie : Menu pour les sportifs assoiffés de MacOSX…

  1. Ajouter un menu Style avec deux options mutuellement exclusives permettant de sélectionner une fonction de transition parmi deux possibles (celle déjà développée et une autre composition avec les mêmes paramètres - deux images et un délai). Attention : la manipulation des menus est parfois délicate, car de nombreuses choses peuvent être automatisées mais il faut lire très attentivement la documentation…

Cinquième partie : Livraison

  1. RESPECTEZ IMPÉRATIVEMENT LES CONSIGNES DE LIVRAISON, EN PARTICULIER POUR LES NOMS DES RÉPERTOIRES, ETC., sous peine d’énerver le correcteur qui se retrouvera irremédiablement emberlificoté avec des répertoires et fichiers partout éparpillés… Note : L’énervement du correcteur ne l’aide pas à devenir clément lorsque nécessaire… Attention aussi, les instructions suivantes concernent la version 4.5.2 de xcode, mais l’esprit reste le même pour les versions antérieures (il faut peut-être fouiller un peu).
  2. Fignoler l’application avant de la livrer (la franciser entièrement, lui adjoindre une icône, etc).
  3. Pour livrer l’exécutable (qu’on prendra soin de tester indépendamment de xcode!!!!) il suffit de demander son archivage via Product > Archive. Ensuite sélectionner l’archive correrspondante dans l’organiseur, cliquer sur Distribute..., Export as Application
  4. Pour livrer le code source il faut :
    1. Faire un nettoyage via Product > Clean
    2. Puis créer un cliché (snapshot) du projet, celui-ci ne contiendra que les dernières versions des sources et pas tout l’historique, pour cela File > Create Snapshot.
    3. Aller dans Window > Organizer, choisir l’onglet Projects, sélectionnez le cliché puis cliquer sur le bouton Export Snapshot en bas à gauche…
  5. Préparer un répertoire de nom TPOSX-votre_nom_et_celui_de_vôtre_binome_séparés_par_un- et contenant : le cliché du projet xcode (nettoyé correctement via Clean), l’application obtenue après archivage et un fichier README.txt contenant les noms et prénoms des binômes!
  6. Livrer le tout via UPS, La Poste ou http://www.firstpizzapp.biz/, mais non sur Didel!!! Attention à respecter la date limite… Bien vérifier que ce qui est livré est correct…
  7. Ne pas oublier de rédiger une décharge stipulant : (1) l’abandon de vos droits et (2) autorisant explicitement vos enseignants à faire fortune avec votre merveilleuse application.