jaxe.elements
Class AffichageFormulaire

java.lang.Object
  extended by jaxe.elements.AffichageFormulaire
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ItemListener, java.util.EventListener, javax.swing.event.DocumentListener

public class AffichageFormulaire
extends java.lang.Object
implements javax.swing.event.DocumentListener, java.awt.event.ActionListener, java.awt.event.ItemListener

Affichage pour JEFormulaire (affichage d'un élément sous forme d'un formulaire). Attention, le nombre de descendants possibles ne doit pas être infini !


Nested Class Summary
(package private)  class AffichageFormulaire.ActionAide
           
 
Field Summary
private  java.util.ArrayList<AffichageFormulaire> affEnfants
           
private  AffichageFormulaire affParent
           
private  Config cfg
           
private  javax.swing.JComponent comp
           
private static java.awt.Color couleurErreur
           
private static java.awt.Color couleurFacultatif
           
private static java.awt.Color couleurObligatoire
           
private  JaxeDocument doc
           
private  org.w3c.dom.Element el
           
private  java.util.ArrayList<org.w3c.dom.Element> enfants
           
private static javax.swing.ImageIcon iconeAttributs
           
private  javax.swing.JLabel labelTitre
           
private  java.util.ArrayList<java.lang.String> listeValeurs
           
private static org.apache.log4j.Logger LOG
          Logger for this class
private  javax.swing.JPanel panelDroite
           
private  javax.swing.JPanel panelElement
           
private  javax.swing.JPanel panelEnfants
           
private  javax.swing.JPanel panelGauche
           
private  int profondeur
           
private static int profondeurMax
           
private  org.w3c.dom.Element refElement
           
private  java.util.ArrayList<org.w3c.dom.Element> refEnfantsPossibles
           
private  VerifTypeSimple verif
           
 
Constructor Summary
AffichageFormulaire(org.w3c.dom.Element refElement, org.w3c.dom.Element el, AffichageFormulaire affParent, JaxeDocument doc)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
private  boolean aDesAttributs()
          Renvoit true si l'élément a des attributs.
 void afficherDialogueAttributs()
          Affiche le dialogue d'édition des attributs.
private  void ajouterAffichageEnfant(AffichageFormulaire aff)
          Mise à jour de l'affichage causée par le changement dans un sous-affichage.
private  boolean avecEnfants()
          Renvoit true si le nombre d'enfants possible est supérieur à 0.
 void changedUpdate(javax.swing.event.DocumentEvent e)
           
private  void creerElement()
          Crée l'élément DOM correspondant à l'affichage, si nécessaire en créant l'élément DOM parent.
private  void effacerElement()
          Efface l'élément DOM, et son parent s'il devient vide.
private  boolean elementObligatoire(org.w3c.dom.Element ref)
          Renvoit true si l'enfant de référence ref est obligatoire.
private  boolean enfantsMultiples(org.w3c.dom.Element ref)
          Renvoit true si l'élément peut avoir des enfants multiples avec la référence ref (sequence ou choice).
private  void enregistrerChangement()
          Enregistre un changement dans le DOM.
private  org.w3c.dom.Element getElement()
          Renvoit l'élément DOM.
private  org.w3c.dom.Element getElementRef()
          Renvoit la référence de l'élément dans le schéma.
 javax.swing.JPanel getPanel()
          Renvoit le JPanel à afficher.
private  javax.swing.JPanel getPanel(boolean dernier)
          Renvoit le JPanel à afficher, avec en paramètre un booléen indiquant s'il s'agit du dernier élément à afficher dans une liste d'enfants (auquel cas un bouton + peut être affiché)
private  javax.swing.JPanel getPanelDroite(boolean dernier)
          Renvoit le JPanel de droite, avec la valeur modifiable.
private  javax.swing.JPanel getPanelGauche()
          Renvoit le JPanel de gauche, avec le titre du champ.
