2010-08-24 7 views
4

Je voudrais colorier dans Eclipse sans utiliser le réconciliateur de présentation. Par conséquent, d'abord, je dois comprendre comment associer un objet TextPresentation avec mon éditeur ou mon document, mais j'ai du mal à trouver comment lier l'un ou l'autre. Normalement, l'interface CreateResentation dans IPResentationReconciler donnerait la gamme de style à la présentation de texte, et à partir de là Eclipse saurait quoi faire avec cet objet de présentation. Est-il possible d'utiliser un objet TextPresentation sans l'utilisation de PresentationReconciler? Ce serait bien si je pouvais faire de la coloration sans l'utilisation de réconciliateur. Je vous remercie.Syntaxe Coloriage sans présentation Réconciliateur

Répondre

5

J'ai enfin compris comment réaliser la coloration sans l'utilisation de réconciliateurs. J'ai découvert que j'avais d'abord besoin d'un moyen d'obtenir une référence à mon objet SourceViewer, car je suis en train d'étendre TextEditor. J'ai également découvert que je pouvais implémenter l'interface TextListener et ajouter mon propre écouteur à l'objet SourceViewer. Cependant, il faut être prudent, car l'appel de la méthode getSourceViewer() peut aboutir à une valeur null si elle n'est pas appelée à l'endroit approprié. À l'origine, j'ai écrasé la fonction init (...) dans ma classe d'éditeur et j'ai fait l'appel de getSourceViewer(), mais cela a toujours abouti à null. Après avoir fait quelques recherches, j'ai découvert que je pouvais obtenir une référence à l'objet SourceViewer en remplaçant la méthode createPartControl. J'appelle d'abord super.createPartControl (...) et appelle ensuite getSourceViewer(). Après avoir obtenu cette référence, je l'ai utilisée avec ma classe d'écouteurs que j'ai créée et j'ai été capable de colorier moi-même avec la méthode setTextColor de l'objet SourceViewer. J'espère que cela aide les autres dans la même situation.