Recommend Me


Jeudi 19 janvier 2006

Créer un prefPane sous OSX

Créer le projet

1. Démarrer XCode

2. Créer un nouveau projet (Entrée “New Project” du menu “File”)

3. Dans l’assistant de créetion de projet, choisir “Cocoa Bundle” dans “Cocoa” et nommer le projet (dans la suite de cet exemple nous créerons un projet “MyPrefPane”)

4. Dans la fenêtre du projet, ajouter le framework PreferencePanes.framework dans “Frameworks and Libraries”. Pour cela faire un Ctrl-clique sur “Frameworks and Libraries” et dans le menu choisir “Add” -> “Existing Frameworks…”. PreferencePanes.framework se trouve dans /System/Library/Frameworks.

Créer le fichier Nib

1. Démarrer Interface Builder.

2. Créer un Nib Cocoa vide (Cocoa -> Empty dans la fenêtre “Starting Point” - “File” -> “New…” si cette fenêtre n’est pas ouverte au démarrage d’Interface builder”)

3. Créer une fenêtre. Pour le paneaux de préférences systeme, la fenêtre ne doit pas avoir une taille de plus de 595 pixels de large. Seul le contenu de la fenêtre est utilisé dans le paneau de préférences, il est donc inutile de donner un titre à la fenêtre.

4. Créer le contenu de la fenêtre.

5. Retourner dans Xcode et trouver le fichier d’entête NSPreferencePane.h dans PreferencePanes.framework. Dragger ce fichier dans la fenêtre principale du Nib d’Interface Builder.

6. Dans le panneau Classes, selectrionner la classe NSPreferencePane at créer une sous classe de NSPreferencePane. Renomer la sous classe créée. Attention à bien éviter les conflits de nom.

7. Selectionner la sous classe créée précédement, ouvrir la fenêtre d’information (Menu Tools -> Show Inspector) et aller dans le panneau Attributes. Créer les outlets et actions nécessaires pour l’interface utilisateur.

8.Dans le panneau d’instance, sélectionnez l’objet File’sOwner. Dans la fenêtre d’information, panneau “Custom Class”, selectionnez la sous-classe de NSPreferencePane que vous avez créée (Cf. 6)

9.Liez l’objet File’s Owner et l’objet window (Control-Drag). Connectez la fenêtre à l’outlet _window.

10.Connectez les autres outlets et actions nécessaires à l’interface.

11.Sauvegardez le fichier nib dans le répertoire English.lproj de votre projet. Quand Interface Builder vous demande si vous souhaitez ajouter le nib au projet, choississez “Ajouter”.

Création des fichiers du PrefPane

Cette section décrit comment créer les fichier sources et comment ajouter l’icône du prefpane dans le projet.

1. Dans Interface Builder, avec le Nib ouvert, sélectionnez dans l’onglet Classes la sous classe NSPreferencePane créée précédement.

2.Choisissez “Create Files” dans le menu contextuel. Sauvegardez les fichiers dans le répertoire de votre projet, vérifiez que l’option “Insert into targets” est bien sélectionnée.

3.Dans Xcode, éditez le fichier d’entête créé en 2. Après la ligne d’import de Cocoa.h, ajoutez la ligne suivante :

#import <PreferencePanes/NSPreferencePane.h>

4.Ajouter l’icone de votre PrefPane dans le dossier Resources de votre projet.

Update the Build Settings

This section describes how to modify the default project settings to produce a custom preference pane bundle. This mostly involves assigning values to the necessary keys in the bundle’s information property list.

1.

Choose Edit Active Target from the Project menu and go to the Bundle Settings pane.
2.

Change the “Identifier” field to an appropriate unique value for the CFBundleIdentifier? key. The value should be prefixed by the reverse domain name of your organization (see “Preventing Name Conflicts”).
3.

Change the “Principal class” field in the Cocoa-specific section to the name of your preference pane subclass. This is the NSPrincipalClass? key.
4.

Change the “Main nib file” field to the name of your nib file. Do not include the .nib extension. This is the NSMainNibFile? key.
5.

Enter Expert mode by clicking the Expert button at the top of the Bundle Settings window. Create a new key by clicking the New Sibling button. Rename the new key NSPrefPaneIconFile? and set its value to the name of your icon file.
6.

Go to the Build Settings pane, scroll to the bottom of the window, and change the WRAPPER_EXTENSION entry value to prefPane.
7.

Select the InfoPlist?.strings file in the project’s Resources folder. Update the CFBundleName? value if it should be different from the project name. Alternatively, you can add an entry for NSPrefPaneIconLabel?, if you need to split the name between two lines.

Build and Install the Preference Pane

This section describes how to make the preference pane available to System Preferences.

1.

Build the project.
2.

In Finder, locate the build directory for the project. The default location is inside the project folder. The preference pane is in this folder.
3.

Move the preference pane into one of the PreferencePanes? family of folders listed in “Where Preference Panes Live”. For testing, use the PreferencePanes? folder in ~/Library?. You may need to create the PreferencePanes? folder.

When you run System Preferences you should now see your preference pane at the bottom of the window in the “Other” category.

• • •

Pas de commentaire »

Pas encore de commentaire.

RSS des commentairesTrackBack URI

Laisser un commentaire

You must be logged in to post a comment.

Powered by: WordPress • Template adapted from the Simple Green' Wench theme - RSS