NSTextView : coller et appliquer le style

bxdieselbxdiesel Membre
08:42 modifié dans API AppKit #1
Dans TextEdit, on peut copier du texte en appliquant la mise en forme en cours à  la position du curseur : "Coller et appliquer le style (⌥⇧⌘V).
Savez-vous comment ajouter ce comportement au NSTextView ?

Réponses

  • 08:42 modifié #2
    À mon avis il faut plusieurs choses:
    1- Autoriser l'édition (logique)
    2- Autoriser le rich-text format (logique aussi)
    3- Autoriser le Smart Insert/Delete?
    .. et je pense que ça suffit?
    Tout ça se trouve dans Interface Builder sur la config d'un NSTextView.
  • devulderdevulder Membre
    08:42 modifié #3
    dans 1319703915:

    À mon avis il faut plusieurs choses:
    1- Autoriser l'édition (logique)
    2- Autoriser le rich-text format (logique aussi)
    3- Autoriser le Smart Insert/Delete?
    .. et je pense que ça suffit?
    Tout ça se trouve dans Interface Builder sur la config d'un NSTextView.


    Tu px voir aussi dans les éditeurs en open source, Smultron, Bean et autres.

  • AliGatorAliGator Membre, Modérateur
    08:42 modifié #4
    Apple a un sample code qui reprend TextEdit, certes sans doute pas entièrement mais ils t'apprennent à  faire un TextEdit lite... donc peut-être même dans les sources de ce dernier ? (Bien que je suppose fortement que ce soit côté InterfaceBuilder que ce soit fait et pas côté code)
  • bxdieselbxdiesel Membre
    08:42 modifié #5
    À mon avis il faut plusieurs choses:
    1- Autoriser l'édition (logique)
    2- Autoriser le rich-text format (logique aussi)
    3- Autoriser le Smart Insert/Delete?
    .. et je pense que ça suffit?


    Mes NSTextView sont bien configurés ainsi dans les xib. Je suppose que ça ne fonctionne pas car il n'y a pas de menu avec le raccourci clavier en question. Je pourrais en rajouter un mais je ne sais pas à  quel action le connecter.

    Je vais donc chercher dans les sources de TextEdit, merci à  tous.
  • AliGatorAliGator Membre, Modérateur
    08:42 modifié #6
    Si tu drag & drop le menu "Edit" par défaut (depuis la librairie de composants dans IB) cet article de menu y est sans doute par défaut ? Ce qui te permettra de voir comment il est connecté (voire de remplacer ton menu Edit actuel par celui-là ) ?
  • mpergandmpergand Membre
    08:42 modifié #7
    Dans NSTextView y a ça:

    pasteAsRichText:
    This action method inserts the contents of the pasteboard into the receiver's text as rich text, maintaining its attributes.

    - (void)pasteAsRichText:(id)sender
  • bxdieselbxdiesel Membre
    08:42 modifié #8
    Si tu drag & drop le menu "Edit" par défaut (depuis la librairie de composants dans IB) cet article de menu y est sans doute par défaut ? Ce qui te permettra de voir comment il est connecté (voire de remplacer ton menu Edit actuel par celui-là ) ?


    Bingo !
    Simplement recopié le menuItem du menu Edit de la librairie dans mon menu Edit, et tout marche nickel ! Pour info, l'action est pasteAsPlainText:
    Merci.
Connectez-vous ou Inscrivez-vous pour répondre.