tvouriot.elife.gui
Class ElifeTextArea

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--org.gjt.sp.jedit.textarea.JEditTextArea
                          |
                          +--tvouriot.elife.gui.ElifeTextArea
All Implemented Interfaces:
javax.swing.event.CaretListener, javax.swing.event.DocumentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.swing.event.UndoableEditListener

public class ElifeTextArea
extends JEditTextArea
implements javax.swing.event.DocumentListener, javax.swing.event.UndoableEditListener, javax.swing.event.CaretListener

Zone de texte permettant l'édition des fichiers et contenant les fonctions d'ouverture, d'enregistrement et de recherche/remplacement

See Also:
Serialized Form

Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Fields inherited from class org.gjt.sp.jedit.textarea.JEditTextArea
biasLeft, blink, BOTTOM, bracketLine, bracketPosition, caretBlinks, caretEvent, caretTimer, caretVisible, CENTER, document, documentHandler, editable, electricScroll, firstLine, focusedComponent, gutter, horizontal, horizontalOffset, inputHandler, LEFT, LEFT_OF_SCROLLBAR, lineSegment, listenerList, magicCaret, overwrite, painter, popup, rectSelect, RIGHT, scrollBarsInitialized, selectionEnd, selectionEndLine, selectionStart, selectionStartLine, vertical, visibleLines
 
Fields inherited from class javax.swing.JComponent
accessibleContext, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ElifeTextArea()
          Constructeur
 
Method Summary
 void caretUpdate(javax.swing.event.CaretEvent evt)
           
 void changeAutoIndentMode()
          Active ou désactive le mode auto-indentation
 void changedUpdate(javax.swing.event.DocumentEvent documentEvent)
           
 void changeEOLMarkersPainted()
          Affiche ou cache les marqueurs de fin de lignes
 void changeGutterPainted()
          Affiche ou cache la goutière
 void changeSyntax(java.lang.String s)
          Change la coloration syntaxique qui sera utilisée
protected  void finalize()
          Permet de faciliter le travail du ramasse miettes
 boolean find(java.lang.String searchStr, int start, boolean ignoreCase)
          Fonction tirée de l'éditeur Jext (http://www.jext.org) Return the result of a string search.
 java.io.File getCurrentFile()
          Retourne le fichier courant
 java.lang.String getFindPattern()
          Renvoie le dernier mot ayant été recherché
 int getLength()
          Renvoie la taille du fichier courant
 int getLineStartOffset(int off)
          Renvoie l'offset du début de ligne d'un autre offset
 java.lang.String getOpenBrackets()
          Retourne les parenthèses ouvrantes d'un bloc de code en fonction du mode de coloration syntaxique
 java.lang.String getReplacePattern()
          Renvoie la valeur du dernier mot ayant servi pour le remplacement
 java.lang.String getSyntax()
          Retourne lengthtype de coloration syntaxique
 javax.swing.undo.UndoManager getUndo()
          Retourne l'objet permettant de rétablir ou d'annuler une action
 void initSyntax()
          Initialise la coloration syntaxique qui sera utilisée en fonction de l'extension du fichier
 void insertUpdate(javax.swing.event.DocumentEvent evt)
           
 boolean isDirty()
          Teste si la zone de texte a été modifié sans être enregistré
 boolean isEmpty()
          Teste si la zone de texte contient un fichier vide
 boolean isNew()
          Teste si la zone de texte contient un fichier est nouveau
 void open(java.io.File toLoad)
          Fonction tirée de l'éditeur Jext (http://www.jext.org) Called to load a new file in the text area.
 void removeUpdate(javax.swing.event.DocumentEvent documentEvent)
           
 boolean replaceAll(java.lang.String searchStr, java.lang.String replaceStr, int start, int end, boolean ignoreCase)
          Fonction tirée de l'éditeur Jext (http://www.jext.org) Return the result of a string replace.
 boolean save(java.io.File file)
          Enregistre le contenu de la zone de texte dans fichier
 void setCurrentFile(java.io.File path)
          Modifie le fichier courant
 void setDirty(boolean b)
          Fonction permettant de définir si la zone de texte a été modifié sans être enregistré
 void setDocument(SyntaxDocument document)
          Changer le document associé à la zone de texte
 void setFindPattern(java.lang.String pattern)
          Modifier la valeur du dernier mot ayant été recherché
 void setNew(boolean newFlag)
          Fonction permettant de definir si la zone de texte contient un fichier nouveau
 void setReplacePattern(java.lang.String pattern)
          Modifier la valeur du dernier mot ayant servi pour le remplacement
 void undoableEditHappened(javax.swing.event.UndoableEditEvent e)
           
 
