net.sf.rej.gui.tab
Class EditorTab

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by net.sf.rej.gui.tab.EditorTab
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, TransferComponent, EventObserver, Tabbable

public class EditorTab
extends javax.swing.JPanel
implements Tabbable, EventObserver, TransferComponent

EditorTab is the bytecode editor. The editor itself is a JList with a custom renderer.

Author:
Sami Koivu
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
EditorTab()
           
 
Method Summary
 void enteringTab()
          Called whenever the user navigates to this tab.
 void find()
          Search within the tab.
 void findNext()
          Continue search within tab.
 java.lang.String getSelectionHTML()
           
 java.lang.Object getSelectionObject()
           
 java.lang.String getSelectionPlainText()
           
 java.lang.String getTabTitle()
          Returns the title of the tab.
 void goTo(Link link)
          Navigate to the location pointed by the given Link object.
 void insert()
          Insert a new entity on this tab.
 void insert(boolean before)
           
 void insertInstruction()
           
 void leavingTab()
          Called whenever the user navigates away from this tab.
 void outline()
          Do a quick outline of the tab elements.
 void pasteRows(java.lang.Object data)
          Called by transfer handler to imply that the user has requested that code be pasted into the editor.
 void processEvent(Event event)
           
 void redo()
           
 void remove()
          Remove selected entry(entries) from this tab.
 void setExecutionRow(java.lang.String methodName, Descriptor desc, java.lang.Integer pc)
           
 void setSplitSynchronizer(BytecodeSplitSynchronizer sync)
           
 void undo()
          TODO: Why is undo/redo on this level?
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EditorTab

public EditorTab()
Method Detail

processEvent

public void processEvent(Event event)
Specified by:
processEvent in interface EventObserver

redo

public void redo()
Specified by:
redo in interface Tabbable

undo

public void undo()
Description copied from interface: Tabbable
TODO: Why is undo/redo on this level? Should "remove file from project" be in the same UNDO context as remove instruction from class+

Specified by:
undo in interface Tabbable

insert

public void insert()
Description copied from interface: Tabbable
Insert a new entity on this tab. Be that a file into the project(Fileset tab), a constant pool entry(ConstantPool etc) etc.

Specified by:
insert in interface Tabbable

goTo

public void goTo(Link link)
Description copied from interface: Tabbable
Navigate to the location pointed by the given Link object.

Specified by:
goTo in interface Tabbable
Parameters:
link - A pointer object referencing for example a particular method, or instruction.

insertInstruction

public void insertInstruction()

insert

public void insert(boolean before)

remove

public void remove()
Description copied from interface: Tabbable
Remove selected entry(entries) from this tab.

Specified by:
remove in interface Tabbable

find

public void find()
Description copied from interface: Tabbable
Search within the tab. For example, within a file set tab, search for a given file.

Specified by:
find in interface Tabbable

findNext

public void findNext()
Description copied from interface: Tabbable
Continue search within tab.

Specified by:
findNext in interface Tabbable

getSelectionPlainText

public java.lang.String getSelectionPlainText()
Specified by:
getSelectionPlainText in interface TransferComponent

getSelectionHTML

public java.lang.String getSelectionHTML()
Specified by:
getSelectionHTML in interface TransferComponent

getSelectionObject

public java.lang.Object getSelectionObject()
Specified by:
getSelectionObject in interface TransferComponent

pasteRows

public void pasteRows(java.lang.Object data)
Description copied from interface: TransferComponent
Called by transfer handler to imply that the user has requested that code be pasted into the editor. The data in the object is either a List of TransferrableMethod and/or TransferrableField objects, or a Code object.

Specified by:
pasteRows in interface TransferComponent

setExecutionRow

public void setExecutionRow(java.lang.String methodName,
                            Descriptor desc,
                            java.lang.Integer pc)

outline

public void outline()
Description copied from interface: Tabbable
Do a quick outline of the tab elements.

Specified by:
outline in interface Tabbable

leavingTab

public void leavingTab()
Description copied from interface: Tabbable
Called whenever the user navigates away from this tab.

Specified by:
leavingTab in interface Tabbable

setSplitSynchronizer

public void setSplitSynchronizer(BytecodeSplitSynchronizer sync)

getTabTitle

public java.lang.String getTabTitle()
Description copied from interface: Tabbable
Returns the title of the tab.

Specified by:
getTabTitle in interface Tabbable
Returns:
a title to be displayed in the tabbed pane.

enteringTab

public void enteringTab()
Description copied from interface: Tabbable
Called whenever the user navigates to this tab.

Specified by:
enteringTab in interface Tabbable