jaxe.elements
Class JETableTexte

java.lang.Object
  extended by jaxe.JaxeElement
      extended by jaxe.elements.JETableTexte
All Implemented Interfaces:
java.awt.event.ActionListener, java.util.EventListener

public class JETableTexte
extends JaxeElement
implements java.awt.event.ActionListener

Table dans le texte, permettant l'insertion de sous-éléments dans les cellules. Type d'élément Jaxe: 'tabletexte' paramètre: trTag: un attribut correspondant à une ligne de tableau paramètre: tdTag: un attribut correspondant à une cellule de tableau paramètre: thTag: un attribut correspondant à une cellule d'entête de tableau paramètre: colspanAttr: Attributename for colspan paramètre: rowspanAttr: Attributename for rowspan


Nested Class Summary
(package private)  class JETableTexte.JESwingTD
           
 
Nested classes/interfaces inherited from class jaxe.JaxeElement
JaxeElement.MonBouton
 
Field Summary
(package private)  java.lang.String alignAttr
           
(package private)  boolean avecEntete
           
(package private)  java.lang.String colspanAttr
           
(package private)  org.w3c.dom.Element[][] grille
           
(package private)  TableHelper helper
           
(package private)  boolean inTable
           
(package private)  javax.swing.JTable jtable
           
private static org.apache.log4j.Logger LOG
          Logger for this class
(package private)  int nbcolonnes
           
(package private)  int nblignes
           
(package private) static java.lang.String newline
           
private  javax.swing.JPanel pboutons
           
(package private)  java.lang.String rowspanAttr
           
(package private)  java.lang.String tableTag
           
(package private)  java.lang.String TDtag
           
(package private)  java.lang.String THtag
           
(package private)  java.lang.String TRtag
           
 
Fields inherited from class jaxe.JaxeElement
compos, debut, doc, fin, jcomps, kBarre, kCouleur, kCouleurDeFond, kExposant, kGras, kIndice, kItalique, kSouligne, noeud, refElement
 
Constructor Summary
JETableTexte(JaxeDocument doc)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void afficherDialogue(javax.swing.JFrame jframe)
          Affiche le dialogue correspondant à l'élément
 void ajcolonne()
          Ajoute une colonne à cette table.
 void ajligne()
          Ajoute une ligne à cette table.
 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à
protected  JaxeElement cellulesel()
          Renvoit l'élément Jaxe correspondant à la cellule dans laquelle se trouve le curseur.
private  int colonnesel()
          Renvoit le numéro de la colonne dans laquelle se trouve le curseur.
private  void concatColumns()
          Regroupe la colonne dans laquelle se trouve le curseur avec la cellule à droite
private  void concatRows()
          Regroupe la cellule dans laquelle se trouve le curseur avec la cellule en-dessous
protected  javax.swing.text.Position creerElementsLigneJaxe(org.w3c.dom.Element trDOM, javax.swing.text.Element trSwing)
          Appelé par creerElementsTableJaxe pour créer les éléments Swing (JESwing) correspondants à une ligne de la table.
protected  void creerElementsTableJaxe(org.w3c.dom.Element elDOM, javax.swing.text.Element elSwing)
          Création des éléments Swing (JESwing) correspondants aux lignes et cellules de la table.
 void effacer()
          appelé juste avant que l'élément soit effacé
protected  void effacerComposants(java.util.ArrayList<java.lang.Object> allcomp)
           
 JaxeElement elementA(int pos)
          Renvoit l'élément de plus bas niveau se trouvant à la position donnée dans le texte
 java.util.ArrayList<JaxeElement> elementsDans(int dpos, int fpos)
          Renvoit les éléments se trouvant dans la zone du texte indiquée
private  java.util.ArrayList<JaxeElement> elementsDansNoeud(org.w3c.dom.Node noeud, int dpos, int fpos)
          Runs through every Node.
 int getOffsetDebut()
          Returns the OffsetDebut of the Table
protected  java.awt.Point getPointInGrille(JaxeElement jesel)
          Returns the Position of a JaxeElement in the Grille
private  JETableTexte getTable()
          Renvoit l'élément Jaxe JETableTexte correspondant à la table de plus bas niveau dans laquelle se trouve le curseur.
 void init(javax.swing.text.Position pos, org.w3c.dom.Node noeud)
          Insère le texte de l'élément à partir de l'arbre DOM, à la position pos dans le texte
private  JaxeElement lignesel()
          Renvoit l'élément Jaxe correspondant à la ligne dans laquelle se trouve le curseur.
 void majCellule(JaxeElement jesel)
          Mise à jour du modèle et de l'affichage après modification de colspan ou rowspan.
 void mettreAJourDOM()
          modif de JaxeElement.mettreAJourDOM pour éviter l'enregistrement de \n\n après
 void modcellule()
          Affiche le dialogue des attributs pour la cellule sélectionnée.
 void modifEntete()
          Transforme les cellules normales de la première ligne en cellules entête, ou inversement.
 void modligne()
          Affiche le dialogue des attributs pour la ligne sélectionnée.
 org.w3c.dom.Node nouvelElement(org.w3c.dom.Element refElement)
           
