Plusieurs NSTextView avec un seul NSTextStorage
fouf
Membre
L'utilise deux NSTextView independantes l'une de l'autre, mais qui ont le meme contenu, et MyDocument qui implemente textDidChange:. A ce moment la, MyDocument regarde quelle textView est l'objet de la notification et envoie [autreTextView setString:[textView string]];
Je me rend bien compte que cette architecture est tres lourde : 2 NSTextStorage, 1 NSString dans MyDocument et que, de plus, l'utilisateur ne peut pas rajouter des textView supplementaires.
Je me demande si il n'est pas plus simple et moins lourd d'avoir un meme NSTextStorage voire meme un meme NSTextLayout (pour la police et la couleur du texte).
Questions :
1- Est-ce simple a mettre en oeuvre (surtout pour le textLayout) ?
2- Est-ce que cela optimise vraiment la quantite de memoire utilisee et si possible mon code ??
:why?:
Toutes les idees et propositions seront les bienvenues
Je me rend bien compte que cette architecture est tres lourde : 2 NSTextStorage, 1 NSString dans MyDocument et que, de plus, l'utilisateur ne peut pas rajouter des textView supplementaires.
Je me demande si il n'est pas plus simple et moins lourd d'avoir un meme NSTextStorage voire meme un meme NSTextLayout (pour la police et la couleur du texte).
Questions :
1- Est-ce simple a mettre en oeuvre (surtout pour le textLayout) ?
2- Est-ce que cela optimise vraiment la quantite de memoire utilisee et si possible mon code ??
:why?:
Toutes les idees et propositions seront les bienvenues
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[tt]textView2 layoutManager] replaceTextStorage:[textView1 textStorage[/tt]
Merci beaucoup, ca marche achement mieux et ca m'evite tout une procedure de mise a jour des textViews.
Par contre, la procedure de mise a jour me permettait d'enregistrer dans mes preferences la couleur et la police des textViews. Le probleme, c'est que je n'arrive pas a gerer ca sans m'encombrer de deux NSString supplementaires pour voir si le texte a change ou pas. Comment faire sans gaspiller une quantite de memoire astronomique ?
Ca doit etre faisable mais je n'arrive pas a voir comment faire. :why?:
J'ai du mal poser ma question :
La police et la couleur sont les memes pour les deux vues, NO PROBLEM. Mais, en fait, je veux pouvoir recuperer une notification qui est postee quand la police ou la couleur (voir l'ombre change). Or je n'arrive pas a touver ca dans la doc (ca m'etonnerait que ca existe). Alors, je me demande si vous n'avez pas une idee de comment faire.
Peut-etre faut il implementer un delegate du la fenetre des polices ??