NSMatrix

GGGG Membre
23:22 modifié dans API AppKit #1
Bonjour à  tous,
je reviens encore sur le sujet de NSMatrix ;).
Voilà , j'aimerai faire la chose suivante :
Une NSMatrix dans une NSScrollView.
Cette NSMatrix contenant elle des NSImageCell.

Mais lorsque je recherche les méthodes pour NSMatrix je ne vois pas comment faire pour créer une NSMatrix avec un nombre défini de colonne mais indéfini de ligne.
Autre question, comment puis je faire pour ajouter mes éléments de la NSMatrix au fur et à  mesure dans une fonction.
En gros je n'arrive pas trop à  comprendre la logique de cette classe :p.
Si vous avez quelques conseils à  me donner, je suis preneur ;).




Réponses

  • Eddy58Eddy58 Membre
    23:22 modifié #2
    Tu es obligé de définir le nombre de colonnes et de lignes lors de l'initialisation de ta NSMatrix. Ensuite tu as les méthodes de type -AddRow qui te permettent d'ajouter des lignes. :)
  • GGGG Membre
    23:22 modifié #3
    je suis désolé de revenir à  la charge ;).
    Je vais expliquer ce que je veux faire.
    Voilà , j'ai un NSMutableArray contenant des chemins de fichiers images.
    J'aimerai, afficher les miniatures des images de manière ordonnée.
    Comment puis je faire ?
    Avec une NSMatrix suis je obligé de recréer ma propre vue ?

  • GGGG Membre
    23:22 modifié #4
    je vous donne un exemple de code que j'ai écris :

    <br />// MyImagesPath est une NSMutableArray contenant les paths des fichiers<br />unsigned iter = [ MyImagesPath count ];<br />	NSString* obj;<br />	int col=0;<br />	int row=0;<br />	int i;<br />	<br />	for ( i=0; i&lt;iter; ++i){<br />		obj = [ MyImagesPath objectAtIndex:i];<br />		NSLog(obj);<br />		NSImage* img =[[[NSImage alloc] initWithContentsOfFile:obj]autorelease];<br />		//NSImageCell* ic = [[[NSImageCell alloc]initImageCell:img]autorelease];<br /> <br />// DisplayImages est la NSMatrix<br />		NSCell* newCell = [ DisplayImages makeCellAtRow:row column:col];<br />		[ newCell initImageCell:img];<br />		[ DisplayImages setCell:newCell ];<br />		<br />		col++;<br />		if ( 4 == col ) {<br />			col = 0;<br />			row++;<br />		}<br /><br />
    


    ça compile pas de problème mais pas d'images affichées.
    Où ai je fais une erreur ?

    Merci et bon weekend pour certains et bonnes vacances pour d'autres :p.
  • schlumschlum Membre
    23:22 modifié #5
    NSMatrix n'est pas fait pour ce que tu veux faire...
    Utilise plutôt NSTableView avec une NSCell perso qui affiche tes images.
  • GGGG Membre
    23:22 modifié #6
    Merci du conseil ;).
    En fait j'ai essayé ce weekend de finir ces classes avec NSMatrix, mais cela ne donne pas de bonnes choses côtés performances et manipulation des NSCell.
    Je suis en train de regarder pour faire la même chose avec NSTableView ;).

Connectez-vous ou Inscrivez-vous pour répondre.