Supprimer la sélection d'une NSTableView pour l'impression

Bonsoir,


 


J'ai une NSTableView que je souhaiterais imprimer, et que j'imprime en fait, mais la ligne sélectionnée apparaà®t en bleu à  l'impression, comme sur l'écran.


 


Est-il possible de désactiver cette sélection, de manière qu'elle reste à  l'écran mais qu'à  l'impression ce ne soit pas le cas? Si oui, ou et comment?


 


Merci


Réponses

  • tu gardes en mémoire ta sélection


    tu enleves la sélection de ta NSTableView


    tu imprimes


    tu remet ta sélection

  • devulder,


    ça fonctionnerait sous système 6, quand on pouvait encore décider quand on effectuait les opérations. Ici la sélection s'efface, et revient le temps que le dialogue d'impression s'affiche. Résultat, j'imprime en bleu...


  • ça ne marche toujours pas.


     


    Je désélectionne, puis comme la NSTableView adore se redessiner, je teste:


            BOOL isPrinting = [NSPrintOperation currentOperation];


    pour savoir si je peux resélectionner. Mais rien à  faire.

     

    Je ne vais tout de même pas dériver NSTableView juste pour ça...



  •  


    ça ne marche toujours pas.


     


    Je désélectionne, puis comme la NSTableView adore se redessiner, je teste:


            BOOL isPrinting = [NSPrintOperation currentOperation];


    pour savoir si je peux resélectionner. Mais rien à  faire.

     

    Je ne vais tout de même pas dériver NSTableView juste pour ça...

     




     


    Tu as une solution alternative


     


    voir http://themikeswan.wordpress.com/2010/08/05/expenses-part-5-printing-core-data/

  • berfisberfis Membre
    décembre 2013 modifié #7

    Bonjour devulder,


     


    Merci pour la traque sur Internet... Je n'avais jamais entendu parler de NSTextTable. Peu de gens, je pense.


     


    NSTextTable : NSTextBlock : NSObject


     


    -- On voit déjà  déjà  que côté filiation, ça ne ressemble à  rien de connu. OK, va pour NSObject.


    -- 3 références sous SO...Il ne faut pas s'attendre à  des renforts de ce côté-là .


    -- Aucune allusion au bidule dans Interface Builder... Pas de bindings graphiques, il faudra les coder en dur.


     


    Au moins, le site que tu m'as donné en lien (un des rares gaillards à  s'être frotté à  cette classe) évoque le problème de l'impression avec NSTableView, faite pour l'affichage à  l'écran et non pour l'impression.


     


    Donc, en résumé, toujours pas de solution viable. Je n'ai pas envie de découvrir une nouvelle classe "qui pourtant est intéressante" dans le but de régler quelque chose qui, encore une fois, paraissait trivial mais ne l'est pas.


     


    Vous savez quoi? Je vais bêtement renoncer à  sélectionner ma ligne, et basta. Comme le dit si bien Céroce:


     


    Quand la spec est trop dure à  implémenter, changez la spec.


     

    La sagesse même. En tout cas merci pour les infos!

  • CéroceCéroce Membre, Modérateur

    Comme le dit si bien Céroce:
    Quand la spec est trop dure à  implémenter, changez la spec.

    Quand on commence à  être cité, c'est le début de la reconnaissance.

    Pour revenir à  la question, il y a une raison pour laquelle on imprime rarement une tableview: le rendu est dégueu !
    Certes, c'est un peu de travail, mais il n'est pas très compliqué de créer une sous-classe de NSView qui affiche quelques lignes. L'avantage est que tu contrôleras totalement l'affichage (notamment la fonte) et la mise en page.


  • Quand on commence à  être cité, c'est le début de la reconnaissance.




    Il faut rendre à  César...


     


    Je suis d'accord, le rendu n'est pas terrible (bon, ça reste du pdf) mais pour l'emploi que j'en ai, c'est suffisant: je veux juste que les collègues aient une page A4 avec un tableau de noms... et si tu voyais ce que certains font avec l'abominable Excel ou son avatar open source :*  , je ne m'en sors pas trop mal.


     


    Si la demande est forte et que des crédits sont accordés, on avisera pour le super-machin avec enregistrement sur iCloud et lecteur iOS  ??? je deviens vénal...


     


    Je me bats encore avec cette fichue NSTableView qui m'a appris deux choses supplémentaires (à  part son rendu dégueu):


     


    1. le filtrage par prédicat avec block, le tout c'est de s'y mettre, après c'est vraiment chouette;


    2. le test IF est un indice (ok, pas une preuve) d'une programmation hésitante et a remplacé dans la liste de mes ennemis l'antique et honni GOTO.

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