protected  void obtenirTags(org.w3c.dom.Element refElement)
           
private  void petitBouton(javax.swing.JButton b)
          Réduit la taille d'un bouton pour qu'il tienne dans une barre d'outils
protected  JaxeDocument.SwingElementSpec preparerSpecTable(org.w3c.dom.Element el, int offset)
          Renvoit la spécification qui permettra de créer la table dans la zone de texte.
protected  void rechercheComposantsNoeud(org.w3c.dom.Node noeud, java.util.ArrayList<java.lang.Object> al)
          Search all Childs, a thead can have Nodes, too.
protected  void rechercherComposants(JaxeElement je, java.util.ArrayList<java.lang.Object> al)
           
 void recreerTable(java.util.ArrayList<java.lang.Object> allcomp)
          Recrée l'affichage de la table.
protected  java.util.ArrayList<java.lang.Object> recupererComposants()
          Renvoit la liste des composants graphiques (JComponent ou Icon) à l'intérieur de la table (dans cet élément ou l'un de ses descendants).
 void selection(boolean select)
          Sélection de la zone de texte où se trouve cet élément
private  void splitColumns()
          Sépare la cellule en deux horizontalement (sur 2 colonnes)
private  void splitRows()
          Sépare la cellule en deux verticalement (sur 2 lignes)
private  int stringToInt(java.lang.String str, int def)
          Converts a String to Int
 void supcolonne()
          Supprime la colonne de cette table où se trouve le curseur.
 void supligne()
          Supprime la ligne de cette table où se trouve le curseur.
 
Methods inherited from class jaxe.JaxeElement
aDesAttributs, attStyle, avecIndentation, changerStyle, cheminA, couper, creer, creerEnfant, creerEnfants, enfantApres, fusionner, getComponentPositions, getComponents, getEditionAutorisee, getEffacementAutorise, getFirstChild, getMonBoutonBorder, getMonBoutonCouleurs, getMonBoutonFont, getNextSibling, getParent, getPointEnfant, getProcessing, getString, hasProcessing, hasText, indentations, inserer, insererDOM, insertComponent, insertIcon, insertText, insertText, insPosition, majAffichage, majValidite, nombreXPath, nouvelElementDOM, nouvelElementDOM, nouvelElementDOM, nouvelleInstructionDOM, regrouperTextes, remplacerEnfant, remplacerEnfantDOM, sameStyle, setEditionAutorisee, setEffacementAutorise, setFocus, setMonBoutonBorder, setMonBoutonCouleurs, setMonBoutonFont, supprimerEnfant, supprimerEnfantDOM, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

LOG

private static final org.apache.log4j.Logger LOG
Logger for this class


newline

static java.lang.String newline

tableTag

java.lang.String tableTag

TRtag

java.lang.String TRtag

TDtag

java.lang.String TDtag

THtag

java.lang.String THtag

colspanAttr

java.lang.String colspanAttr

rowspanAttr

java.lang.String rowspanAttr

alignAttr

java.lang.String alignAttr

jtable

javax.swing.JTable jtable

avecEntete

boolean avecEntete

nblignes

int nblignes

nbcolonnes

int nbcolonnes

grille

org.w3c.dom.Element[][] grille

inTable

boolean inTable

pboutons

private javax.swing.JPanel pboutons

helper

TableHelper helper
Constructor Detail

JETableTexte

public JETableTexte(JaxeDocument doc)
Method Detail

obtenirTags

protected void obtenirTags(org.w3c.dom.Element refElement)

init

public void init(javax.swing.text.Position pos,
                 org.w3c.dom.Node noeud)
Description copied from class: JaxeElement
Insère le texte de l'élément à partir de l'arbre DOM, à la position pos dans le texte

Specified by:
init in class JaxeElement

petitBouton

private void petitBouton(javax.swing.JButton b)
Réduit la taille d'un bouton pour qu'il tienne dans une barre d'outils


stringToInt

private int stringToInt(java.lang.String str,
                        int def)
Converts a String to Int

Parameters:
str - String
def - Default-Value
Returns:
Value, if Value was 0 it will be set to def

concatRows

private void concatRows()
Regroupe la cellule dans laquelle se trouve le curseur avec la cellule en-dessous


splitRows

private void splitRows()
Sépare la cellule en deux verticalement (sur 2 lignes)


concatColumns

private void concatColumns()
Regroupe la colonne dans laquelle se trouve le curseur avec la cellule à droite


splitColumns

private void splitColumns()
Sépare la cellule en deux horizontalement (sur 2 colonnes)


getPointInGrille

protected java.awt.Point getPointInGrille(JaxeElement jesel)
Returns the Position of a JaxeElement in the Grille

Parameters:
jesel - Element to find the Position for

mettreAJourDOM

public void mettreAJourDOM()
modif de JaxeElement.mettreAJourDOM pour éviter l'enregistrement de \n\n après

Overrides:
mettreAJourDOM in class JaxeElement

preparerSpecTable

