miSim

misim.editor
Class EditorPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Panel
                    |
                    +--misim.editor.TextPanel
                          |
                          +--misim.editor.EditorPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.AdjustmentListener, java.util.EventListener, java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.event.KeyListener, java.awt.MenuContainer, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.lang.Runnable, java.io.Serializable

public class EditorPanel
extends TextPanel

See Also:
Serialized Form

Inner classes inherited from class java.awt.Panel
java.awt.Panel.AccessibleAWTPanel
 
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 misim.editor.TextPanel
logging
 
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
EditorPanel(TextFile file, EditorPrefs prefs, LogListener logging)
           
 
Method Summary
 boolean canPaste()
          Check to see if there is a pasteable object (ie.
 boolean canRedo()
          Check to see if the panel has any current redo operations that may be handled by the doRedo method.
 boolean canSearchAgain()
          Check to see if there is a search term set for this panel
 boolean canUndo()
          Check to see if the panel has any current undo operations that may be handled by the doUndo method.
 void cutSelection()
          Cut the current selection, leaving a copy on the clipboard
 void doRedo()
          Redo any undone events.
 void doUndo()
          Undo any previous events.
 boolean hasChanged()
          Method to indicate whether this editor panel has been edited
 void keyTyped(java.awt.event.KeyEvent ke)
           
 void pasteClipboard()
          Paste the current clipboard contents into the cursor position.
protected  void processControlKey(java.awt.event.KeyEvent ke)
          Handle a control key press
protected  boolean processKey(int keyCode, java.awt.event.KeyEvent ke, CursorPos newCursor, boolean redraw)
           
 void promptGotoLine()
          Goto a requested line in the current text file.
 void promptSearch(boolean again)
          Search for a string in the current text.
 void resetChanged()
          Clear the flag that indicates that the file has been edited.
 
Methods inherited from class misim.editor.TextPanel
addItemListener, adjustmentValueChanged, append, checkBoundaries, copySelection, drawCursor, drawLine, focusGained, focusLost, getFile, getPanelName, getSelectedLine, getSelectedObjects, getTitle, gotoFirstError, gotoLine, hasSelection, keyPressed, keyReleased, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, moveCursor, paint, redrawText, refresh, removeItemListener, requestFocus, run, selectLine, setCursor, setTitle, showErrors, updateScrollbars
 
Methods inherited from class java.awt.Panel
addNotify, getAccessibleContext
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFont, setLayout, update, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isDisplayable, isDoubleBuffered, isEnabled, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EditorPanel

public EditorPanel(TextFile file,
                   EditorPrefs prefs,
                   LogListener logging)
            throws java.lang.Exception
Method Detail

hasChanged

public boolean hasChanged()
Method to indicate whether this editor panel has been edited
Returns:
True if the text has been edited

resetChanged

public void resetChanged()
Clear the flag that indicates that the file has been edited.

promptGotoLine

public void promptGotoLine()
Goto a requested line in the current text file. This prompts the user to enter a line number, then moves to that line in the file.

promptSearch

public void promptSearch(boolean again)
Search for a string in the current text. This will prompt the user for a string to search for, if appropriate.
Parameters:
again - True if the search is repeated.

canSearchAgain

public boolean canSearchAgain()
Check to see if there is a search term set for this panel
Returns:
True if the user can do 'search again'

cutSelection

public void cutSelection()
Cut the current selection, leaving a copy on the clipboard

pasteClipboard

public void pasteClipboard()
Paste the current clipboard contents into the cursor position.

canPaste

public boolean canPaste()
Check to see if there is a pasteable object (ie. text) on the clipboard.
Returns:
True if there is text that may be pasted into the panel

canUndo

public boolean canUndo()
Check to see if the panel has any current undo operations that may be handled by the doUndo method.
Returns:
True if there are events that may be undone

doUndo

public void doUndo()
Undo any previous events. This stacks the events onto the redo list as it undoes them. All events with the same event Id occurred in one go - for instance an edit event may have resulted in text being removed, some characters added to the existing line and a new line of text being added to the file.

canRedo

public boolean canRedo()
Check to see if the panel has any current redo operations that may be handled by the doRedo method.
Returns:
True if there are events that may be redone

doRedo

public void doRedo()
Redo any undone events. This behaves much as the undo method, except it moves events from the redo list back to the undo list.

processKey

protected boolean processKey(int keyCode,
                             java.awt.event.KeyEvent ke,
                             CursorPos newCursor,
                             boolean redraw)
Overrides:
processKey in class TextPanel

keyTyped

public void keyTyped(java.awt.event.KeyEvent ke)
Overrides:
keyTyped in class TextPanel

processControlKey

protected void processControlKey(java.awt.event.KeyEvent ke)
Handle a control key press
Overrides:
processControlKey in class TextPanel
Parameters:
aChar - - the character that has been pressed

miSim