Tutoriel Currency Converter - Inside Mac OS X

La page est créée Damien Gerard
 
CONTINUER À LIRE
Tutoriel Currency Converter - Inside Mac OS X
Inside Mac OS X

Tutoriel Currency Converter
pour AppleScript Studio 1.2

trad.applescript.free.fr
18 septembre 2003
Made with LATEX 2ε on iBook
Tutoriel Currency Converter - Inside Mac OS X
Tutoriel Currency Converter - Inside Mac OS X
Préambule

Ce guide n’est absolument pas une traduction officielle de la Société Apple.
Ce tutoriel est extrait du guide “Inside Mac OS X : Building Applications
With AppleScript Studio”.
Ce guide a été entièrement composé et produit avec un logiciel libre et
gratuit, une distribution de LATEX 2ε . Pour ceux qui ne connaissent pas,
essayez-le, malgré son aspect austère et déroutant au premier abord, les
documents obtenus dépassent largement les traitements de texte conven-
tionnels, la preuve ici. :-))
Ce guide n’est pas exempt d’erreurs de frappe ou d’interprétation et je vous
prie de m’en excuser. Si vous constatez des erreurs ou des oublis, je vous
remercie de bien vouloir me faire remonter l’information à cette adresse :
trad.applescript@free.fr afin de les corriger dans une prochaine version.
Dans l’espoir que cette version française comblera l’attente de tous les uti-
lisateurs francophones, je vous souhaite une bonne lecture.

                                                    Nicolas

Marques déposées.
Apple, le logo Apple, AppleScript, Finder, Mac, Macintosh et PowerBook sont des marques
déposées de Apple Computer Inc.
Toutes les autres marques sont la propriété de leurs détenteurs respectifs.
Tutoriel Currency Converter - Inside Mac OS X
Tutoriel Currency Converter - Inside Mac OS X
Table des matières

Préambule                                                                      I

Tutoriel Currency Converter                                                    1
  Préparation de l’application . . . . . . . . . . . . . . . . . . . . . .    2
  Création du projet . . . . . . . . . . . . . . . . . . . . . . . . . . .    2
  Construction de l’interface . . . . . . . . . . . . . . . . . . . . . . .    4
       Lancez Interface Builder . . . . . . . . . . . . . . . . . . . . .      4
       Ajustez certains attributs de la fenêtre de “Currency Converter”       5
       Ajoutez les champs de saisie et leurs étiquettes . . . . . . . .       9
       Ajoutez un champ et une étiquette pour le résultat . . . . . .        16
       Ajoutez des “numbers formatters” pour les champs de saisie
              et résultat . . . . . . . . . . . . . . . . . . . . . . . . .   17
       Ajoutez le bouton “Convert” . . . . . . . . . . . . . . . . . .         20
       Ajoutez le séparateur horizontal . . . . . . . . . . . . . . . . .     21
       Finalisez la mise en page . . . . . . . . . . . . . . . . . . . . .     21
  Connexion de l’interface . . . . . . . . . . . . . . . . . . . . . . . .     22
  Écriture des gestionnaires . . . . . . . . . . . . . . . . . . . . . . .    25
  Construction et exécution de l’application . . . . . . . . . . . . . .      26

                                     III
Tutoriel Currency Converter - Inside Mac OS X
Tutoriel Currency Converter - Inside Mac OS X
Liste des illustrations

1    La fenêtre de l’application “Currency Converter” . . . . . . .          .   2
2    Choix du type de projet dans Project Builder . . . . . . . . .           .   3
3    Un projet avec tous les groupes développés . . . . . . . . . . .       .   3
4    Les fenêtres d’Interface Builder lors de l’ouverture du fi-
     chier MainMenu.nib . . . . . . . . . . . . . . . . . . . . . . . .       .   4
5    Sélection du titre de l’instance “Window” de “MainMenu.nib”             .   5
6    La fenêtre par défaut du projet “Currency Converter” . . . .           .   6
7    Le panneau “Attributes” de la fenêtre Info d’un objet window            .   6
8    La fenêtre Info après retitrage de la fenêtre de “Currency
     Converter” . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     .   7
9    Les réglages finaux des attributs de la fenêtre de “Cur-
     rency Converter” . . . . . . . . . . . . . . . . . . . . . . . . .       .    7
10   Le panneau “Size” de la fenêtre de “Currency Converter” . .             .    8
11   La fenêtre de “Currency Converter” après modification . . . .          .    9
12   Le panneau “Cocoa-Views” . . . . . . . . . . . . . . . . . . .           .   10
13   Positionnement du champ texte servant à saisir le taux . . . .          .   10
14   Redimensionnement du champ servant pour le taux . . . . . .              .   11
15   Le panneau “Attributes” de la fenêtre Info du champ taux . .            .   11
16   La fenêtre Info après indication du nom AppleScript du
     champ devant recevoir le taux . . . . . . . . . . . . . . . . . .        .   12
17   La fenêtre Nib montrant l’objet “AppleScript Info” (non
     sélectionné) . . . . . . . . . . . . . . . . . . . . . . . . . . . .   .   13
18   Positionnement de l’étiquette du taux . . . . . . . . . . . . . .       .   13
19   Redimensionnement de l’étiquette du taux . . . . . . . . . . .          .   14
20   La fenêtre Info après réglage du texte et des attributs de
     l’étiquette du taux . . . . . . . . . . . . . . . . . . . . . . . .     .   14
21   Le champ étiquette du taux . . . . . . . . . . . . . . . . . . .        .   15
22   La fenêtre de “Currency Converter” avec les champs de
     saisie et étiquette . . . . . . . . . . . . . . . . . . . . . . . . .   .   16

                                      V