Methods inherited from class org.gjt.sp.jedit.textarea.JEditTextArea
_offsetToX, addCaretListener, blinkCaret, copy, cut, documentChanged, fireCaretEvent, getBracketLine, getBracketPosition, getCaretLine, getCaretPosition, getDocument, getDocumentLength, getElectricScroll, getFirstLine, getGutter, getHorizontalOffset, getInputHandler, getLineCount, getLineEndOffset, getLineLength, getLineOfOffset, getLineText, getLineText, getMagicCaretPosition, getMarkLine, getMarkPosition, getPainter, getRightClickPopup, getSelectedText, getSelectionEnd, getSelectionEnd, getSelectionEndLine, getSelectionStart, getSelectionStart, getSelectionStartLine, getText, getText, getText, getTokenMarker, getVisibleLines, isCaretBlinkEnabled, isCaretVisible, isEditable, isManagingFocus, isOverwriteEnabled, isSelectionRectangular, lineToY, offsetToX, overwriteSetSelectedText, paste, processKeyEvent, recalculateVisibleLines, removeCaretListener, removeNotify, scrollTo, scrollToCaret, select, selectAll, selectNone, setCaretBlinkEnabled, setCaretPosition, setCaretVisible, setEditable, setElectricScroll, setFirstLine, setHorizontalOffset, setInputHandler, setMagicCaretPosition, setOrigin, setOverwriteEnabled, setRightClickPopup, setSelectedText, setSelectionEnd, setSelectionRectangular, setSelectionStart, setText, setTokenMarker, updateBracketHighlight, updateScrollBars, xToOffset, xyToOffset, yToLine
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getUIClassID, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ElifeTextArea

public ElifeTextArea()
Constructeur
Method Detail

changeEOLMarkersPainted

public void changeEOLMarkersPainted()
Affiche ou cache les marqueurs de fin de lignes

changeGutterPainted

public void changeGutterPainted()
Affiche ou cache la goutière

changeAutoIndentMode

public void changeAutoIndentMode()
Active ou désactive le mode auto-indentation

setDocument

public void setDocument(SyntaxDocument document)
Changer le document associé à la zone de texte
Overrides:
setDocument in class JEditTextArea
Parameters:
document - nouveau document

setFindPattern

public void setFindPattern(java.lang.String pattern)
Modifier la valeur du dernier mot ayant été recherché
Parameters:
pattern - nouveau mot

getFindPattern

public java.lang.String getFindPattern()
Renvoie le dernier mot ayant été recherché
Returns:
dernier mot ayant été recherché

setReplacePattern

public void setReplacePattern(java.lang.String pattern)
Modifier la valeur du dernier mot ayant servi pour le remplacement
Parameters:
pattern - nouveau mot

getReplacePattern

public java.lang.String getReplacePattern()
Renvoie la valeur du dernier mot ayant servi pour le remplacement
Returns:
dernier mot ayant servi pour le remplacement

getOpenBrackets

public java.lang.String getOpenBrackets()
Retourne les parenthèses ouvrantes d'un bloc de code en fonction du mode de coloration syntaxique
Returns:
parenthèses ouvrantes

save

public boolean save(java.io.File file)
Enregistre le contenu de la zone de texte dans fichier
Parameters:
file - fichier dans lequel l'enregistrement sera fait
Returns:
vrai si l'enregistrement a réussi, faux sinon