protected JaxeDocument.SwingElementSpec preparerSpecTable(org.w3c.dom.Element el,
                                                          int offset)
Renvoit la spécification qui permettra de créer la table dans la zone de texte.


creerElementsTableJaxe

protected void creerElementsTableJaxe(org.w3c.dom.Element elDOM,
                                      javax.swing.text.Element elSwing)
Création des éléments Swing (JESwing) correspondants aux lignes et cellules de la table.


creerElementsLigneJaxe

protected javax.swing.text.Position creerElementsLigneJaxe(org.w3c.dom.Element trDOM,
                                                           javax.swing.text.Element trSwing)
Appelé par creerElementsTableJaxe pour créer les éléments Swing (JESwing) correspondants à une ligne de la table.


nouvelElement

public org.w3c.dom.Node nouvelElement(org.w3c.dom.Element refElement)
Specified by:
nouvelElement in class JaxeElement

avecSautsDeLigne

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

Overrides:
avecSautsDeLigne in class JaxeElement

afficherDialogue

public void afficherDialogue(javax.swing.JFrame jframe)
Description copied from class: JaxeElement
Affiche le dialogue correspondant à l'élément

Overrides:
afficherDialogue in class JaxeElement

rechercherComposants

protected void rechercherComposants(JaxeElement je,
                                    java.util.ArrayList<java.lang.Object> al)

rechercheComposantsNoeud

protected void rechercheComposantsNoeud(org.w3c.dom.Node noeud,
                                        java.util.ArrayList<java.lang.Object> al)
Search all Childs, a thead can have Nodes, too. BUT a thead is *not* visible

Parameters:
noeud - Node to search in
al - Arraylist of Components

recupererComposants

protected java.util.ArrayList<java.lang.Object> recupererComposants()
Renvoit la liste des composants graphiques (JComponent ou Icon) à l'intérieur de la table (dans cet élément ou l'un de ses descendants).


elementsDans

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

Overrides:
elementsDans in class JaxeElement

elementsDansNoeud

private java.util.ArrayList<JaxeElement> elementsDansNoeud(org.w3c.dom.Node noeud,
                                                           int dpos,
                                                           int fpos)
Runs through every Node. If no JaxeElement is available for a node, in all Childs of the Node will be searched

Parameters:
noeud - Node to search in
dpos - Position
fpos - Position
Returns:
List of all JaxeElements

effacerComposants

protected void effacerComposants(java.util.ArrayList<java.lang.Object> allcomp)

getOffsetDebut

public int getOffsetDebut()
Returns the OffsetDebut of the Table

Returns:
OffsetDebut

recreerTable

public void recreerTable(java.util.ArrayList<java.lang.Object> allcomp)
Recrée l'affichage de la table. Les composants graphiques qui se trouvent à l'intérieur sont passés en paramètres pour pouvoir être effacés correctement avant d'être reconstruits.


ajligne

public void ajligne()
Ajoute une ligne à cette table. Si le curseur se trouve sur une ligne de cette table, la ligne est ajoutée après la ligne sur laquelle se trouve le curseur. Sinon la ligne est ajoutée à la fin de la table.


supligne

public void supligne()
Supprime la ligne de cette table où se trouve le curseur.


ajcolonne

public void ajcolonne()
Ajoute une colonne à cette table. Si le curseur se trouve sur une colonne de cette table, la colonne est ajoutée après la colonne sur laquelle se trouve le curseur. Sinon la colonne est ajoutée à la droite de la table.


supcolonne

public void supcolonne()
Supprime la colonne de cette table où se trouve le curseur.


modifEntete

public void modifEntete()
Transforme les cellules normales de la première ligne en cellules entête, ou inversement.


lignesel

private JaxeElement lignesel()
Renvoit l'élément Jaxe correspondant à la ligne dans laquelle se trouve le curseur.


colonnesel

private int colonnesel()
Renvoit le numéro de la colonne dans laquelle se trouve le curseur.


cellulesel

protected JaxeElement cellulesel()
Renvoit l'élément Jaxe correspondant à la cellule dans laquelle se trouve le curseur.


modligne

public void modligne()
Affiche le dialogue des attributs pour la ligne sélectionnée.


modcellule

public void modcellule()
Affiche le dialogue des attributs pour la cellule sélectionnée.


majCellule

public void majCellule(JaxeElement jesel)
Mise à jour du modèle et de l'affichage après modification de colspan ou rowspan.


effacer

public void effacer()
Description copied from class: JaxeElement
appelé juste avant que l'élément soit effacé

Overrides:
effacer in class JaxeElement

selection

public void selection(boolean select)
Description copied from class: JaxeElement
Sélection de la zone de texte où se trouve cet élément

Overrides:
selection in class JaxeElement

getTable

private JETableTexte getTable()
Renvoit l'élément Jaxe JETableTexte correspondant à la table de plus bas niveau dans laquelle se trouve le curseur. Permet de distinguer quelle table est sélectionnée quand il y a plusieurs tables imbriquées.


actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

elementA

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

Overrides:
elementA in class JaxeElement