Tutoriel Currency Converter - Inside Mac OS X
VI                                                           Liste des Illustrations

     23   La fenêtre de “Currency Converter” avec les champs pour
          le résultat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   16
     24   La fenêtre Info à obtenir . . . . . . . . . . . . . . . . . . . . . .    17
     25   Association d’un objet “number formatter” au champ du taux .               18
     26   Le panneau “Formatter” du champ du taux . . . . . . . . . . .              19
     27   Le panneau “Formatter” du champ du résultat . . . . . . . . .             20
     28   La fenêtre de “Currency Converter” avec le bouton “Convert” .             20
     29   La fenêtre de “Currency Converter” avec le séparateur horizontal         21
     30   La partie de la fenêtre Info permettant de spécifier le
          raccourci-clavier . . . . . . . . . . . . . . . . . . . . . . . . . . .    22
     31   Spécification du raccourci-clavier du bouton “Convert” . . . . .          22
     32   La fenêtre Info après connexion du gestionnaire Clicked
          au bouton “Convert” . . . . . . . . . . . . . . . . . . . . . . . .        23
     33   La fenêtre Info après le choix du gestionnaire Should Quit
          After Last Window Closed . . . . . . . . . . . . . . . . . . . . .         24
     34   L’application “Currency Converter” après une conversion réussie          27
Tutoriel Currency Converter - Inside Mac OS X
Tutoriel Currency Converter

Dans ce tutoriel, vous allez créer une application AppleScript Studio servant
à convertir des dollars en une autre monnaie. Ce tutoriel décrit un certain
nombre de tâches communes à la plupart des applications AppleScript Stu-
dio, comme :
• la création d’un projet avec Project Builder
• la construction de l’interface avec Interface Builder :
        - insertion et initialisation des objets d’interface
        - respect des directives de l’Aqua guidelines
        - connexion de l’interface avec les gestionnaires du script
• l’écriture des gestionnaires
• la construction et l’exécution de l’application
Pour construire l’application “Currency Converter”, vous suivrez ces étapes :

      1. Préparation de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

      2. Création du projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

      3. Construction de l’interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

      4. Connexion de l’interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

      5. Écriture des gestionnaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

      6. Construction et exécution de l’application . . . . . . . . . . . . . . . . . . . . . . 26

Note :
Depuis la version 2.0 de Project Builder, vous pouvez spécifier le nombre
de fenêtres à utiliser dans votre projet, ce réglage est à effectuer dans le
panneau préférences “Task Templates”. Ce tutoriel suppose que vous avez
choisi le mode “Single Window” (fenêtre unique), lequel émule le style utilisé
par les versions précédentes de Project Builder.
Tutoriel Currency Converter - Inside Mac OS X
2                                                                                    Création du projet

                         Préparation de l’application
                         L’application Currency Converter devra permettre à l’utilisateur de saisir le
                         taux de conversion et la somme à convertir, puis de cliquer sur un bouton
                         pour voir le résultat - la conversion dans la nouvelle monnaie. L’application
                         ne requerra qu’une seule fenêtre, laquelle pourra ressembler à celle montrée
                         dans l’illustration suivante.

                                     Fig. 1 - La fenêtre de l’application “Currency Converter”

                         L’utilisateur saisira les valeurs dans les deux premiers champs, puis cliquera
                         sur le bouton pour obtenir la conversion dans le troisième champ. Un trait
                         horizontal séparera la partie saisie du bouton “Convert”.

                         Création du projet
                         Pour créer un projet, suivez ces étapes :
                            1. Ouvrez l’application Project Builder, localisée dans le répertoire /
                               Developer/Applications.
                            2. Choisissez “New Project. . .” dans le menu File. Vous devez obtenir la
                               même boı̂te de dialogue que celle de l’illustration 2.
                            3. Sélectionnez un des modèles d’application AppleScript Studio. Pour
                               cet exemple, choisissez le modèle “AppleScript Application”, puis cli-
                               quez sur le bouton “Next”. Donnez le nom “Currency Converter” à
                               votre projet et choisissez un emplacement pour la sauvegarde.
                               L’illustration 3 montre le nouveau projet après ouverture de plusieurs
                               groupes du panneau “Groups & Files”. Vous pouvez enregistrer le
                               projet en appuyant sur Cmd + S ou en choisissant le menu “Save”
                               dans le menu “File”.

Traduction : trad.applescript   18/9/2003                                Tutoriel Currency Converter
Création du projet                                                                                      3

             Fig. 2 - Choix du type de projet dans Project Builder

              Fig. 3 - Un projet avec tous les groupes développés

À cet instant, vous pouvez construire le projet et créer une application fonc-
tionnelle, avec une fenêtre qui peut être agrandie, réduite et fermée. L’appli-
cation pourra afficher une fenêtre “À propos de. . .” et répondre à un certain
nombre de menus. Ces caractéristiques sont fournies par le framework Co-
coa, sans aucun travail de votre part. Par contre, pour arriver à faire la
conversion, l’application aura besoin de vos services.
Pour construire et lancer l’application dans Project Builder, suivez au choix
une de ces manières :
• appuyez sur Cmd + R
• choisissez “Build and Run” dans le menu “Build”
• cliquez sur l’icone “Build and Run”, icone visible dans l’illustration 3

