ui.editor
Class EditeurTan

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by ui.editor.EditeurBraille
                          extended by ui.editor.EditeurTan
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.ComponentListener, java.awt.event.FocusListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.DocumentListener, javax.swing.event.UndoableEditListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants, TextSender, FileChangeListener

public class EditeurTan
extends EditeurBraille
implements java.awt.event.MouseListener, FileChangeListener, java.awt.event.KeyListener

Cette classe de l'interface graphique permet d'afficher le fichier transcrit et d'intéragir avec le fichier à mettre en forme (édition, mode perkins, etc.).

Author:
Bruno Mascret
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  javax.swing.JButton btApercuNoir
          JButton aperçu en noir du texte braille saisi
private  javax.swing.JButton btEnregNoir
          JButton enregistrer fich noir
private  javax.swing.JButton btMajBraille
          JButton mettre à jour le texte braille
private  javax.swing.JButton btNavigateur
          JButton aperçu dans un navigateur
private  FileMonitor fMon
          FileMonitor suit les modifications faites sur le ou les fichiers mathml édités par openoffice
private  javax.swing.JMenuItem jmiApercuNavigateur
          Menu item apercu noir dans navigateur
private  javax.swing.JMenuItem jmiEnregistrerNoir
          Menu item enregistrer le fichier noir
private  javax.swing.JMenuItem jmiMAJBraille
          Menu item mettre à jour le fichier braille
private  javax.swing.JMenuItem jmiMAJNoir
          Menu item mettre à jour le fichier noir
private  java.lang.String ldc
          ligne de commande à exécuter pour lancer OpenOffice
private  java.util.ArrayList<net.sourceforge.jeuclid.swing.JMathComponent> lMaths
          Liste des JMathComponent utilisés en noir
private  Nat nat
          instance de nat pour lancer les détranscriptions
private  AfficheurJTASwing panneauLog
          Afficheur graphique de logs
private  java.lang.String script
          adresse du script de lancement de l'éditeur d'openoffice
private  javax.swing.JScrollPane scrollAp
          le ScrollPane associé au JTextPane apercu
private static long serialVersionUID
          identifiant par défaut pour la sérialisation (non utilisé dans NAT)
private static int STYLE_EM
          Constante de style: emphase
private static int STYLE_SUB
          Constante de style: indice
private static int STYLE_SUP
          Constante de style: exposant
private static Language texts
          Textual contents
private static java.lang.String TMP_MATHML
          constante identifiant la base du nom du fichier temporaire d'édition des maths
static java.lang.String tmpApercu
          nom du fichier braille généré pour obtenir l'apercu
static java.lang.String tmpXHTML
          nom du fichier xhtml réalisé en détranscrivant tmpApercu
 
Fields inherited from class ui.editor.EditeurBraille
apercu, btEmbosser, btEnregistrer, btEnregistrersous, btFermer, btRedo, btUndo, embosseur, encodage, enModif, gestErreur, jcbPerkins, jmb, jmEdition, jmFichier, jmiEmboss, jmiEnregistrer, jmiEnregistrerSous, jmiPerkins, jmiQuitter, jmiRedo, jmiResetPos, jmiShowLeft, jmiShowRight, jmiUndo, jmView, lFichier, message, modif, panneauAffichage, pn, positionCurseur, resultat, scrollRes, splitPane, tailleCaractere, undoMng
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
EditeurTan(Embosseur emb, java.lang.String f, Nat n)
          Construit un objet Editeur
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          Implémente la méthode actionPerformed d'ActionListener Gère les actions des boutons et met à jour l'InputMap du JTextPane resultat en fonction de l'état du JCheckBox jcbPerkins
 void afficheFichier(java.lang.String nomFichier, java.lang.String police, int taillePolice)
          Affiche le fichier dans le JTextPane
 void afficheFichier(java.lang.String nomFichier, java.lang.String police, int taillePolice, java.lang.String police2, int taillePolice2)
          Affiche le fichier dans le JTextPane resultat et configure la ligne secondaire
private  void afficheNoir()
          Affiche en noir dans EditeurBraille.apercu la détranscription du texte de EditeurBraille.resultat
private  boolean detranscrit()
          Détranscrit le texte contenu dans EditeurBraille.resultat
 void dispose()
          Supprime aussi panneauLog des écouteurs de logs
private  void drawLit(org.w3c.dom.Node f, int pere)
          Ecrit récursivement les contenus littéraires en fonction de leur attributs de mise en forme
private  void editFormule(net.sourceforge.jeuclid.swing.JMathComponent jmc)
          Edite dans openoffice le composant mathématique passé en paramètre
protected  void enregistrerFichierNoir(java.lang.String fichierNoir, boolean changeNom)
          Enregistre aussi le fichier noir (en XHTML)
 boolean fabriqueExec(int os, java.lang.String fichMath)
          Fabrique le script de lancement de l'éditeur mathématique d'OOo en fonction de l'OS
 void fileChanged(java.lang.String fileName)
          Le fichier a été modifié
