doc NeXT

PowerMike

Membre actif
26 Avril 2000
583
0
Quelqu'un peut rappeler où trouver la doc Next qui nous renseigner sur les fonctions de ProjectBuilder et Interface Builder avec les descriptions précises de comment faire une palette dynamique et autre ...
 
PM, t'as pas besoin de la dock Next pour cela. En effet tu peux le faire en choisissant le type de projet dans PB. Tu compilera ton projet et un fichier .palette est généré que tu peux récupérer sous IB lorsque tu voudras le réutiliser dans une appli.
Dans /developper/Exemple/... tu as un exemple de palette je crois que c'est progressView. Je ne suis pas devant mon mac actuellement, et je te fais cete réponse en faisant appel à mes souvenir.
Une chose est sûre c'est très facile car c'est un type de projet.
N'oublie quand même pas qu'il te faudra 2 nibs. Une pour tapalette et une autre pour un éventuel inspecteur pour permettre à un développeur de modifier les attributs de ton objet.

A+
 
J'aurais dû être plus claire dès le début ...

Je cherche les lien que toi même nous avais donné sur les anciennes doc Rhapsody (mistake) où ils expliquaient entre autre comment chargé des views dans une fenêtre un truc comme ça.

En fait ce que je veux faire c'est un peu comme les panneaux de préférences de Mail. Lorsque je choisi une option dans le haut de la fenêtre c'est une vue différente qui s'affiche dans le bas de la fenêtre ...

Voilà
 
PM,
Si j'ai bien compris, tu as une fenêtre avec en haut une SplitView scrollable horizontalement (une sorte d'étagère où tu ranges des icônes) et en bas une zone dummyview qui recueillera des view correspondants à une icône. N'est ce pas?
C'est simple, tu dois créer ta fenêtre comme ci-dessus avec une NSMatrice (matrice d'icônes) dans le haut et une CustomView en bas. Dans la même nib tu peux créer autant de views que d'icônes ou tu les mets dans des Bundles que tu chargeras au besoin.
Si ta customview s'appelle defaultView et que tu as des view view1, view2, etc, quand ton user clique sur une icône donc un élément de NSMatrix, à partir de son rang, tu sais quelle view afficher à la place de la defaultView. Cela se fait par la commande :
[[myWindow contentView] replaceSubView:defaultView with:view1]]

En effet toute fenêtre a une contentView qui est la superView. Toutes les view contenus dans la fenêtre sont des subview de la contentview.

PS n'oublie pas [myWindows setNeedDisplay:YES] pour raffraichir l'affichage.
A+


[Ce message a été modifié par Manu (edited 23 Juin 2001).]
 
Merci bcp Manu. C'est exactement ce que je voulais. Ça et ... l'adresse des docs Rhapsody ou Next ( me souviens plus ) dont tu m'avais indiquer l'adresse in jour.
Merci.
 
Dans l'option d'importation de l'application Mail un Wizard apparaît. Dans le nib correspondant il y a en fait un fenêtre du gabarit de la fenêtre Wizard et un panel dans lequel on trouve aux quatres coins une NSBox qui contient les différents écrans qui s'afficheront dans la fenêtre Wizard. NSBox hérite de NSView, quel est son intérêt par rapport à NSView ?
Et comment crée-tu une matrice d'icône avec une scroll barre ?? Tu fais un NSScrollBarView dans laquelle j'ai une Matrice ?

[ 26 juin 2001: Message édité par : PowerMike ]
 
Juste : comment je fais à afficher la fenêtre avec la vue que veux par défaut.
J'ai essayé de faire un awakeFomNib contenant :
[ defaultView display ];

[ [ mainWindow contentView] setNeedsDisplay:YES];

Mais ça marche pas. J'aimerais qu'au lancement il y ait une vue initiale qui s'affiche dans la fenêtre et là j'ai toujours rien qui s'affiche.


defaultView etant un Outlet connecté à la vue initiale.
 
Bon alors j' ai trouvé comment faire.

J'ai en fait un Outlet par view + 1 pour la viex courrante et un autre pour la view par defaut.

A awakeFromNib je fais :

- (void)awakeFromNib
{
currentView = defaultView;

[[mainWindow contentView] addSubview:currentView];

}

Et lorsque j'appuie sur les différents boutons je fais :

- (IBAction)changesViewBtn
frown.gif
id)sender
{
[[mainWindow contentView] replaceSubview:defaultView with:changeListView];

currentView = changeListView;

}

Et ça marche.

Maintenant un peu plus fin. Disons que j'aimerais faire un passage d'une vue à l'autre plus élégant. A la manière des préférences systèmes, ma fenetre pourrait augmenter ou réduire sa taille en temps réel pour pouvoir accueillir le cas échéants une vue plus grande que les autres.

Quelqu'un a-t-il une ID ?