Tutoriel Currency Converter                                       Traduction : trad.applescript   18/9/2003
4                                                                                               Construction de l’interface

                         Pour revenir au mode création, il vous suffit de quitter l’application.

                         Construction de l’interface
                         Pour construire l’interface, vous suivrez ces étapes :

                                1. Lancez Interface Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
                                2. Ajustez certains attributs de la fenêtre de “Currency Converter” 5
                                3. Ajoutez les champs de saisie et leurs étiquettes . . . . . . . . . . . . . . . . . . 9
                                4. Ajoutez un champ et une étiquette pour le résultat . . . . . . . . . . . . . 16
                                5. Ajoutez le bouton “Convert” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
                                6. Ajoutez le séparateur horizontal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
                                7. Finalisez la mise en page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

                         Lancez Interface Builder

                         Lorsque vous créez un projet avec Project Builder, le projet contient auto-
                         matiquement un fichier nib par défaut nommé MainMenu.nib. Pour lancer
                         Interface Builder, double-cliquez sur l’icone de ce fichier. Vous devez norma-
                         lement obtenir les mêmes fenêtres que dans l’illustration suivante.

                         Fig. 4 - Les fenêtres d’Interface Builder lors de l’ouverture du fichier
                                    MainMenu.nib

Traduction : trad.applescript   18/9/2003                                                    Tutoriel Currency Converter
Construction de l’interface                                                                             5

Ajustez certains attributs de la fenêtre de “Currency Conver-
ter”

Dans cette section, vous allez modifier la fenêtre par défaut afin de régler
certains attributs. Pour modifier la fenêtre par défaut, suivez ces étapes :
  1. Dans la fenêtre “MainMenu.nib” d’Interface Builder, double-cliquez
     sur le texte “Window” dans le titre de l’instance “Window”. Le résultat
     est visible dans l’illustration suivante.

    Fig. 5 - Sélection du titre de l’instance “Window” de “MainMenu.nib”

  2. Saisissez “Currency Converter” (sans les guillemets) comme nom de la
     nouvelle instance. Cette étape modifie uniquement le nom de l’instance
     et non le titre de la fenêtre, mais c’est une bonne habitude de toujours
     nommer les instances de façon à facilement les identifier.
  3. L’illustration 6 présente la fenêtre par défaut de l’instance “Currency
     Converter”. Notez que “Window” est encore le titre de la fenêtre.
     Cliquez une fois dans cette fenêtre et ouvrez sa fenêtre Info (soit avec
     le menu “Show Info” du menu “Tools”, soit avec Cmd + Shift + I).
     La fenêtre Info , avec le panneau “Attributes” affiché, est visible dans
     l’illustration 7.
     La fenêtre Info affiche les informations sur l’objet sélectionné, elle af-
     fiche par défaut le panneau “Attributes” ou le dernier panneau affiché
     lors d’une précédente ouverture. Si le panneau “Attributes” n’est pas
     visible, utilisez le menu déroulant ou appuyez sur Cmd + 1 pour l’af-
     ficher.
  4. Pour retitrer la fenêtre, saisissez simplement “Currency Converter”
     dans le champ “Window Title”, comme dans l’illustration 8.
  5. Dans la section “Controls”, décochez la case “Resize” - vous interdirez
     ainsi le redimensionnement de la fenêtre de “Currency Converter”.

Tutoriel Currency Converter                                      Traduction : trad.applescript   18/9/2003
6                                                                            Construction de l’interface

                                   Fig. 6 - La fenêtre par défaut du projet “Currency Converter”

                                Fig. 7 - Le panneau “Attributes” de la fenêtre Info d’un objet window

                                 Plus tard, vous ajouterez un gestionnaire pour quitter l’application
                                 lorsqu’un utilisateur fermera la fenêtre.
                                 Notez que, bien que vous ayez désactivé le redimensionnement de la
                                 fenêtre, la fenêtre de “Currency Converter” a encore un contrôle de
                                 redimensionnement dans Interface Builder, ainsi vous pouvez la re-
                                 dimensionner lors de vos travaux sur l’interface. Mais lorsque vous
                                 construirez et lancerez l’application, la fenêtre n’aura plus ce contrôle
                                 de redimensionnement.

Traduction : trad.applescript   18/9/2003                                  Tutoriel Currency Converter
Construction de l’interface                                                                               7

 Fig. 8 - La fenêtre Info après retitrage de la fenêtre de “Currency Converter”

     Vous n’avez pas besoin de modifier les réglages par défaut des autres
     attributs. Les réglages finaux sont visibles dans l’illustration 9. Pour
     plus d’informations sur les autres attributs, voir l’aide d’Interface Buil-
     der ou la classe NSWindow dans la documentation Cocoa.

Fig. 9 - Les réglages finaux des attributs de la fenêtre de “Currency Converter”

  6. Pour redimensionner la fenêtre de “Currency Converter”, faites glisser
     le contrôle de redimensionnement situé dans le coin inférieur droit. La
     fenêtre redimensionnée devra ressembler à celle de l’illustration 1.
     Au lieu de déplacer le contrôle de redimensionnement, vous pouvez

Tutoriel Currency Converter                                        Traduction : trad.applescript   18/9/2003
8                                                                            Construction de l’interface

                                régler la taille de la fenêtre au pixel près. Utilisez le menu déroulant
                                ou appuyez sur Cmd + 3 pour afficher le panneau “Size” dans la fenêtre
                                Info. Le panneau “Size” est visible dans l’illustration ci-dessous.

                                Fig. 10 - Le panneau “Size” de la fenêtre de “Currency Converter”

                                Pour modifier la taille, saisissez de nouvelles valeurs dans les champs
                                sous le menu déroulant “Width/Height”. Les dimensions de la fenêtre
                                de l’illustration 1 sont : 320 pixels pour la largeur (width) et 180 pixels
                                pour la hauteur (height).
                                Le menu déroulant “Bottom/Left” détermine la position de la fenêtre
                                dans l’écran lors de son ouverture. Vous pouvez, soit déplacer la fenêtre
                                à la position désirée, soit modifier les valeurs dans le panneau “Size”.
                                Plusieurs éléments du panneau “Size” ont des valeurs par défaut qui
                                n’ont pas besoin d’être modifiées pour “Currency Converter”. Par
                                exemple, l’image d’une fenêtre entourée par des ressorts contrôle le
                                comportement de celle-ci lors du redimensionnement, mais comme
                                vous l’avez désactivé précédemment, vous n’avez pas à vous en
                                préoccuper.
                            7. Après avoir fait tous ces changements, la fenêtre de “Currency Conver-
                               ter” devrait ressembler à l’illustration 11.