private  int getStyle(org.w3c.dom.Node item)
          Renvoie le code du style pour le noeud item
 java.lang.String getText()
          Renvoie le texte contenu dans EditeurBraille.resultat
 void keyPressed(java.awt.event.KeyEvent ke)
          Prend en charge l'utilisation de ENTER sur un JMathComponent
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void mouseClicked(java.awt.event.MouseEvent me)
           
 void mouseEntered(java.awt.event.MouseEvent arg0)
           
 void mouseExited(java.awt.event.MouseEvent arg0)
           
 void mousePressed(java.awt.event.MouseEvent arg0)
           
 void mouseReleased(java.awt.event.MouseEvent arg0)
           
 void setVisible(boolean v)
          Demande aussi s'il faut effacer le fichier temporaire mémorisé
private  boolean transcrit()
          Transcrit le fichier d'aperçu tmpXHTML
 void windowClosing(java.awt.event.WindowEvent arg0)
          Vérifie si il faut demander l'enregistrement Enregistre la position de la barre de division Appelle EditeurBraille.windowClosing(WindowEvent)
 
Methods inherited from class ui.editor.EditeurBraille
ajouteListenerDoc, changedUpdate, componentHidden, componentMoved, componentResized, componentShown, enregistrerFichier, enregistrerFichier, focusGained, focusLost, getFichier, getOrigine, insertUpdate, manageError, removeUpdate, setEncodage, setFichier, undoableEditHappened, windowActivated, windowClosed, windowDeactivated, windowDeiconified, windowIconified, windowOpened
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

texts

private static Language texts
Textual contents


serialVersionUID

private static final long serialVersionUID
identifiant par défaut pour la sérialisation (non utilisé dans NAT)

See Also:
Constant Field Values

tmpApercu

public static final java.lang.String tmpApercu
nom du fichier braille généré pour obtenir l'apercu


tmpXHTML

public static final java.lang.String tmpXHTML
nom du fichier xhtml réalisé en détranscrivant tmpApercu


STYLE_EM

private static final int STYLE_EM
Constante de style: emphase

See Also:
Constant Field Values

STYLE_SUP

private static final int STYLE_SUP
Constante de style: exposant

See Also:
Constant Field Values

STYLE_SUB

private static final int STYLE_SUB
Constante de style: indice

See Also:
Constant Field Values

scrollAp

private javax.swing.JScrollPane scrollAp
le ScrollPane associé au JTextPane apercu


btNavigateur

private javax.swing.JButton btNavigateur
JButton aperçu dans un navigateur


btApercuNoir

private javax.swing.JButton btApercuNoir
JButton aperçu en noir du texte braille saisi


btEnregNoir

private javax.swing.JButton btEnregNoir
JButton enregistrer fich noir


btMajBraille

private javax.swing.JButton btMajBraille
JButton mettre à jour le texte braille


lMaths

private java.util.ArrayList<net.sourceforge.jeuclid.swing.JMathComponent> lMaths
Liste des JMathComponent utilisés en noir


TMP_MATHML

private static java.lang.String TMP_MATHML
constante identifiant la base du nom du fichier temporaire d'édition des maths


script

private java.lang.String script
adresse du script de lancement de l'éditeur d'openoffice


nat

private Nat nat
instance de nat pour lancer les détranscriptions


ldc

private java.lang.String ldc
ligne de commande à exécuter pour lancer OpenOffice


fMon

private FileMonitor fMon
FileMonitor suit les modifications faites sur le ou les fichiers mathml édités par openoffice


panneauLog

private AfficheurJTASwing panneauLog
Afficheur graphique de logs

Since:
2.0

jmiMAJBraille

private javax.swing.JMenuItem jmiMAJBraille
Menu item mettre à jour le fichier braille


jmiMAJNoir

private javax.swing.JMenuItem jmiMAJNoir
Menu item mettre à jour le fichier noir


jmiEnregistrerNoir

private javax.swing.JMenuItem jmiEnregistrerNoir
Menu item enregistrer le fichier noir


jmiApercuNavigateur

private javax.swing.JMenuItem jmiApercuNavigateur
Menu item apercu noir dans navigateur

Constructor Detail

EditeurTan

public EditeurTan(Embosseur emb,
                  java.lang.String f,
                  Nat n)
Construit un objet Editeur

Parameters:
emb - l'objet Embosseur à utiliser pour l'embossage
f - adresse du fichier édité
n - instance de nat pour lancer les détranscriptions
Method Detail

setVisible

public void setVisible(boolean v)
Demande aussi s'il faut effacer le fichier temporaire mémorisé

Overrides:
setVisible in class java.awt.Window
See Also:
Window.setVisible(boolean)

enregistrerFichierNoir

protected void enregistrerFichierNoir(java.lang.String fichierNoir,
                                      boolean changeNom)
Enregistre aussi le fichier noir (en XHTML)

