NSTextView ou Custom NSView?
Salut,
J'ai un nouveau projet en gestation, et je me demande comment gèrer la fenêtre principale...
Cette fenêtre affichera un document d'une page (destiné à l'impression) qui aura la forme plus ou moins d'une facture, donc avec un positionnement précis des textes: un pavé adresse, un tableau avec des textes et des valeurs, des lignes horizontales et verticales, éventuellement un logo...
Ma première idée était de sous-classer NSView (dans une NSScrollView), ce qui me donne toute lattitude pour positionner à la fois les textes (par NSAttributedString) et les graphiques.
Cependant, ayant ou௠que les affichages de textes par NS...String étant très peu efficaces (en temps de traitement), et étant donné qu'il est prévu d'afficher pas mal de textes (même s'ils sont courts), je me demande si une NSTextView ne serait pas une meilleure solution...
Par contre, je risque d'avoir plus de problème pour maintenir mes textes dans leurs 'cases', et le calcul de positions des lignes devrait se faire par rapport à la position du texte...
Qu'en pensez-vous?
Quel serait la meilleure solution à votre idée? (je dois préciser que la vue ne devrait pas être directement éditable)
Merci d'avance pour vos conseilsÂ
J'ai un nouveau projet en gestation, et je me demande comment gèrer la fenêtre principale...
Cette fenêtre affichera un document d'une page (destiné à l'impression) qui aura la forme plus ou moins d'une facture, donc avec un positionnement précis des textes: un pavé adresse, un tableau avec des textes et des valeurs, des lignes horizontales et verticales, éventuellement un logo...
Ma première idée était de sous-classer NSView (dans une NSScrollView), ce qui me donne toute lattitude pour positionner à la fois les textes (par NSAttributedString) et les graphiques.
Cependant, ayant ou௠que les affichages de textes par NS...String étant très peu efficaces (en temps de traitement), et étant donné qu'il est prévu d'afficher pas mal de textes (même s'ils sont courts), je me demande si une NSTextView ne serait pas une meilleure solution...
Par contre, je risque d'avoir plus de problème pour maintenir mes textes dans leurs 'cases', et le calcul de positions des lignes devrait se faire par rapport à la position du texte...
Qu'en pensez-vous?
Quel serait la meilleure solution à votre idée? (je dois préciser que la vue ne devrait pas être directement éditable)
Merci d'avance pour vos conseilsÂ

Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ton programme génère un code HTML (une NSString quoi), qui est affichée dans une webview.
MmmmmouuuiÂ
A première vue, cette solution ne me plaà®t pas trop (sans vouloir t'offenser) .
1. La génération d'HTML par le code, ça me semble pas facile-facile (quoi que, avec un 'template' à remplir...)
2. La vue est en fait quasiment une preview de l'édition, qui se fera presque certainement, et là , si j'en crois mes expériences jusqu'ici d'édition de HTML, c'est toujours WYSIDDOWYG (What You See Is Definitly Different Of What You Get)Â
Le HTML est très pratique, à condition de faire le code correctement (autrement dit, éviter les outils wysiwig, rien ne vaut un bon éditeur de texte). Il faut évidemment partir d'une page 'modèle'. Pour ma part, ce que je fais, c'est mettre dans le HTML !#clé#! (à la manière du publi postage dans Word), j'ai un petit NSScanner qui me scanne le modèle, et remplace ces expressions par [dico valueForKey:clé]. Ceci dit dans ton cas, tu devras peut-être un peu étendre et rajouter des balises pour permettre d'avoir des boucles (pour une liste d'éléments dans une facture par exemple).
PS: sinon ton wysi machin, pour que ça ait un sens, remplace le dernier G par un W(ant)
C'est vrai, autant pour moi, la vue sert indistinctement pour l'affichage et l'àƒÂ©dition, donc, puisque tu me promets qu'il n'y aura pas de surprise àƒÂ l'impression (tu promets, juràƒÂ©, crachàƒÂ©, non?
OK, tu m'as convaincu, en utilisant l'HTML en valeurs fixes, àƒÂ§a pourrait àƒÂªtre sympa...
En plus, facilitàƒÂ© de mise au point de la vue apràƒÂ¨s coup...
En plus, je pourrais avoir plusieurs gabarits diffàƒÂ©rents pour les màƒÂªmes informations...
Merci Renaud, c'est vendu, j'attaque comme àƒÂ§aà‚Â
Et oui, ça se passe aussi chez moi ;D
Ce n'est pas automatique, ça dépends de l'ordinateur que j'utilise...
Sur le PC du boulot sous IE, ça marche
Sur le iBook Mac OS X et Safari, ça marche
Sur le 4400, Mac OS 8.1Â
... mais ne le sont pas.
Probablement un problème d'encodage, mais par contre ça fonctionne normalement en visualisation de pages Web, alors...
je devrais peut-être simplement éviter les accents avec cet ordi
en haut le nom du fichier et le numéro de la page dans une cellule bleue et sur le coté une colone bleu plus claire (vide).
Comme s'y prendre ? est-ce que ce sera plus simple en xsl (pas de cocoa) ?
Ne pas oublier de releaser invisibleWV quelque part
[edit] Oups! j'ai voulu modifier le message et je l'ai dupliqué