Traduction : trad.applescript   18/9/2003                                 Tutoriel Currency Converter
Construction de l’interface                                                                              9

       Fig. 11 - La fenêtre de “Currency Converter” après modification

Ajoutez les champs de saisie et leurs étiquettes

Dans cette section, vous allez exécuter des étapes qui peuvent être appliquées
à tout développement d’application AppleScript Studio, comprenant :
• le glissement d’objets d’interface dans la fenêtre de votre application
• le positionnement et le redimensionnement d’objets afin de respecter
  l’Aqua guidelines
• l’utilisation de la fenêtre Info d’Interface Builder pour régler les attributs
  et préparer les objets au scripting
L’application “Currency Converter” a besoin de champs textes pour la saisie
du taux de conversion et la somme à convertir. Chacune de ces entrées a
besoin d’une étiquette.
Pour ajouter des champs de saisie et des étiquettes à la fenêtre de “Currency
Converter”, suivez ces étapes :

   1. Cliquez sur l’icone de “Cocoa-Views” dans la barre d’outils de la pa-
      lette. Le panneau “Cocoa-Views” est visible dans l’illustration 12.
      Pour afficher la bulle d’aide décrivant l’icone (et le panneau qu’il
      sélectionne), positionnez le curseur de la souris au-dessus et attendez
      quelques secondes.
      De même, laisser quelques instants le curseur de la souris au-dessus
      d’un objet d’interface affiche sa classe Cocoa (comme NSButton ou
      NSTextField).
      Vous pouvez voir que le panneau fournit plusieurs sortes de boutons.
      Chaque bouton a une apparence distincte basée sur son type de bouton
      (bouton rond, bouton carré, bouton poussoir, case à cocher, etc. . .).
      Les boutons radios font actuellement partie des objets “matrix” - un

Tutoriel Currency Converter                                       Traduction : trad.applescript   18/9/2003
10                                                                         Construction de l’interface

                                groupe de cellules qui fonctionnent ensemble pour supporter la fonction
                                des boutons radios.
                                Notez que vous pouvez modifier la barre d’outils de la palette en choi-
                                sissant “Customize Toolbar” dans le sous-menu “Palettes” du menu
                                “Tools” d’Interface Builder. Si, par exemple, vous ne voyez pas l’icone
                                “AppleScript” (l’icone le plus à gauche dans l’illustration 12) dans la
                                barre d’outils, vous pouvez l’ajouter en la personnalisant.

                                              Fig. 12 - Le panneau “Cocoa-Views”

                            2. Faites glisser un objet text field de la palette vers la fenêtre de “Cur-
                               rency Converter”. Positionnez le champ texte dans le coin supérieur
                               droit, aidez-vous des guides pour aligner ce champ en respectant l’Aqua
                               guidelines, comme dans l’illustration 13. Ce champ servira pour la sai-
                               sie du taux de conversion.

                                 Fig. 13 - Positionnement du champ texte servant à saisir le taux

                            3. Sélectionnez le champ texte, puis faites glisser la poignée de sélection
                               située au centre du bord gauche du champ, comme dans l’illustra-

Traduction : trad.applescript   18/9/2003                                Tutoriel Currency Converter
Construction de l’interface                                                                            11

     tion 14. Pour l’instant, ne vous inqiétez pas sur la largeur à prévoir,
     vous l’ajusterez plus tard si cela ne convient pas.

        Fig. 14 - Redimensionnement du champ servant pour le taux

  4. Avec le champ du taux sélectionné, ouvrez le panneau “Attributes” de
     la fenêtre Info. Le résultat à obtenir est visible dans l’illustration 15.

     Fig. 15 - Le panneau “Attributes” de la fenêtre Info du champ taux

  5. Dans la section “Alignment”, cliquez sur le bouton du milieu pour
     aligner à droite le texte dans le champ.
  6. Pour fournir un nom AppleScript au champ taux (afin de pouvoir y

Tutoriel Currency Converter                                      Traduction : trad.applescript   18/9/2003
12                                                                          Construction de l’interface

                                accéder dans les scripts), appuyez sur Cmd + 6 pour afficher le panneau
                                “AppleScript” de la fenêtre Info, puis saisissez “rate” dans le champ
                                “Name”. Le résultat à obtenir est visible dans l’illustration 16.

                         Fig. 16 - La fenêtre Info après indication du nom AppleScript du champ devant
                                    recevoir le taux

                                Il est tout à fait possible de donner le même nom AppleScript à plu-
                                sieurs éléments d’une même fenêtre, mais alors vous ne pourrez plus
                                les différencier par leur nom dans vos scripts.
                                Notez que la première fois que vous modifierez le panneau “Apple-
                                Script”, Interface Builder ajoutera une nouvelle instance nommée
                                “AppleScript Info” à la fenêtre Nib. Cette instance est visible dans
                                l’illustration 17.
                                Notez que l’illustration 17 montre l’onglet “Instances” de la fenêtre
                                de “MainMenu.nib” en présentation par icones. Vous pouvez aussi le
                                visualiser en mode liste, en cliquant sur l’icone de “outline view” situé
                                au dessus de l’ascenseur vertical.