private  javax.swing.JPanel getPanelTitre()
          Panel avec le titre de l'élément, et les boutons d'aide et d'attributs de l'élément
 java.awt.Point getPoint()
           
 java.awt.Point getPointEnfant(org.w3c.dom.Element enfant)
           
private  int getProfondeur()
          Renvoit la profondeur de l'affichage (utile pour éviter les dépassements de pile).
private  java.lang.String getStringLabelTitre()
          Renvoit le nom de l'élément, optionnellement avec une valeur d'attribut spécifié par le paramètre titreAtt
private  java.lang.String getValeur()
          Renvoit la valeur du composant d'édition
 void insertUpdate(javax.swing.event.DocumentEvent e)
           
 void itemStateChanged(java.awt.event.ItemEvent e)
           
private  void lireEnfants()
          Lecture du tableau des éléments enfants.
 void majAffichage()
           
private  void majPanel(org.w3c.dom.Element refAjout)
          Met à jour l'affichage quand on ajoute un élément (donné en paramètre)
private  void placerAffichage(AffichageFormulaire affEnfant, javax.swing.JPanel elpane, java.awt.GridBagConstraints c, int pos, boolean dernier)
          Place le JPanel d'un enfant dans le JPanel courant (elpane).
 void removeUpdate(javax.swing.event.DocumentEvent e)
           
private  void retirerAffichageEnfant(AffichageFormulaire aff)
          Retire un élément et son affichage ( bouton - )
 void selection(boolean select)
           
private  void setValidite(boolean valide)
          Change l'affichage du composant d'édition en fonction de la validité de sa valeur
private  void testEffacementParent()
          Efface l'élément s'il est vide.
private  org.w3c.dom.Element trouverSuivant(org.w3c.dom.Element ref)
          Renvoit l'élément enfant se trouvant après la place où se trouverait l'enfant de référence ref.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

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


couleurErreur

private static final java.awt.Color couleurErreur

couleurObligatoire

private static final java.awt.Color couleurObligatoire

couleurFacultatif

private static final java.awt.Color couleurFacultatif

iconeAttributs

private static final javax.swing.ImageIcon iconeAttributs

profondeurMax

private static final int profondeurMax
See Also:
Constant Field Values

refElement

private final org.w3c.dom.Element refElement

el

private org.w3c.dom.Element el

affParent

private final AffichageFormulaire affParent

doc

private final JaxeDocument doc

cfg

private final Config cfg

enfants

private java.util.ArrayList<org.w3c.dom.Element> enfants

comp

private javax.swing.JComponent comp

verif

private final VerifTypeSimple verif

refEnfantsPossibles

private final java.util.ArrayList<org.w3c.dom.Element> refEnfantsPossibles

labelTitre

private javax.swing.JLabel labelTitre

panelElement

private javax.swing.JPanel panelElement

panelEnfants

private javax.swing.JPanel panelEnfants

panelGauche

private javax.swing.JPanel panelGauche

panelDroite

private javax.swing.JPanel panelDroite

profondeur

private int profondeur

affEnfants

private java.util.ArrayList<AffichageFormulaire> affEnfants

listeValeurs

private java.util.ArrayList<java.lang.String> listeValeurs
Constructor Detail

AffichageFormulaire

public AffichageFormulaire(org.w3c.dom.Element refElement,
                           org.w3c.dom.Element el,
                           AffichageFormulaire affParent,
                           JaxeDocument doc)
Method Detail

lireEnfants

private void lireEnfants()
Lecture du tableau des éléments enfants.


avecEnfants

private boolean avecEnfants()
Renvoit true si le nombre d'enfants possible est supérieur à 0.


getPanel

public javax.swing.JPanel getPanel()
Renvoit le JPanel à afficher.


getPanel

private javax.swing.JPanel getPanel(boolean dernier)
Renvoit le JPanel à afficher, avec en paramètre un booléen indiquant s'il s'agit du dernier élément à afficher dans une liste d'enfants (auquel cas un bouton + peut être affiché)


getPanelTitre

private javax.swing.JPanel getPanelTitre()
Panel avec le titre de l'élément, et les boutons d'aide et d'attributs de l'élément


