Editeurs de texte et texte JFace
La package du plan de travail
org.eclipse.ui.editors.text
implémente l'éditeur de texte par défaut de la plateforme. Il utilise la structure de
l'éditeur de texte dans
org.eclipse.ui.texteditor
pour son implémentation.
La structure de l'éditeur de texte fournit un éditeur indépendant du modèle de domaine qui supporte les fonctionnalités suivantes :
- opérations d'édition de texte standard telles que couper/copier/coller, rechercher/remplacer ;
- présentation visuelle des marqueurs de ressources adjacents à la zone d'édition de texte ;
- mise à jour automatique des marqueurs de ressources lorsque l'utilisateur édite le texte ;
- gestion de menus contextuels ;
- réponses aux actions utilisateur dans le plan de travail, telles que la régénération des ressources à partir du système de fichiers, la fermeture des projets ou la suppression de ressource d'élément de saisie de l'éditeur.
ITextEditor
est défini comme extension spécifique de texte d'IEditorPart.
L'implémentation par défaut de cette interface est fournie par AbstractTextEditor.
IDocumentProvider
est utilisé pour établir le lien entre un modèle de domaine et un ITextEditor.
Le fournisseur de document gère la présentation du texte du modèle de domaine et peut être partagé par plusieurs éditeurs.
La structure d'édition de texte du plan de travail est constituée à partir de texte JFace. Dans org.eclipse.ui.examples.javaeditor, l'exemple d'éditeur Java constitue un bon point de départ pour apprendre la structure d'un éditeur de texte et le texte JFace. Il montre comment des fonctionnalités complexes telles que la mise en couleur de texte, les info-bulles et la mise en retrait automatique peuvent être implémentées.
Texte JFace
Le package org.eclipse.jface.text
et ses sous-packages supportent l'implémentation d'éditeurs de texte robustes, tels que l'éditeur de texte du plan de travail et l'éditeur Java JDT.
L'organigramme ci-dessous présente le support en texte JFace.
- org.eclipse.jface.text
définit un modèle de document générique pour du texte et fournit un afficheur qui présente le texte à l'aide de ce modèle. Les documents peuvent être divisés en partitions qui ne se chevauchent pas, ce qui peut être utile lorsque le texte représente plusieurs éléments avec des significations différentes (comme par exemple des méthodes et des commentaires dans un fichier Java). Les partitions ont des types de contenu qui sont utilisés pour identifier les endroits où un comportement différent doit être affecté pour différents types de contenu. Les positions du document peuvent être utilisées pour définir des régions de texte qui restent mises à jour lorsque l'utilisateur édite le texte. IDocument et TextViewer constituent un bon point de départ pour étudier ce package.
- org.eclipse.jface.text.formatter
définit un additif d'afficheur de texte qui peut être configuré à l'aide de différents comportements de formatage par type de contenu de partition. Le formatage est effectué en manipulant les espaces et les délimiteurs afin de présenter le texte de manière structurée. Le formatage est plus couramment utilisé lors de l'édition du code et est souvent dicté par les préférences de l'utilisateur. L'éditeur du code source JDT utilise ce support pour fournir le formatage du code Java source code dicté par l'utilisateur.
-
org.eclipse.jface.text.contentassist
définit un additif d'afficheur de texte qui fournit un support d'achèvement de texte
dicté par l'utilisateur. Les fenêtres en incrustation sont utilisées pour proposer des choix
de texte possibles permettant d'achever une phrase. L'utilisateur peut sélectionner ces choix
pour une insertion automatique dans le texte. L'assistance au contenu supporte également les
incrustations contextuelles pour fournir à l'utilisateur des informations liées à la
position courante dans le document.
IContentAssistant
constitue un bon point de départ pour étudier ce package. Il peut être configuré avec
différentes stratégies d'achèvement de phrase pour différents types de contenu de partition.
- org.eclipse.jface.text.presentation
définit un additif d'afficheur de texte qui peut contrôler la présentation visuelle
(police, style de police, couleurs) du texte figurant dans l'afficheur de texte. Pour chaque changement appliqué à un document, le réconciliateur de présentation détermine la région de la présentation visuelle à invalider et comment la réparer. Différentes stratégies peuvent être utilisées pour différents types de contenu de partition.
- org.eclipse.jface.text.reconciler
définit un additif d'afficheur de texte qui supporte la synchronisation d'un document avec une structure externe pouvant également manipuler le texte.
- org.eclipse.jface.text.rules
fournit un scannage de document basé sur les règles. Les plug-ins peuvent utiliser les règles pour distinguer les jetons : délimiteurs de ligne, espaces et schémas génériques lors du scannage d'un document. Ce package fournit également un support pour la réconciliation de présentation basée sur les règles et le partitionnement d'un document. L'exemple de l'éditeur Java utilise ce package pour analyser le code Java.
- org.eclipse.jface.text.source
définit un afficheur de source. Un afficheur de source étend un afficheur de texte afin de supporter les annotations de texte visuelles. Ces annotations sont utilisées dans l'éditeur de code source JDT pour annoter le code source Java de descriptions de problème et de points d'arrêt.
Le widget SWT StyledText
est utilisé par le support de texte JFace.