Traduction : trad.applescript   18/9/2003                                Tutoriel Currency Converter
Construction de l’interface                                                                             13

Fig. 17 - La fenêtre Nib montrant l’objet “AppleScript Info” (non sélectionné)

     La présentation en mode liste est très pratique pour la visualisation
     des hiérarchies et des connexions, et pour la sélection rapide d’éléments
     imbriqués.
  7. Pour ajouter l’étiquette du champ devant recevoir le taux, faites glisser
     un objet “label text field”, l’objet avec le texte “System Font Text”,
     depuis la palette vers la fenêtre de “Currency Converter”. Aidez-vous
     des guides pour positionner ce champ dans le coin supérieur gauche
     afin de respecter l’Aqua guidelines, comme dans l’illustration 18.

               Fig. 18 - Positionnement de l’étiquette du taux

  8. Comme dans une des étapes précédentes, redimensionnez l’étiquette à
     l’aide des poignées de redimensionnement comme dans l’illustration 19.
  9. Avec l’étiquette sélectionnée, ouvrez sa fenêtre Info et affichez le pan-
     neau “Attributes”. Puis faites ces ajustements :
     • Saisissez “Exchange Rate per Dollar” dans le champ “Title”, c’est
       le texte de l’étiquette. Si le texte apparaı̂t tronqué, votre étiquette

Tutoriel Currency Converter                                       Traduction : trad.applescript   18/9/2003
14                                                                             Construction de l’interface

                                        Fig. 19 - Redimensionnement de l’étiquette du taux

                                  doit être agrandie afin d’afficher le texte en entier.
                                • Dans la section “Alignment”, cliquez sur le bouton du milieu, afin
                                  d’aligner à droite le texte de l’étiquette.
                                L’illustration 20 présente la fenêtre Info à obtenir ; l’illustration 21
                                présente le champ de l’étiquette. Notez que ce champ, comme un
                                champ de saisie, est basé sur la classe NSTextField.

                         Fig. 20 - La fenêtre Info après réglage du texte et des attributs de l’étiquette du
                                    taux

                           10. Enregistrez toutes vos modifications faites dans Interface Builder - elles

Traduction : trad.applescript   18/9/2003                                   Tutoriel Currency Converter
Construction de l’interface                                                                          15

                    Fig. 21 - Le champ étiquette du taux

     seront enregistrées dans le fichier “MainMenu.nib”.
 11. Pour ajouter les champs devant servir à spécifier la somme à convertir,
     vous pouvez répéter les étapes précédentes :
      (a) Faites glisser un champ texte dans la fenêtre de “Currency
          Converter”, alignez le sous le champ du taux.
      (b) Redimensionnez ce champ.
      (c) Réglez ses attributs.
      (d) Donnez-lui comme nom AppleScript “amount”.
      (e) Ajoutez un champ étiquette, alignez le sous le champ étiquette
          précédent.
      (f) Nommez-le “Dollars to convert” et alignez le à droite.
     Ou autre solution, vous pouvez utiliser la commande “Duplicate” d’In-
     terface Builder pour dupliquer les deux premiers champs déjà créés,
     puis fournir un nouveau texte pour l’étiquette et un nouveau nom
     AppleScript :
      (a) Sélectionnez les deux premiers champs, soit avec Shift + clic, soit
          en faisant glisser le curseur de la souris, puis choisissez “Dupli-
          cate” du menu “File” ou appuyez sur Cmd + D.
      (b) Faites glisser les champs dupliqués, en vous aidant des guides,
          afin de les aligner avec les champs originaux.
      (c) Sélectionnez le nouveau champ étiquette et dans le panneau “At-
          tributes”, saisissez “Dollars to Convert” dans le champ “Title”.
      (d) Pour donner un nom AppleScript au nouveau champ de saisie ser-
          vant à spécifier la somme à convertir, sélectionnez le champ, ou-
          vrez le panneau “Attributes” et saisissez “amount” dans le champ
          “Name”.
L’illustration 22 montre la fenêtre de “Currency Converter” avec ces deux
nouveaux champs.

Tutoriel Currency Converter                                    Traduction : trad.applescript   18/9/2003
16                                                                         Construction de l’interface

                         Fig. 22 - La fenêtre de “Currency Converter” avec les champs de saisie et
                                    étiquette

                         Ajoutez un champ et une étiquette pour le résultat

                         Dans cette section, vous allez ajouter un champ servant afficher le résultat
                         de la conversion ainsi que son étiquette.

                            1. Pour ajouter un champ texte et une étiquette pour le résultat, suivez
                               ces étapes :

                                 (a) Sélectionnez les champs servant à la saisie de la somme à conver-
                                     tir, soit avec Shift + clic, soit avec le curseur de la souris, puis
                                     dupliquez-les.
                                 (b) Faites glisser les champs dupliqués et alignez-les sous les champs
                                     originaux en vous aidant des guides.
                                 (c) Sélectionnez la nouvelle étiquette et saisissez “Amount in Other
                                     Currency” dans le champ “Title” de son panneau “Attributes”.
                                 (d) Sélectionnez le nouveau champ de saisie et saisissez “Total” dans
                                     le champ “Name” de son panneau “AppleScript”.

                                L’illustration 23 présente la fenêtre de “Currency Converter” avec les
                                champs pour le résultat.

                          Fig. 23 - La fenêtre de “Currency Converter” avec les champs pour le résultat

