Pregunta

Me gustaría hacer la coloración en Eclipse sin utilizar el reconciliador presentación. Por lo tanto, en primer lugar, tengo que encontrar la manera de asociar un objeto TextPresentation, ya sea con mi editor o documento, pero estoy teniendo dificultades para encontrar la manera de vincularlo cualquiera de ellos. Normalmente, el CreatePresentation en la interfaz IPResentationReconciler daría el rango de estilo a la textpresentation, y desde allí Eclipse sabría qué hacer con ese objeto presentación. ¿Hay alguna forma de utilizar un objeto TextPresentation sin el uso de PresentationReconciler? Sería bueno si pudiera hacerlo colorear sin el uso de reconciliador. Gracias.

¿Fue útil?

Solución

finalmente descubierto la manera de alcanzar la coloración sin el uso de reconciliadores. Descubrí que primero necesitaba una manera de obtener una referencia al objeto de mi SourceViewer, como yo estoy extendiendo TextEditor. También descubrí que podía implementar la interfaz TextListener y añadir mi propia oyente al objeto SourceViewer. Hay que tener cuidado, sin embargo, como una llamada al método getSourceViewer () puede dar lugar a un valor nulo si no se llama en el lugar apropiado. Originalmente, sobreescribí la función init (...) en mi clase de editor e hizo la llamada getSourceViewer (), pero aún así resultó en nulo. Después de hacer un poco de investigación, descubrí que podía obtener correctamente una referencia al objeto SourceViewer reemplazando el método createPartControl. La primera vez que llamo super.createPartControl (...) y luego hacer una llamada a getSourceViewer (). Después de obtener esa referencia, que he usado con mi clase de escucha que creé y que era capaz de hacer lo mismo con el método de coloración SetTextColor el objeto SourceViewer tiene. Espero que esto ayude a otros en la misma situación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top