open

public void open(java.io.File toLoad)
          throws javax.swing.text.BadLocationException,
                 java.io.FileNotFoundException,
                 java.io.IOException
Fonction tirée de l'éditeur Jext (http://www.jext.org) Called to load a new file in the text area. Determines which line separator (\n, \r\n...) are used in the file to open. Convert'em into Swing line separator (\n). Slava Pestov. Minor improvements by Romain Guy.
Parameters:
toLoad - fichier à ouvrir

changeSyntax

public void changeSyntax(java.lang.String s)
Change la coloration syntaxique qui sera utilisée
Parameters:
s - type de coloration

initSyntax

public void initSyntax()
Initialise la coloration syntaxique qui sera utilisée en fonction de l'extension du fichier

getCurrentFile

public java.io.File getCurrentFile()
Retourne le fichier courant
Returns:
fichier courant

setCurrentFile

public void setCurrentFile(java.io.File path)
Modifie le fichier courant
Parameters:
path - nouveau fichier

setNew

public void setNew(boolean newFlag)
Fonction permettant de definir si la zone de texte contient un fichier nouveau
Parameters:
newFlag - booléen permettant de savoir si le fichier est nouveau

isNew

public boolean isNew()
Teste si la zone de texte contient un fichier est nouveau
Returns:
vrai si le fichier est nouveau

isEmpty

public boolean isEmpty()
Teste si la zone de texte contient un fichier vide
Returns:
vrai si le fichier est vide

isDirty

public boolean isDirty()
Teste si la zone de texte a été modifié sans être enregistré
Returns:
vrai si la zone de texte a été modifié sans être enregistré

setDirty

public void setDirty(boolean b)
Fonction permettant de définir si la zone de texte a été modifié sans être enregistré
Parameters:
b - vrai si la zone de texte a été modifié sans être enregistré

getSyntax

public java.lang.String getSyntax()
Retourne lengthtype de coloration syntaxique
Returns:
type de coloration

getLength

public int getLength()
Renvoie la taille du fichier courant
Returns:
taille du fichier

removeUpdate

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

insertUpdate

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

changedUpdate

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

undoableEditHappened

public void undoableEditHappened(javax.swing.event.UndoableEditEvent e)
Specified by:
undoableEditHappened in interface javax.swing.event.UndoableEditListener

getUndo

public javax.swing.undo.UndoManager getUndo()
Retourne l'objet permettant de rétablir ou d'annuler une action
Returns:
objet undo

getLineStartOffset

public int getLineStartOffset(int off)
Renvoie l'offset du début de ligne d'un autre offset
Overrides:
getLineStartOffset in class JEditTextArea
Parameters:
off - offset dont il faut chercher le début de ligne
Returns:
offset du début de la ligne

caretUpdate

public void caretUpdate(javax.swing.event.CaretEvent evt)
Specified by:
caretUpdate in interface javax.swing.event.CaretListener

find

public boolean find(java.lang.String searchStr,
                    int start,
                    boolean ignoreCase)
Fonction tirée de l'éditeur Jext (http://www.jext.org) Return the result of a string search. Slava Pestov.
Parameters:
searchStr - The string to be found
start - The search's start offset
ignoreCase - Set to true, we'll ignore the text case
Returns:
True if searchStr has been found, false otherwise

replaceAll

public boolean replaceAll(java.lang.String searchStr,
                          java.lang.String replaceStr,
                          int start,
                          int end,
                          boolean ignoreCase)
                   throws REException
Fonction tirée de l'éditeur Jext (http://www.jext.org) Return the result of a string replace. Slava Pestov.
Parameters:
searchStr - The string to be found
replaceStr - The string which will replace searchStr
start - The search's start offset
end - The search's end offset
ignoreCase - Set to true, we'll ignore the text case
Returns:
True if the replace has been successfully done, false otherwise

finalize

protected void finalize()
                 throws java.lang.Throwable
Permet de faciliter le travail du ramasse miettes
Overrides:
finalize in class java.lang.Object