SMACS

smacs.xngr.browser.editor
Class Editor

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Frame
                  extended byjavax.swing.JFrame
                      extended bysmacs.xngr.browser.editor.Editor
All Implemented Interfaces:
Accessible, CaretListener, EventListener, ExplorerViewer, ImageObserver, MenuContainer, RootPaneContainer, Serializable, UndoableEditListener, WindowConstants, XDocumentListener

public class Editor
extends JFrame
implements CaretListener, UndoableEditListener, XDocumentListener, ExplorerViewer

The editor for an eXchaNGeR document.

Author:
Edwin Dankert
See Also:
Serialized Form

Nested Class Summary
 class Editor.XmlEditor
           
 
Nested classes inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
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
Editor(EditorExplorer explorer, EditorProperties props, ExchangerDocument document)
          Constructs an editor for the document.
 
Method Summary
 void caretUpdate(CaretEvent e)
          Messaged when the selection in the editor has changed.
 boolean close()
          Close the editor....
 void commentSelectedText()
          Comments the selected text.
 void documentDeleted(XDocumentEvent event)
          This method is called when the document has been deleted from the location on disk.
 void documentUpdated(XDocumentEvent event)
          This method is called when the document has been updated on disk, either by a save on the document, or externally.
 void format()
           
 ExchangerDocument getDocument()
          Returns the document.
 XmlEditorPane getEditor()
          Returns the editor pane.
 EditorProperties getProperties()
          Returns the editor properties.
 int getSpacesForTab()
          returns the number of spaces used to substitute the Tab character.
 String getTabString()
          returns the string representation of the tab character.
 void gotoLine(int line)
          Goto the start of a specific line in the document.
 void indentSelectedText(boolean tab)
          Indents the selected text.
 boolean isValidate()
          Should the validation happen against the DTD as referenced in the DOCTYPE element.
 void load()
           
 void redo()
          Redos a previous undo.
 void save()
          Save the information in the editor to a file....
 void saveAs(File file)
          Save the information in the editor to a different file....
 void search(String search, boolean matchCase, boolean down)
          Do a search in the XML text.
 void setPreferredFont(Font font)
           
 void setStatus(int line, String error)
           
 void setWait(boolean enabled)
          Sets the wait cursor on the editor frame.
 void tagSelectedText(String name)
          Tags the selected text.
 void undo()
          Undos a previous undoable edit.
 void undoableEditHappened(UndoableEditEvent e)
          Messaged when the Document has created an edit, the edit is added to undo, an instance of UndoManager.
 void unindentSelectedText()
          Unindents the selected text.
 void validateXml()
          Validates the XML in this editor.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, 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, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Constructor Detail

Editor

public Editor(EditorExplorer explorer,
              EditorProperties props,
              ExchangerDocument document)
Constructs an editor for the document.

Parameters:
explorer - the documents explorer.
props - the properties for the editor.
document - the document to be edited.
Method Detail

setPreferredFont

public void setPreferredFont(Font font)
Specified by:
setPreferredFont in interface ExplorerViewer

isValidate

public boolean isValidate()
Should the validation happen against the DTD as referenced in the DOCTYPE element.

Returns:
true when the DTD should be used.

getEditor

public XmlEditorPane getEditor()
Returns the editor pane.

Returns:
the editor pane.

search

public void search(String search,
                   boolean matchCase,
                   boolean down)
Do a search in the XML text.

Parameters:
search - the text to search for.
matchCase - should the search match the case.
down - down/upward from caret the position.

close

public boolean close()
Close the editor....

Specified by:
close in interface ExplorerViewer

save

public void save()
          throws IOException,
                 SAXParseException
Save the information in the editor to a file....

Throws:
IOException
SAXParseException

getDocument

public ExchangerDocument getDocument()
Returns the document.

Returns:
the document.

saveAs

public void saveAs(File file)
            throws IOException
Save the information in the editor to a different file....

Parameters:
file - the url for the document.
Throws:
IOException

gotoLine

public void gotoLine(int line)
Goto the start of a specific line in the document.

Parameters:
line - the line to go to.

tagSelectedText

public void tagSelectedText(String name)
Tags the selected text.

Parameters:
name - the name of the tag.

commentSelectedText

public void commentSelectedText()
Comments the selected text.


unindentSelectedText

public void unindentSelectedText()
Unindents the selected text.


indentSelectedText

public void indentSelectedText(boolean tab)
Indents the selected text.

Parameters:
tab - when true the tab key is used as indentation.

validateXml

public void validateXml()
                 throws SAXParseException,
                        IOException
Validates the XML in this editor.

Returns:
true if the editor contains valid XML.
Throws:
SAXParseException
IOException

undo

public void undo()
Undos a previous undoable edit.


redo

public void redo()
Redos a previous undo.


getProperties

public EditorProperties getProperties()
Returns the editor properties.

Returns:
the editor properties.

getTabString

public String getTabString()
returns the string representation of the tab character.

Returns:
the String the tab should be replaced with.

setWait

public void setWait(boolean enabled)
Sets the wait cursor on the editor frame.

Parameters:
enabled - true when wait is enabled.

getSpacesForTab

public int getSpacesForTab()
returns the number of spaces used to substitute the Tab character.

Returns:
the String the tab should be replaced with.

format

public void format()
            throws SAXParseException,
                   IOException
Throws:
SAXParseException
IOException

load

public void load()
          throws IOException
Throws:
IOException

setStatus

public void setStatus(int line,
                      String error)

undoableEditHappened

public void undoableEditHappened(UndoableEditEvent e)
Messaged when the Document has created an edit, the edit is added to undo, an instance of UndoManager.

Specified by:
undoableEditHappened in interface UndoableEditListener

caretUpdate

public void caretUpdate(CaretEvent e)
Messaged when the selection in the editor has changed. Will update the selection in the tree.

Specified by:
caretUpdate in interface CaretListener

documentUpdated

public void documentUpdated(XDocumentEvent event)
Description copied from interface: XDocumentListener
This method is called when the document has been updated on disk, either by a save on the document, or externally.

Specified by:
documentUpdated in interface XDocumentListener
Parameters:
event - the document event fired.

documentDeleted

public void documentDeleted(XDocumentEvent event)
Description copied from interface: XDocumentListener
This method is called when the document has been deleted from the location on disk.

Specified by:
documentDeleted in interface XDocumentListener
Parameters:
event - the document event fired.

SMACS