Parameters:
fichierNoir - adresse du fichier noir
changeNom - vrai si il faut enregistrer le fichier sous un autre nom TODO: paramétrage pour ajouter ou non un doctype; pour l'instant, la variable est toujours à faux

afficheFichier

public void afficheFichier(java.lang.String nomFichier,
                           java.lang.String police,
                           int taillePolice,
                           java.lang.String police2,
                           int taillePolice2)
Affiche le fichier dans le JTextPane resultat et configure la ligne secondaire

Parameters:
nomFichier - nom du fichier transcrit
police - police principale
taillePolice - taille de la police principale
police2 - police secondaire
taillePolice2 - taille de la police secondaire

afficheFichier

public void afficheFichier(java.lang.String nomFichier,
                           java.lang.String police,
                           int taillePolice)
Affiche le fichier dans le JTextPane

Parameters:
nomFichier - nom du fichier transcrit
police - police principale
taillePolice - taille de la police principale

detranscrit

private boolean detranscrit()
Détranscrit le texte contenu dans EditeurBraille.resultat

Returns:
true si détranscription sans erreur

transcrit

private boolean transcrit()
Transcrit le fichier d'aperçu tmpXHTML

Returns:
true si transcription sans erreur

afficheNoir

private void afficheNoir()
Affiche en noir dans EditeurBraille.apercu la détranscription du texte de EditeurBraille.resultat


getStyle

private int getStyle(org.w3c.dom.Node item)
Renvoie le code du style pour le noeud item

Parameters:
item - le noeud à tester
Returns:
code du style

drawLit

private void drawLit(org.w3c.dom.Node f,
                     int pere)
Ecrit récursivement les contenus littéraires en fonction de leur attributs de mise en forme

Parameters:
f - le noeud courant
pere - le type de pere du noeud courant

getText

public java.lang.String getText()
Renvoie le texte contenu dans EditeurBraille.resultat

Specified by:
getText in interface TextSender
Specified by:
getText in class EditeurBraille
Returns:
Le texte contenu dans EditeurBraille.resultat
See Also:
TextSender.getText()

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Implémente la méthode actionPerformed d'ActionListener Gère les actions des boutons et met à jour l'InputMap du JTextPane resultat en fonction de l'état du JCheckBox jcbPerkins

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class EditeurBraille
Parameters:
evt - l'objet ActionEvent

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent me)
Specified by:
mouseClicked in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseClicked(java.awt.event.MouseEvent)

editFormule

private void editFormule(net.sourceforge.jeuclid.swing.JMathComponent jmc)
Edite dans openoffice le composant mathématique passé en paramètre

Parameters:
jmc - le JMathComponent à éditer

fabriqueExec

public boolean fabriqueExec(int os,
                            java.lang.String fichMath)
Fabrique le script de lancement de l'éditeur mathématique d'OOo en fonction de l'OS

Parameters:
os - indique le système d'exploitation
fichMath - nom du fichier temporaire mathml
Returns:
true si OO a été détecté et que le script a bien été créé

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent arg0)
Specified by:
mouseEntered in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseEntered(java.awt.event.MouseEvent)

mouseExited

public void mouseExited(java.awt.event.MouseEvent arg0)
Specified by:
mouseExited in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseExited(java.awt.event.MouseEvent)

mousePressed

public void mousePressed(java.awt.event.MouseEvent arg0)
Specified by:
mousePressed in interface java.awt.event.MouseListener
See Also:
MouseListener.mousePressed(java.awt.event.MouseEvent)

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent arg0)
Specified by:
mouseReleased in interface java.awt.event.MouseListener
See Also:
MouseListener.mouseReleased(java.awt.event.MouseEvent)

fileChanged

public void fileChanged(java.lang.String fileName)
Le fichier a été modifié

Specified by:
fileChanged in interface FileChangeListener
Parameters:
fileName - adresse du fichier
See Also:
FileChangeListener.fileChanged(java.lang.String)

keyPressed

public void keyPressed(java.awt.event.KeyEvent ke)
Prend en charge l'utilisation de ENTER sur un JMathComponent

Specified by:
keyPressed in interface java.awt.event.KeyListener

windowClosing

public void windowClosing(java.awt.event.WindowEvent arg0)
Vérifie si il faut demander l'enregistrement Enregistre la position de la barre de division Appelle EditeurBraille.windowClosing(WindowEvent)

Specified by:
windowClosing in interface java.awt.event.WindowListener
Overrides:
windowClosing in class EditeurBraille
See Also:
WindowListener.windowClosing(java.awt.event.WindowEvent)

dispose

public void dispose()
Supprime aussi panneauLog des écouteurs de logs

Overrides:
dispose in class java.awt.Window
See Also:
Window.dispose()

keyReleased

public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener
See Also:
KeyListener.keyReleased(java.awt.event.KeyEvent)

keyTyped

public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener
See Also:
KeyListener.keyTyped(java.awt.event.KeyEvent)