ide
Class VeriSimDocumentFrame

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JInternalFrame
                          |
                          +--ide.VeriSimDocumentFrame

class VeriSimDocumentFrame
extends javax.swing.JInternalFrame
implements javax.swing.event.UndoableEditListener

Sample JInternalFrame using the simple text editor component that supports only one font. (for now)

See Also:
Serialized Form

Inner Class Summary
(package private)  class VeriSimDocumentFrame.CaretPositionChangeListener
          Displays caret position in the status bar.
(package private)  class VeriSimDocumentFrame.EditorInternalFrameAdapter
          Project.focusedEditor modifier.
(package private)  class VeriSimDocumentFrame.NumberedBorder
          Displays line numbers on the left of editor todo -> must be a inner class of Project and alocated only once.
(package private)  class VeriSimDocumentFrame.RedoAction
           
(package private)  class VeriSimDocumentFrame.UndoAction
           
 
Inner classes inherited from class javax.swing.JInternalFrame
javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardBinding, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  java.util.Hashtable commands
           
 VerilogTextArea editor
           
private static int editorCount
           
static java.lang.String fileDataProp
          File information
private  java.lang.String fileName
           
 boolean focused
           
private  int fontHeight
           
private  javax.swing.JMenuBar menubar
           
private  java.util.Hashtable menuItems
           
 VeriSimDocumentFrame.NumberedBorder numberedBorder
           
private  VeriSimDocumentFrame.RedoAction redoAction
           
private static java.util.ResourceBundle resources
           
private  javax.swing.JScrollPane scroller
           
private  javax.swing.JComponent status
           
 Project theProject
           
private  javax.swing.JToolBar toolbar
           
protected  javax.swing.undo.UndoManager undo
          UndoManager that we add edits to.
private  VeriSimDocumentFrame.UndoAction undoAction
           
 int windowID
           
 
Fields inherited from class javax.swing.JInternalFrame
closable, CONTENT_PANE_PROPERTY, defaultCloseOperation, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, opened, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, alignmentX, alignmentY, ANCESTOR_USING_BUFFER, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, flags, HAS_FOCUS, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, uiClassID, UNDEFINED_CONDITION, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dispatcher, layoutMgr, maxSize, ncomponents, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
(package private) VeriSimDocumentFrame(Project project, javax.swing.text.Document doc)
          Makes a new view based on the document from 'original'.
(package private) VeriSimDocumentFrame(Project project, java.io.File file)
           
 
Method Summary
(package private) static void ()
           
 int getCurrentLine()
           
 FileData getFileData()
           
 java.lang.String getFileName()
           
 void highlightLine(int line)
           
private  void initEditor()
           
 void jumpToLine(int line)
           
 void loadFile()
           
 void redo()
           
 void saveFile()
           
 javax.swing.text.Document setFileName(java.lang.String fileName)
          Renames the file associated with this editor.
 void undo()
           
 void undoableEditHappened(javax.swing.event.UndoableEditEvent e)
          Messaged when the Document has created an edit, the edit is added to , an instance of UndoManager.
 
Methods inherited from class javax.swing.JInternalFrame
addImpl, addInternalFrameListener, createRootPane, createRootPaneException, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getBackground, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getForeground, getFrameIcon, getGlassPane, getJMenuBar, getLayer, getLayeredPane, getMenuBar, getRootPane, getTitle, getUI, getUIClassID, getWarningString, isClosable, isClosed, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paramString, removeInternalFrameListener, reshape, setBackground, setClosable, setClosed, setContentPane, setDefaultCloseOperation, setDesktopIcon, setForeground, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, setVisible, show, startModal, stopModal, toBack, toFront, updateUI, updateUIWhenHidden, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, bindingForKeyStroke, computeVisibleRect, computeVisibleRect, contains, createToolTip, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, keyboardBindings, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyOrientation, countComponents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPrint, list, list, locate, minimumSize, nextFocus, paintComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, print, printComponents, printOneComponent, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, constructComponentName, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

editorCount

private static int editorCount

resources

private static java.util.ResourceBundle resources

fileName

private java.lang.String fileName

theProject

public Project theProject

scroller

private javax.swing.JScrollPane scroller

fontHeight

private int fontHeight

focused

public boolean focused

windowID

public int windowID

editor

public VerilogTextArea editor

commands

private java.util.Hashtable commands

menuItems

private java.util.Hashtable menuItems

menubar

private javax.swing.JMenuBar menubar

toolbar

private javax.swing.JToolBar toolbar

status

private javax.swing.JComponent status

numberedBorder

public VeriSimDocumentFrame.NumberedBorder numberedBorder

undo

protected javax.swing.undo.UndoManager undo
UndoManager that we add edits to.

undoAction

private VeriSimDocumentFrame.UndoAction undoAction

redoAction

private VeriSimDocumentFrame.RedoAction redoAction

fileDataProp

public static java.lang.String fileDataProp
File information
Constructor Detail

VeriSimDocumentFrame

VeriSimDocumentFrame(Project project,
                     java.io.File file)
               throws java.io.IOException

VeriSimDocumentFrame

VeriSimDocumentFrame(Project project,
                     javax.swing.text.Document doc)
Makes a new view based on the document from 'original'. NOTE: since from this moment the document will have both views as change listeners, the undo command will ... I don't know..
Method Detail

static void ()

initEditor

private void initEditor()

loadFile

public void loadFile()
              throws java.io.IOException

saveFile

public void saveFile()
              throws java.io.IOException

getFileName

public java.lang.String getFileName()

getFileData

public FileData getFileData()

setFileName

public javax.swing.text.Document setFileName(java.lang.String fileName)
                                      throws java.io.IOException
Renames the file associated with this editor. This implies creating a new PlainDocument for this editor.
Returns:
the old document

undoableEditHappened

public void undoableEditHappened(javax.swing.event.UndoableEditEvent e)
Messaged when the Document has created an edit, the edit is added to , an instance of UndoManager.
Specified by:
undoableEditHappened in interface javax.swing.event.UndoableEditListener

jumpToLine

public void jumpToLine(int line)

getCurrentLine

public int getCurrentLine()

highlightLine

public void highlightLine(int line)

undo

public void undo()

redo

public void redo()