Traduction : trad.applescript   18/9/2003                                Tutoriel Currency Converter
Construction de l’interface                                                                           17

  2. L’utilisateur ne devra pas pouvoir saisir de données dans le champ
     devant afficher le résultat, aussi vous avez besoin de rendre indisponible
     ce champ. Sélectionnez le champ, affichez le panneau “Attributes” et
     décochez la case “Editable” de la section “Options”. L’illustration 24
     montre le panneau à obtenir.

                      Fig. 24 - La fenêtre Info à obtenir

Enregistrez votre travail avant de passer à la section suivante.

Ajoutez des “numbers formatters” pour les champs de saisie
et résultat

L’application “Currency Converter” devra autoriser les utilisateurs à sai-
sir uniquement des valeurs significatives, et elle devra afficher un résultat
correctement formatté :
• le champ servant pour le taux devra accepter et afficher des nombres
  décimaux comme 1.55 ou 10.24.
• le champ servant pour la somme à convertir devra afficher des sommes
  valides, comme 125.20.
• le champ servant pour le résultat devra afficher le total dans la monnaie
  locale, comme les dollars ($600.10) ou les yens (U1700.00)

Tutoriel Currency Converter                                     Traduction : trad.applescript   18/9/2003
18                                                                         Construction de l’interface

                         Pour formater le texte d’un champ texte, Interface Builder fournit les “num-
                         ber formatters” (basés sur la classe Cocoa NSNumberFormatter). Dans le
                         panneau “Cocoa-Views” de l’illustration 12 (page 10), l’objet “number for-
                         matter” est représenté par le nombre 1.99 avec le signe dollar.
                          Important : Lorsqu’un “number formatter” est attaché à un champ texte,
                          son contenu devra obligatoirement être un nombre et non un texte.
                         Pour fournir des “number formatters” aux champs textes de “Currency
                         Converter”, suivez ces étapes :

                            1. Sélectionnez le champ du taux dans la fenêtre de “Currency Conver-
                               ter”.
                            2. Ouvrez son panneau “Attributes”.
                            3. Affichez le panneau “Cocoa-Views” d’Interface Builder.
                            4. Faites glisser un objet “number formatter” du panneau “Cocoa-Views”
                               sur le champ du taux, comme dans l’illustration 25.

                                Fig. 25 - Association d’un objet “number formatter” au champ du taux

                                 L’illustration 26 montre la fenêtre Info du “number formatter”. Le pan-
                                 neau “Formatter” s’ouvre automatiquement lorsque vous associez un
                                 “number formatter” à un champ texte. Vous pouvez aussi sélectionner
                                 le panneau depuis le menu déroulant ou en appuyant sur Cmd + 7.
                                 Les réglages par défaut du panneau “Formatter” convenant pour ce
                                 champ, vous n’avez pas besoin de les modifier.
                                 Notez qu’en visualisant le fichier “MainMenu.nib” de “Currency
                                 Converter” en mode liste, vous pouvez examiner la hiérarchie des ob-
                                 jets de l’application, et voir chaque objet number formatter associé

Traduction : trad.applescript    18/9/2003                               Tutoriel Currency Converter
Construction de l’interface                                                                         19

            Fig. 26 - Le panneau “Formatter” du champ du taux

     avec les champs.

  5. Répétez les étapes précédentes pour ajouter un “number formatter”
     au champ de la somme à convertir. Sa fenêtre Info devrait ressembler
     à celle de l’illustration 26.

  6. Sélectionnez la seconde ligne du panneau “Formatter”, ainsi le champ
     comporte le signe Dollar.

  7. Répétez les étapes précédentes pour ajouter un “number formatter”
     au champ affichant le résultat. Sa fenêtre Info devrait ressembler à
     celle de l’illustration 26. De même, sélectionnez le format comportant
     le signe Dollar.

  8. Comme le résultat pourrait afficher une monnaie différente de celle du
     Dollar, cochez la case “Localize” dans la section “Options”. L’illustra-
     tion 27 montre le résultat à obtenir.

Pour plus d’informations sur les “numbers formatters”, voir l’aide d’Interface
Builder ou la documentation Cocoa sur la classe NSNumberFormatter.

Tutoriel Currency Converter                                   Traduction : trad.applescript   18/9/2003
20                                                                          Construction de l’interface

                                       Fig. 27 - Le panneau “Formatter” du champ du résultat

                         Ajoutez le bouton “Convert”

                         Pour ajouter le bouton “Convert” à l’application “Currency Converter”,
                         suivez ces étapes :

                            1. Faites glisser un objet button du panneau “Cocoa-Views” sur la fenêtre
                               de “Currency Converter”. Placez le dans le coin inférieur droit, servez
                               vous des guides pour aligner le côté droit du bouton avec le côté droit
                               des champs plus haut.

                            2. Double-cliquez sur le bouton pour sélectionner son texte, puis saisissez
                               “Convert”. L’illustration 28 montre le résultat.

                                Fig. 28 - La fenêtre de “Currency Converter” avec le bouton “Convert”

Traduction : trad.applescript    18/9/2003                                Tutoriel Currency Converter
Construction de l’interface                                                                            21

Ajoutez le séparateur horizontal

