mars.venus
Class TextSegmentWindow
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JInternalFrame
mars.venus.TextSegmentWindow
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Observer, Accessible, RootPaneContainer, WindowConstants
public class TextSegmentWindow
- extends JInternalFrame
- implements Observer
Creates the Text Segment window in the Execute tab of the UI
- Author:
- Team JSpim
- See Also:
- Serialized Form
Fields inherited from class javax.swing.JInternalFrame |
closable, CONTENT_PANE_PROPERTY, 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, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY |
Methods inherited from class javax.swing.JInternalFrame |
addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, updateUI |
Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, 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, setUI, 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, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, 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, 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, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle |
TextSegmentWindow
public TextSegmentWindow()
- Constructor, sets up a new JInternalFrame.
setupTable
public void setupTable()
- Method to be called once the user compiles the program.
Should convert the lines of code over to the table rows and columns.
getProgramArguments
public String getProgramArguments()
- Get program arguments from text field in south border of text segment window.
- Returns:
- String containing program arguments
addProgramArgumentsPanel
public void addProgramArgumentsPanel()
removeProgramArgumentsPanel
public void removeProgramArgumentsPanel()
clearWindow
public void clearWindow()
- remove all components
registerTableModelListener
public void registerTableModelListener(TableModelListener tml)
- Assign listener to Table model. Used for breakpoints, since that is the only editable
column in the table. Since table model objects are transient (get a new one with each
successful assemble), this method will simply keep the identity of the listener then
add it as a listener each time a new table model object is created. Limit 1 listener.
updateCodeAddresses
public void updateCodeAddresses()
- Redisplay the addresses. This should only be done when address display base is
modified (e.g. between base 16 hex and base 10 dec).
updateBasicStatements
public void updateBasicStatements()
- Redisplay the basic statements. This should only be done when address or value display base is
modified (e.g. between base 16 hex and base 10 dec).
update
public void update(Observable observable,
Object obj)
- Required by Observer interface. Called when notified by an Observable that we are registered with.
The Observable here is a delegate of the Memory object, which lets us know of memory operations.
More precisely, memory operations only in the text segment, since that is the only range of
addresses we're registered for. And we're only interested in write operations.
- Specified by:
update
in interface Observer
- Parameters:
observable
- The Observable object who is notifying usobj
- Auxiliary object with additional information.
getBreakpointCount
public int getBreakpointCount()
- Returns number of breakpoints currently set.
- Returns:
- number of current breakpoints
getSortedBreakPointsArray
public int[] getSortedBreakPointsArray()
- Returns array of current breakpoints, each represented by a MIPS program counter address.
These are stored in the BREAK_COLUMN of the table model.
- Returns:
- int array of breakpoints, sorted by PC address, or null if there are none.
clearAllBreakpoints
public void clearAllBreakpoints()
- Clears all breakpoints that have been set since last assemble, and
updates the display of the breakpoint column.
highlightStepAtPC
public void highlightStepAtPC()
- Highlights the source code line whose address matches the current
program counter value. This is used for stepping through code
execution and when reaching breakpoints.
highlightStepAtPC
public void highlightStepAtPC(boolean inDelaySlot)
- Highlights the source code line whose address matches the current
program counter value. This is used for stepping through code
execution and when reaching breakpoints.
- Parameters:
inDelaySlot
- Set true if delayed branching is enabled and the
instruction at this address is executing in the delay slot, false
otherwise.
highlightStepAtAddress
public void highlightStepAtAddress(int address)
- Highlights the source code line whose address matches the given
text segment address.
- Parameters:
address
- text segment address of instruction to be highlighted.
highlightStepAtAddress
public void highlightStepAtAddress(int address,
boolean inDelaySlot)
- Highlights the source code line whose address matches the given
text segment address.
- Parameters:
address
- Text segment address of instruction to be highlighted.inDelaySlot
- Set true if delayed branching is enabled and the
instruction at this address is executing in the delay slot, false
otherwise.
setCodeHighlighting
public void setCodeHighlighting(boolean highlightSetting)
- Used to enable or disable source code highlighting. If true (normally while
stepping through execution) then MIPS statement at current program counter
is highlighted. The code column's cell renderer tests this variable.
- Parameters:
highlightSetting
- true to enable highlighting, false to disable.
getCodeHighlighting
public boolean getCodeHighlighting()
- Get code highlighting status.
- Returns:
- true if code highlighting currently enabled, false otherwise.
unhighlightAllSteps
public void unhighlightAllSteps()
- If any steps are highlighted, this erases the highlighting.
toggleBreakpoints
public void toggleBreakpoints()
- Enable or disable all items in the Breakpoints column.