Interface Builder : construction d'interface ?

melaure

Chasseur de bobos
Club iGen
24 Octobre 2001
25 793
2 130
55
Le Grand Lyon
Je commence à apprendre l'utilisation des outils de dev et objective C, mais pour l'instant je rame ...

J'aimerais savoir comment ajouter un petit movie quicktime qui tournerait en boucle dans une fenêtre (logo animé). J'ai vu qu'il y avait un objet NSMovieView, mais je ne sais pas comment lui associer le film avec une commande et pouvoir tester l'interface avec le film animé.

Quelqu'un peut-il m'aider ?
 
Heho, y a pas de développeur ici ? Quelqu'un peut-il m'aider ou alros m'indiquer d'autres forums ou je pourrais trouver des programmeurs ?
 
Merci pour le lien. Ce n'est pas facile de trouver des examples quand ceux de tous les systèmes sont mélangés ensemble.

J'ai compris comment inistialiser au chargement mon NSMovie Object grâce à la fonction awakeFromNib. Je ne l'aurais pas trouve sans exemple ...
 
En fait lorsqu'on développe sous cocoa, il y a des automatismes qu'il faut absolument avoir.
A savoir chaque fois que tu as une interface, toutes tes initialisations avant de l'afficher se font dans awakeFromNib qui est une METHODE de ton CONTROLLER et non une fonction. En effet CHAQUE INTERFACE EST ASSOCIE A UN OBJET CONTROLLER materialisé par un cube dans ta NIB.
quand tu crées une interface TOTO, tu DOIS avec Inetrface Builder génerer un objet tctcController dans lequel tu fais des associations (connection dans le langage IB) entre les outlets (déclarés ensuite par IBoutlet xxx) et les éléments de ton interface et entre les boutons et les actions (Methodes que tu dois développer).
la methode awakeFromNib est la PREMIERE METHODE exécutée par le RUNTIME cocoa avant d'afficher toute interface.
D'autre part il faut savoir qu'il existe des méthodes décrites comme étant les 'delegate methods'. Ce sont des méthodes implémentées par un objet désigné comme délégué de ton totoController. Ces méthodes sont en général appelés par le runtime cocoa lorsque surviennent certains évènements comme par exemple la fermeture par l'utilisateur de la fenêtre de ton interface.
Si tu dois faire certains controles c'est à ce moment là. Ces méthodes ont généralement la syntaxe suivante xxxDidyyyy avec xxx= objet concernée (ex: fenetre), et xxx l'action demandée par l'utilisater. exemple windowsDidClose ou applicationDidFinished.
Ces méthodes sont implémentées par le délégué de la fenêtre ou de l'application.
C'est d'ailleurs dans la méthode awakeFromNib que tu dois préciser quels sont les délégués.
Si par exemple tu implémentes tes méthodes délégués dans ton totoController, tu dois dans la methode awakeFromNib dire [fenetre setDelegate:self]; fenetre etant le nom de la fenêtre de mon interface controllée par totoController.
N'oublie pas que fenetre est un IBoutlet déclarée dans totoController, et que tu l"as 'connecté' avec la Fenêtre de ton interface (C'est une instance de l'objet NSWindows).
Il faut ABSOLUMENT comprendre les 2 notions Fondamentales qui font tout le charme de cocoa qui sont :
- La notion de DELEGUE
- La notion de NOTIFICATION CENTER.
Sans cela tu n'utilisera pas bien cocoa et c'est vraiment dommage.
Si tu veux plus de précisions je te les donnerai.
A+
 
Merci beaucoup, je vais réfléchir à ces concepts (je commence la programmation objet) qui me mettent encore un peu mal à l'aise ...