Editores de Texto e Texto JFace
O pacote do workbench
org.eclipse.ui.editors.text
implementa o editor de textos padrão da plataforma. Ele utiliza a estrutura do editor
de textos em org.eclipse.ui.texteditor
para sua implementação.
A estrutura do editor de textos fornece um editor independente de gabarito de domínio que é compatível com os seguintes recursos:
- Operações de edição de texto padrão como cortar/copiar/colar, localizar/substituir
- Apresentação visual dos marcadores de recurso adjacentes à área de edição de texto
- Atualização automática de marcadores de recurso à medida que o usuário edita o texto
- Gerenciamento de menu de contexto
- Resposta às ações do usuário, como atualização de recursos a partir de sistema de arquivo, fechamento de projetos ou remoção do recurso do elemento de entrada do editor
ITextEditor
é definido como uma extensão específica de texto do IEditorPart.
A implementação padrão dessa interface é fornecida por AbstractTextEditor.
IDocumentProvider
é utilizado para estabelecer o link entre um gabarito de domínio e um ITextEditor.
O provedor de documentos gerencia a apresentação de texto do gabarito de domínio e pode ser compartilhado entre vários editores.
A estrutura de texto do workbench é construída na parte superior do texto JFace. O exemplo do editor Java em org.eclipse.ui.examples.javaeditor é um bom lugar para iniciar o aprendizado sobre a estrutura de editor de texto e o texto JFace. Ele mostra como recursos complexos como cor de texto, ajuda instantânea e recuo automático podem ser implementados.
Texto JFace
O pacote org.eclipse.jface.text
e seus subpacotes suportam a implementação de editores de texto robustos como o editor de texto do workbench e o editor JDT Java.
O roadmap a seguir fornece uma visão geral do suporte no texto JFace.
- org.eclipse.jface.text
define um gabarito genérico de documento para textos e fornece um visualizador que exibe textos utilizando esse gabarito. Os documentos podem ser divididos em partições, não sobrepostas, que podem ser úteis quando o texto representa vários elementos com significados diferentes (como métodos e comentários dentro de um arquivo Java). As partições possuem tipos de conteúdo que são utilizados para identificar locais onde comportamentos diferentes devem ser atribuídos para diferentes tipos de conteúdo. O documento posições pode ser utilizado para definir regiões de texto que permaneçam atualizadas à medida que o usuário edita o texto. IDocument
e TextViewer
são bons lugares para começar a aprender sobre esse pacote.
- org.eclipse.jface.text.formatter
define um visualizador de texto add-on que pode ser configurado com diferentes comportamentos de formatação por tipo de conteúdo de partição. A formatação é arquivada manipulando-se espaços em branco e delimitadores para apresentar o texto como uma estrutura. A formatação é mais comumente utilizada ao editar códigos e é freqüentemente direcionada por preferência de usuário. O editor de código fonte JDT utiliza esse suporte para fornecer formatação de código Java direcionado pelo usuário.
- org.eclipse.jface.text.contentassist
define um visualizador de texto add-on que fornece suporte de Conclusão de texto
direcionado pelo usuário. As janelas popup são utilizadas para propor opções de texto possíveis para completar a frase. O usuário pode selecionar essas opções para inserção automática no texto. O assistente de conteúdo também suporta janelas popup contextuais para fornecer ao usuário informações que estão relacionadas à posição atual no documento. IContentAssistant
é um bom lugar para começar a aprender sobre esse pacote. Ele pode ser configurado com estratégias diferentes de conclusão de frases para diferentes tipos de conteúdo de partição.
- org.eclipse.jface.text.presentation
define um visualizador de texto add-on que pode controlar a apresentação visual
(fonte, estilo de fonte, cores) do texto mostrado no visualizador de texto. Para cada alteração aplicada a um documento, o reconciliador de apresentação determina qual região da apresentação visual deveria ser inválida e como corrigir isso. Podem ser utilizadas estratégias diferentes para diferentes tipos de conteúdo de partição.
- org.eclipse.jface.text.reconciler
define um visualizador de texto add-on que suporta a sincronização de um documento com alguma estrutura externa que pode também estar manipulando o texto.
- org.eclipse.jface.text.rules
fornece varredura de documento com base em regra. Os plug-ins podem utilizar regras para distinguir sinais como delimitadores de linha, espaço em branco e padrões genéricos ao varrer um documento. Esse pacote também fornece suporte para apresentações de reconciliação direcionadas à regra e partição de documento. O exemplo do editor Java utiliza esse pacote para analisar o código Java.
- org.eclipse.jface.text.source
define um visualizador de origem. Um visualizador de origem estende um visualizador de textos para suportar anotações no texto visual. Essas anotações são utilizadas no editor de código fonte JDT para anotar o código fonte Java com descrições de problemas e pontos de interrupção.
O SWT StyledText
widget é utilizado pelo suporte do texto JFace.