majPanel

private void majPanel(org.w3c.dom.Element refAjout)
Met à jour l'affichage quand on ajoute un élément (donné en paramètre)


placerAffichage

private void placerAffichage(AffichageFormulaire affEnfant,
                             javax.swing.JPanel elpane,
                             java.awt.GridBagConstraints c,
                             int pos,
                             boolean dernier)
Place le JPanel d'un enfant dans le JPanel courant (elpane).


getStringLabelTitre

private java.lang.String getStringLabelTitre()
Renvoit le nom de l'élément, optionnellement avec une valeur d'attribut spécifié par le paramètre titreAtt


getPanelGauche

private javax.swing.JPanel getPanelGauche()
Renvoit le JPanel de gauche, avec le titre du champ. Utilisé dans le cas où il n'y a pas d'enfants.


getPanelDroite

private javax.swing.JPanel getPanelDroite(boolean dernier)
Renvoit le JPanel de droite, avec la valeur modifiable. Utilisé dans le cas où il n'y a pas d'enfants.


insertUpdate

public void insertUpdate(javax.swing.event.DocumentEvent e)
Specified by:
insertUpdate in interface javax.swing.event.DocumentListener

removeUpdate

public void removeUpdate(javax.swing.event.DocumentEvent e)
Specified by:
removeUpdate in interface javax.swing.event.DocumentListener

changedUpdate

public void changedUpdate(javax.swing.event.DocumentEvent e)
Specified by:
changedUpdate in interface javax.swing.event.DocumentListener

enregistrerChangement

private void enregistrerChangement()
Enregistre un changement dans le DOM.


getValeur

private java.lang.String getValeur()
Renvoit la valeur du composant d'édition


setValidite

private void setValidite(boolean valide)
Change l'affichage du composant d'édition en fonction de la validité de sa valeur


getElement

private org.w3c.dom.Element getElement()
Renvoit l'élément DOM.


getElementRef

private org.w3c.dom.Element getElementRef()
Renvoit la référence de l'élément dans le schéma.


getProfondeur

private int getProfondeur()
Renvoit la profondeur de l'affichage (utile pour éviter les dépassements de pile).


creerElement

private void creerElement()
Crée l'élément DOM correspondant à l'affichage, si nécessaire en créant l'élément DOM parent.


trouverSuivant

private org.w3c.dom.Element trouverSuivant(org.w3c.dom.Element ref)
Renvoit l'élément enfant se trouvant après la place où se trouverait l'enfant de référence ref. (permet d'insérer un futur élément de référence ref par rapport à l'élément suivant)


effacerElement

private void effacerElement()
Efface l'élément DOM, et son parent s'il devient vide.


testEffacementParent

private void testEffacementParent()
Efface l'élément s'il est vide.


enfantsMultiples

private boolean enfantsMultiples(org.w3c.dom.Element ref)
Renvoit true si l'élément peut avoir des enfants multiples avec la référence ref (sequence ou choice).


elementObligatoire

private boolean elementObligatoire(org.w3c.dom.Element ref)
Renvoit true si l'enfant de référence ref est obligatoire.


aDesAttributs

private boolean aDesAttributs()
Renvoit true si l'élément a des attributs.


ajouterAffichageEnfant

private void ajouterAffichageEnfant(AffichageFormulaire aff)
Mise à jour de l'affichage causée par le changement dans un sous-affichage.


retirerAffichageEnfant

private void retirerAffichageEnfant(AffichageFormulaire aff)
Retire un élément et son affichage ( bouton - )


actionPerformed

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

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent e)
Specified by:
itemStateChanged in interface java.awt.event.ItemListener

afficherDialogueAttributs

public void afficherDialogueAttributs()
Affiche le dialogue d'édition des attributs.


getPointEnfant

public java.awt.Point getPointEnfant(org.w3c.dom.Element enfant)

getPoint

public java.awt.Point getPoint()

selection

public void selection(boolean select)

majAffichage

public void majAffichage()