Package jaxe

# Class JaxeElement

java.lang.Object
jaxe.JaxeElement

public abstract class JaxeElement extends Object
Elément Jaxe, représentant à la fois l'affichage graphique et l'arbre DOM correspondant (noeud)

## Field Summary

Fields
Modifier and Type
Field
Description
`ArrayList<Position>`
`compos`
`Position`
`debut`
`JaxeDocument`
`doc`
`Position`
`fin`
`ArrayList<Object>`
`jcomps`
`static final String`
`kBarre`
`static final String`
`kCouleur`
`static final String`
`kCouleurDeFond`
`static final String`
`kExposant`
`static final String`
`kGras`
`static final String`
`kIndice`
`static final String`
`kItalique`
`static final String`
`kSouligne`
`Node`
`noeud`
`Element`
`refElement`

## Constructor Summary

Constructors
Constructor
Description
`JaxeElement()`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`aDesAttributs()`
`void`
`afficherDialogue(JFrame jframe)`
Affiche le dialogue correspondant à l'élément
`SimpleAttributeSet`
`attStyle(SimpleAttributeSet attorig)`
`boolean`
`avecIndentation()`
Indique si les descendants de l'élément doivent être indentés
`boolean`
`avecSautsDeLigne()`
Indique si des sauts de ligne doivent être ajoutés avant et après s'il n'y en a pas déjà
`void`
`changerStyle(String style, int offset, int longueur)`
`String`
`cheminA(int pos)`
Renvoit le chemin XML pour la position pos
`JaxeElement`
`couper(Position pos)`
Coupe un élément en 2, retourne le nouvel élément créé après celui-ci.
`void`
`creer(Position pos, Node noeud)`
Initialise le champ noeud, met à jour dom2JaxeElement, et appelle init(pos, noeud)
`Node`
`creerEnfant(Position newpos, Node n)`
creer l'enfant n à la position newpos (avec JaxeElement.creer)
`void`
`creerEnfants(Position newpos)`
creer les enfants de ce noeud, en supposant que c'est un élément DOM
`void`
`effacer()`
appelé juste avant que l'élément soit effacé
`JaxeElement`
`elementA(int pos)`
Renvoit l'élément de plus bas niveau se trouvant à la position donnée dans le texte
`ArrayList<JaxeElement>`
`elementsDans(int dpos, int fpos)`
Renvoit les éléments se trouvant dans la zone du texte indiquée (de dpos à fpos inclu)
`JaxeElement`
`enfantApres(int pos)`
Renvoit le premier élément enfant de celui-ci dont la position est pos ou après pos
`void`
`fusionner(JaxeElement el)`
fusionne cet élément avec celui donné, dans le DOM (aucun changement du texte)
`ArrayList<Position>`
`getComponentPositions()`
Renvoit la liste des positions dans le texte des composants graphiques
`ArrayList<Object>`
`getComponents()`
Renvoit la liste des composants graphiques utilisés dans l'affichage en plus du texte
`boolean`
`getEditionAutorisee()`
`boolean`
`getEffacementAutorise()`
`JaxeElement`
`getFirstChild()`
Renvoit le premier élément enfant (ou null)
`JaxeElement`
`getNextSibling()`
Renvoit l'enfant suivant (ou null)
`JaxeElement`
`getParent()`
Renvoit l'élément parent, en utilisant l'arbre DOM
`Point`
`getPointEnfant(Element el)`
Renvoit la position de l'élément descendant dans le JaxeTextPane.
`static ProcessingInstruction`
`getProcessing(Node n)`
`protected static String`
`getString(String key)`
`static boolean`
`hasProcessing(Node n)`
`boolean`
`hasText(Node n)`
`int`
`indentations()`
Renvoit les indentations dans l'arbre XML.
`abstract void`
`init(Position pos, Node noeud)`
Insère le texte de l'élément à partir de l'arbre DOM, à la position pos dans le texte
`void`
`inserer(Position pos, Node newel)`
initialise et insère cet élément dans le texte et l'arbre DOM
`void`
`insererDOM(Position pos, Node newel)`
insère newel dans l'arbre DOM
`static void`
`insererDOM(JaxeDocument doc, Position pos, Node newel)`
insère newel dans l'arbre DOM
`Position`
`insertComponent(Position pos, JComponent comp)`
Insère le composant graphique dans le texte, en l'ajoutant dans la liste des composants et en mettant à jour debut et fin
`Position`
`insertIcon(Position pos, Icon icon)`
Insère l'icône dans le texte, en l'ajoutant dans la liste des composants et en mettant à jour debut et fin
`Position`
`insertText(Position pos, String texte)`
Insère le texte dans le Textpane en mettant à jour debut et fin
`Position`
`insertText(Position pos, String texte, AttributeSet attset)`
Insère le texte dans le Textpane en mettant à jour debut et fin
`Position`
`insPosition()`
position pour setCaretPosition après création d'un nouvel élément
`void`
`majAffichage()`
Mise à jour de l'affichage par rapport à l'arbre XML
`protected void`
`majPosSuivant()`
`void`
`majValidite()`
Test et mise à jour de l'affichage de la validité
`void`
`mettreAJourDOM()`
met à jour l'arbre de JaxeElement et l'arbre DOM à partir de modifs de la zone de texte
`int`
`nombreXPath()`
Renvoit le nombre XPath (le numéro de l'élément dans la liste des éléments avec ce nom), ou 0 si le noeud n'a pas de parent.
`abstract Node`
`nouvelElement(Element refElement)`
`static Element`
`nouvelElementDOM(JaxeDocument doc, String nomElement, Element parent)`
nouvel élément DOM à partir Espace de noms obtenu à partir de l'élément parent
`static Element`
`nouvelElementDOM(JaxeDocument doc, Element refElement)`
nouvel élément DOM.
`static ProcessingInstruction`
`nouvelleInstructionDOM(JaxeDocument doc, String cible)`
`void`
`regrouperTextes()`
regroupe les JETexte dans les enfants
`void`
`remplacerEnfant(JaxeElement je, JaxeElement newje)`
remplace l'enfant je à la fois dans le texte et dans le DOM
`void`
`remplacerEnfantDOM(JaxeElement je, JaxeElement newje)`
remplace l'enfant je dans le DOM
`void`
`selection(boolean select)`
Sélection de la zone de texte où se trouve cet élément
`void`
`setEditionAutorisee(boolean autorise)`
`void`
`setEffacementAutorise(boolean autorise)`
`void`
`setFocus()`
Met le focus dans un composant de l'élément après sa création.
`void`
`supprimerEnfant(JaxeElement je)`
supprime l'enfant je à la fois dans le texte et dans le DOM
`void`
`supprimerEnfantDOM(JaxeElement je)`
supprime l'enfant je dans le DOM
`boolean`
`testAffichageDialogue()`
Renvoie true s'il faut afficher le dialogue d'attributs à la création de l'élément
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### kGras

public static final String kGras

See Also:
  - Constant Field Values

### kItalique

public static final String kItalique

See Also:
  - Constant Field Values

### kExposant

public static final String kExposant

See Also:
  - Constant Field Values

### kCouleur

public static final String kCouleur

See Also:
  - Constant Field Values

### kCouleurDeFond

public static final String kCouleurDeFond

See Also:
  - Constant Field Values

### kIndice

public static final String kIndice

See Also:
  - Constant Field Values

### kSouligne

public static final String kSouligne

See Also:
  - Constant Field Values

### kBarre

public static final String kBarre

See Also:
  - Constant Field Values

### debut

public Position debut

### fin

public Position fin

### noeud

public Node noeud

### refElement

public Element refElement

### doc

public JaxeDocument doc

### jcomps

public ArrayList<Object> jcomps

### compos

public ArrayList<Position> compos

## Constructor Details

### JaxeElement

public JaxeElement()

## Method Details

### init

public abstract void init(Position pos, Node noeud)
Insère le texte de l'élément à partir de l'arbre DOM, à la position pos dans le texte

### creer

public void creer(Position pos, Node noeud)
Initialise le champ noeud, met à jour dom2JaxeElement, et appelle init(pos, noeud)

### majPosSuivant

protected void majPosSuivant()

### nouvelElement

public abstract Node nouvelElement(Element refElement)

### testAffichageDialogue

public boolean testAffichageDialogue()
Renvoie true s'il faut afficher le dialogue d'attributs à la création de l'élément

### afficherDialogue

public void afficherDialogue(JFrame jframe)
Affiche le dialogue correspondant à l'élément

### majAffichage

public void majAffichage()
Mise à jour de l'affichage par rapport à l'arbre XML

### majValidite

public void majValidite()
Test et mise à jour de l'affichage de la validité

### getComponents

public ArrayList<Object> getComponents()
Renvoit la liste des composants graphiques utilisés dans l'affichage en plus du texte

### getComponentPositions

public ArrayList<Position> getComponentPositions()
Renvoit la liste des positions dans le texte des composants graphiques

### insertText

public Position insertText(Position pos, String texte, AttributeSet attset)
Insère le texte dans le Textpane en mettant à jour debut et fin

### insertText

public Position insertText(Position pos, String texte)
Insère le texte dans le Textpane en mettant à jour debut et fin

### insertComponent

public Position insertComponent(Position pos, JComponent comp)
Insère le composant graphique dans le texte, en l'ajoutant dans la liste des composants et en mettant à jour debut et fin

### insertIcon

public Position insertIcon(Position pos, Icon icon)
Insère l'icône dans le texte, en l'ajoutant dans la liste des composants et en mettant à jour debut et fin

### elementA

public JaxeElement elementA(int pos)
Renvoit l'élément de plus bas niveau se trouvant à la position donnée dans le texte

### elementsDans

public ArrayList<JaxeElement> elementsDans(int dpos, int fpos)
Renvoit les éléments se trouvant dans la zone du texte indiquée (de dpos à fpos inclu)

### nombreXPath

public int nombreXPath()
Renvoit le nombre XPath (le numéro de l'élément dans la liste des éléments avec ce nom), ou 0 si le noeud n'a pas de parent.

### cheminA

public String cheminA(int pos)
Renvoit le chemin XML pour la position pos

### enfantApres

public JaxeElement enfantApres(int pos)
Renvoit le premier élément enfant de celui-ci dont la position est pos ou après pos

### effacer

public void effacer()
appelé juste avant que l'élément soit effacé

### mettreAJourDOM

public void mettreAJourDOM()
met à jour l'arbre de JaxeElement et l'arbre DOM à partir de modifs de la zone de texte

### nouvelElementDOM

public static Element nouvelElementDOM(JaxeDocument doc, Element refElement)
nouvel élément DOM. Espace de noms obtenu à partir de la définition de la configuration. Attention, l'élément est maintenant une référence d'élément, ce n'est plus la définition du fichier de config.

### nouvelleInstructionDOM

public static ProcessingInstruction nouvelleInstructionDOM(JaxeDocument doc, String cible)

### nouvelElementDOM

public static Element nouvelElementDOM(JaxeDocument doc, String nomElement, Element parent)
nouvel élément DOM à partir Espace de noms obtenu à partir de l'élément parent

### inserer

public void inserer(Position pos, Node newel)
initialise et insère cet élément dans le texte et l'arbre DOM

### insererDOM

public void insererDOM(Position pos, Node newel)
insère newel dans l'arbre DOM

### insererDOM

public static void insererDOM(JaxeDocument doc, Position pos, Node newel)
insère newel dans l'arbre DOM

### creerEnfants

public void creerEnfants(Position newpos)
creer les enfants de ce noeud, en supposant que c'est un élément DOM

### creerEnfant

public Node creerEnfant(Position newpos, Node n)
creer l'enfant n à la position newpos (avec JaxeElement.creer)

### setFocus

public void setFocus()
Met le focus dans un composant de l'élément après sa création. Par défaut demande le focus pour la zone de texte globale de Jaxe.

### insPosition

public Position insPosition()
position pour setCaretPosition après création d'un nouvel élément

### hasText

public boolean hasText(Node n)

### hasProcessing

public static boolean hasProcessing(Node n)

### getProcessing

public static ProcessingInstruction getProcessing(Node n)

### getParent

public JaxeElement getParent()
Renvoit l'élément parent, en utilisant l'arbre DOM

### getFirstChild

public JaxeElement getFirstChild()
Renvoit le premier élément enfant (ou null)

### getNextSibling

public JaxeElement getNextSibling()
Renvoit l'enfant suivant (ou null)

### supprimerEnfant

public void supprimerEnfant(JaxeElement je)
supprime l'enfant je à la fois dans le texte et dans le DOM

### supprimerEnfantDOM

public void supprimerEnfantDOM(JaxeElement je)
supprime l'enfant je dans le DOM

### remplacerEnfant

public void remplacerEnfant(JaxeElement je, JaxeElement newje)
remplace l'enfant je à la fois dans le texte et dans le DOM

### remplacerEnfantDOM

public void remplacerEnfantDOM(JaxeElement je, JaxeElement newje)
remplace l'enfant je dans le DOM

### avecIndentation

public boolean avecIndentation()
Indique si les descendants de l'élément doivent être indentés

### avecSautsDeLigne

public boolean avecSautsDeLigne()
Indique si des sauts de ligne doivent être ajoutés avant et après s'il n'y en a pas déjà

### indentations

public int indentations()
Renvoit les indentations dans l'arbre XML. 0 pour la racine de l'arbre et JETableTexte.

### couper

public JaxeElement couper(Position pos)
Coupe un élément en 2, retourne le nouvel élément créé après celui-ci. Par défaut, ne fait rien et renvoie null. Remplacé dans JETexte et JEStyle.

### fusionner

public void fusionner(JaxeElement el)
fusionne cet élément avec celui donné, dans le DOM (aucun changement du texte)

### regrouperTextes

public void regrouperTextes()
regroupe les JETexte dans les enfants

### setEffacementAutorise

public void setEffacementAutorise(boolean autorise)

### getEffacementAutorise

public boolean getEffacementAutorise()

### setEditionAutorisee

public void setEditionAutorisee(boolean autorise)

### getEditionAutorisee

public boolean getEditionAutorisee()

### selection

public void selection(boolean select)
Sélection de la zone de texte où se trouve cet élément

### aDesAttributs

public boolean aDesAttributs()

### getPointEnfant

public Point getPointEnfant(Element el)
Renvoit la position de l'élément descendant dans le JaxeTextPane. A implémenter dans les sous-classes ayant des composants Swing qui gèrent les éléments descendants, comme JEFormulaire ou JETable. Appelé par JaxeTextPane.allerElement().

### getString

protected static String getString(String key)

### changerStyle

public void changerStyle(String style, int offset, int longueur)

### attStyle

public SimpleAttributeSet attStyle(SimpleAttributeSet attorig)

### toString

public String toString()

Overrides:
  `toString` in class `Object`