Pour ajouter un séparateur horizontal à “Currency Converter”, suivez ces
étapes :

  1. Faites glisser un objet box du panneau “Cocoa-Views” sur la fenêtre de
     “Currency Converter”. L’objet box ressemble à une ligne horizontale.
     Si vous laissez le curseur de la souris au-dessus de cet objet dans la
     palette, Interface Builder affichera “NSBox”.
     Positionnez l’objet box au-dessus du bouton “Convert” mais en-
     dessous des champs textes, avec le bord droit proche du bord droit
     de la fenêtre, servez-vous des guides pour l’aligner.
  2. Faites glisser la poignée de sélection gauche pour redimensionner
     le séparateur, utilisez les guides pour amener le bord gauche du
     séparateur à côté du bord gauche de la fenêtre. L’illustration 29 montre
     le résultat.

  Fig. 29 - La fenêtre de “Currency Converter” avec le séparateur horizontal

Finalisez la mise en page

Dans ce tutoriel, vous avez généralement positionné les objets d’interface
de façon à ce qu’ils soient alignés avec les autres objets et en respectant
l’Aqua guidelines. Toutefois, maintenant que tous les objets d’interface sont
en place, vous pouvez vérifier leur parfait alignement et exécuter d’autres
opérations de mise en page.

  1. Sélectionnez les trois champs étiquettes.
  2. Pour redimensionner au mieux ces champs, choisissez “Size to Fit” du
     menu “Layout”.

Tutoriel Currency Converter                                      Traduction : trad.applescript   18/9/2003
22                                                                                Connexion de l’interface

                            3. Pour aligner à droite les étiquettes, choisissez “Align Right Edges”
                               sous “Alignment” dans le menu “Layout”.
                            4. Maintenant, sélectionnez les trois autres champs.
                            5. Pour qu’ils aient tous la même taille, choisissez “Same Size” du menu
                               “Layout”.
                            6. Pour aligner leurs bords gauches, choisissez “Align Left Edges” sous
                               “Alignment” dans le menu “Layout”.
                            7. Afin d’être sûr qu’ils respectent toujours l’Aqua guidelines, déplacez-
                               les pour faire apparaı̂tre les guides.

                         Pour plus d’informations sur les autres options du menu “Layout”, voir l’aide
                         d’Interface Builder.

                         Connexion de l’interface
                         L’application “Currency Converter” a besoin qu’un gestionnaire soit
                         connecté au bouton “Convert” afin de pouvoir lancer la conversion lors-
                         qu’un utilisateur clique sur ce bouton ou appuie sur la touche Retour. Elle
                         a aussi besoin qu’un autre gestionnaire soit connecté afin de quitter l’appli-
                         cation lorsque sa fenêtre est fermée par l’utilisateur. Ces deux gestionnaires
                         sont à installer dans le script de l’application “Currency Converter”.
                         Pour mettre en place ces connexions, suivez ces étapes dans Interface Buil-
                         der :

                            1. Sélectionnez le bouton “Convert”, puis afficher son panneau “Attri-
                               butes”. L’illustration 30 montre la ligne du panneau “Attributes” ser-
                               vant à spécifier le raccourci-clavier du bouton.

                          Fig. 30 - La partie de la fenêtre Info permettant de spécifier le raccourci-clavier

                                Dans le menu déroulant indiquant , choisissez “Return”. Cela
                                oblige le gestionnaire du bouton “Convert” (le gestionnaire Clicked que
                                vous connecterez plus tard) à être appelé lorsqu’un utilisateur appuie
                                sur la touche Retour. L’illustration 31 montre le résultat.

                                  Fig. 31 - Spécification du raccourci-clavier du bouton “Convert”

Traduction : trad.applescript   18/9/2003                                   Tutoriel Currency Converter
Connexion de l’interface                                                                               23

     Lorsque vous choisissez la touche Retour comme raccourci-clavier du
     bouton, vous désignez ce bouton comme bouton par défaut de la
     fenêtre. Cocoa colore alors automatiquement le bouton en bleu pour
     montrer qu’il s’agit du bouton par défaut.
     Vous pouvez utiliser les cases a cocher situées à droite du menu
     déroulant pour inclure la touche Alt ou Cmd au raccourci-clavier, mais
     cela n’est pas nécessaire pour “Currency Converter”.
  2. Avec le bouton “Convert” toujours sélectionné, affichez son panneau
     “AppleScript”.
  3. Saisissez “convert” comme nom AppleScript du bouton.
  4. Cliquez sur le triangle à côté de la case “Action” et cochez la case
     “clicked”, afin d’insérer un gestionnaire Clicked dans le script de l’ap-
     plication, ce gestionnaire sera appelé lorsque l’utilisateur cliquera sur
     le bouton.
  5. Cochez le fichier Application.applescript dans la liste “Script”
     pour connecter ce gestionnaire. L’illustration 32 montre la fenêtre Info
     obtenue après cette étape.

Fig. 32 - La fenêtre Info après connexion du gestionnaire Clicked au bouton
          “Convert”

  6. Enregistrez vos changements. Cela oblige Interface Builder à insérer
     un gestionnaire Clicked vierge dans le fichier script sélectionné. Si vous

Tutoriel Currency Converter                                      Traduction : trad.applescript   18/9/2003
24                                                                            Connexion de l’interface

                                cliquez sur le bouton “Edit Script”, Interface Builder ouvrira alors
                                le fichier dans Project Builder. Vous verrez le code du gestionnaire
                                Clicked plus tard. Mais pour l’instant, enregistrez juste vos résultats
                                et restez dans Interface Builder pour ajouter un autre gestionnaire.
                            7. Pour que l’application quitte lorsqu’un utilisateur ferme sa fenêtre,
                               vous aurez besoin d’y connecter un gestionnaire spécial. L’illustration 5
                               montre la fenêtre de MainMenu.nib. L’instance File’s Owner de cette
                               fenêtre représente NSApp, une constante globale de l’objet application
                               qui sert comme contrôleur-maı̂tre de l’application.
                                Sélectionnez l’instance File’s Owner et ouvrez son panneau Apple-
                                Script.
                            8. Cliquez sur le triangle à côté de la case “Application” et cochez la
                               case de Should Quit After Last Window Closed. Cocher cette case in-
                               dique que l’application aura ce modèle de gestionnaire, appelé lorsque
                               l’utilisateur ferme sa fenêtre (“Currency Converter” n’a qu’une seule
                               fenêtre).
                            9. Cochez la case du fichier Application.applescript dans la liste
                               “Script” pour connecter le gestionnaire. L’illustration 33 montre la
                               fenêtre Info après cette étape.

                         Fig. 33 - La fenêtre Info après le choix du gestionnaire Should Quit After Last
                                    Window Closed

Traduction : trad.applescript   18/9/2003                                Tutoriel Currency Converter
Écriture des gestionnaires                                                                           25

Écriture des gestionnaires
Lorsque vous connectez un gestionnaire dans Interface Builder et que vous
enregistrez vos changements, Interface Builder insérera automatiquement
dans votre projet Project Builder un gestionnaire vierge. Le listing 1 montre
le gestionnaire Clicked vierge du fichier script Application.applescript.
L’application appelle ce gestionnaire lorsqu’un utilisateur clique sur le bou-
ton “Convert”. Le paramètre theObject est une référence à l’objet bouton
lui-même.

List. 1 - Un gestionnaire Clicked vierge

on clicked theObject
  (* Add your script here. *)
end clicked

Dans le gestionnaire Clicked, l’application “Currency Converter” aura besoin
d’obtenir le taux de change et la somme à convertir, de les multiplier pour
déterminer la conversion et d’afficher le résultat.
Le listing 2 montre le gestionnaire Clicked définitif.
Important
Vous n’avez pas besoin de viser explicitement l’application “Currency
Converter” dans ce script, car lorsque rien n’est spécifié par un bloc tell
"application visée", l’application visée est toujours celle hébergeant le
fichier script. C’est la raison pour laquelle, le gestionnaire Clicked du listing
2 ne contient pas de bloc tell application, mais il utilise une instruc-
tion tell window pour viser la fenêtre dont il veut obtenir le contenu des
différents champs.

List. 2 - Le gestionnaire Clicked définitif

on clicked theObject
  tell window of theObject
    try
      set theRate to contents of text field "rate" as number
      set theAmount to contents of text field "amount"
        as number
      set contents of text field "total" to
        theRate * theAmount
    on error
      set contents of text field "total" to 0

Tutoriel Currency Converter                                     Traduction : trad.applescript   18/9/2003
26                                                        Construction et exécution de l’application

                             end try
                           end tell
                         end clicked

                         Les points-clés de ce gestionnaire sont :
                         • le paramètre theObject référence l’objet bouton cliqué
                         • un bouton, comme d’autres contrôles, est une “view”, et un script peut
                           obtenir la fenêtre d’une “view”
                         • un script peut obtenir la référence de n’importe quel objet d’une fenêtre
                           portant un nom AppleScript (il peut aussi se référer aux éléments par leur
                           numéro - par exemple, the first text field - ou par leur ID, mais les
                           noms sont faciles à spécifier et ne changent pas dynamiquement)
                         • le gestionnaire montre la syntaxe pour obtenir et régler le contenu des
                           champs textes ; lorsqu’un “number formatter” est attaché à un champ
                           texte, son contenu devra être explicitement un nombre, comme dans le
                           listing 2, et non un texte
                         • le gestionnaire utilise un bloc try, on error pour régler le contenu du
                           champ résultat à 0 si une erreur survient dans le calcul de conversion ; cela
                           protège l’utilisateur des possibles messages d’erreur, s’il essaie de convertir
                           sans fournir en même temps un taux de change et une somme à convertir
                         Lorsque vous connectez un gestionnaire dans Interface Builder et que vous
                         cliquez sur le bouton “Edit Script”, Interface Builder insérera un gestion-
                         naire vierge dans le script spécifié et l’ouvrira dans Project Builder. Le
                         listing 3 montre le gestionnaire Should Quit After Last Window Closed
                         complété. Ce gestionnaire est appelé lorsqu’un utilisateur ferme la fenêtre
                         de “Currency Converter”. Lors de cet appel, le gestionnaire retourne true,
                         indiquant à l’application qu’il faut qu’elle quitte puisque sa dernière fenêtre
                         a été fermée.

                         List. 3 - Le gestionnaire Should Quit After Last Window Closed

                         on should quit after last window closed theObject
                           return true
                         end should quit after last window closed

                         Construction et exécution de l’application
                         L’application “Currency Converter” est normalement prête à exécuter les
                         conversions, aussi il est temps de la construire. Pour se faire, utilisez un de
                         ces mécanismes :

Traduction : trad.applescript   18/9/2003                                Tutoriel Currency Converter
Construction et exécution de l’application                                                            27

• appuyez sur Cmd + R
• choisissez “Build and Run” dans le menu “Buid”
• cliquez sur l’icone “Build and Run” (la télévision avec un marteau)
L’illustration 34 montre l’application après réalisation d’une conversion
monétaire. Comme le test a été réalisé sur une machine aux States, la somme
convertie est exprimée en Dollars, mais avec une machine réglée sur une
autre partie du monde, la somme convertie pourra être affichée en Yens ou
en Livres Sterlings.

   Fig. 34 - L’application “Currency Converter” après une conversion réussie

Facile ! ! ! ! :-D

Tutoriel Currency Converter                                      Traduction : trad.applescript   18/9/2003
Vous pouvez aussi lire