Class FVTable
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTable
docking.widgets.table.GTable
ghidra.framework.main.logviewer.ui.FVTable
- All Implemented Interfaces:
 MouseListener,MouseMotionListener,ImageObserver,MenuContainer,Serializable,EventListener,Accessible,CellEditorListener,ListSelectionListener,RowSorterListener,TableColumnModelListener,TableModelListener,Scrollable
The table that backs the 
FileViewer window. It is responsible for displaying
 Chunk instances.- See Also:
 
- 
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JTable
JTable.AccessibleJTable, JTable.DropLocation, JTable.PrintModeNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy - 
Field Summary
Fields inherited from class javax.swing.JTable
AUTO_RESIZE_ALL_COLUMNS, AUTO_RESIZE_LAST_COLUMN, AUTO_RESIZE_NEXT_COLUMN, AUTO_RESIZE_OFF, AUTO_RESIZE_SUBSEQUENT_COLUMNS, autoCreateColumnsFromModel, autoResizeMode, cellEditor, cellSelectionEnabled, columnModel, dataModel, defaultEditorsByColumnClass, defaultRenderersByColumnClass, editingColumn, editingRow, editorComp, gridColor, preferredViewportSize, rowHeight, rowMargin, rowSelectionAllowed, selectionBackground, selectionForeground, selectionModel, showHorizontalLines, showVerticalLines, tableHeaderFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH - 
Constructor Summary
ConstructorsConstructorDescriptionFVTable(ChunkReader reader, ViewportUtility viewportUtility, ChunkModel model, FVEventListener eventListener) Ctor. - 
Method Summary
Modifier and TypeMethodDescriptionvoidAdds the given row to the table.voidAdds the list of rows to the table.voidclear()Removes all rows from the table model.voiddecrementAndAddSelection(int rows) Decrements the selection by the number of rows given, and adds the new rows to the selection.voiddecrementSelection(int rows) Moves the table selection up by the number of rows specified, ensuring that selection does not go beyond the beginning of the file.voidincrementAndAddSelection(int rows) Increments the selection by the given number of rows, but doesn't affect any previously selected rows.voidincrementSelection(int rows) Moves the table selection down by the number of rows specified, ensuring that selection does not go beyond the bounds of the file.voidvoidvoidvoidvoidvoidvoidprepareRenderer(TableCellRenderer renderer, int row, int column) Adjusts the column widths to be at least as wide as the widest cell.voidSet any previously selected table rows to a selected state.voidsetMouseDragging(boolean isMouseDragging) voidsetShiftDown(boolean isDown) Sets the status of the shift key.voidInvoked when a new row has been selected in the table.Methods inherited from class docking.widgets.table.GTable
areActionsEnabled, columnAdded, columnRemoved, createAutoLookup, createDefaultColumnModel, createDefaultColumnsFromModel, createSelectionManager, createSharedActions, dispose, editCellAt, getAutoLookup, getCellRenderer, getCellRendererOverride, getConfigurableColumnTableModel, getDefaultRenderer, getHeaderRendererOverride, getPreferenceKey, getPreferredScrollableViewportSize, getSelectionManager, getTableColumnPopupMenu, getTableFilterPanel, getToolTipText, getUnwrappedTableModel, getValueAt, initDefaultRenderers, installEditKeyBinding, isColumnHeaderPopupEnabled, notifyTableChanged, processKeyBinding, requestTableEditorFocus, savePreferences, scrollToSelectedRow, selectRow, selectRow, setAccessibleNamePrefix, setActionsEnabled, setAutoEditEnabled, setAutoLookupColumn, setAutoLookupTimeout, setColumnHeaderPopupEnabled, setColumnModel, setHTMLRenderingEnabled, setModel, setPreferenceKey, setRowHeight, setSelectionModel, setTableFilterPanel, setUI, setUserSortingEnabled, setVisibleRowCount, supportsPopupActions, tableChanged, wrapDefaultTableCellRendererMethods inherited from class javax.swing.JTable
addColumn, addColumnSelectionInterval, addNotify, addRowSelectionInterval, changeSelection, clearSelection, columnAtPoint, columnMarginChanged, columnMoved, columnSelectionChanged, configureEnclosingScrollPane, convertColumnIndexToModel, convertColumnIndexToView, convertRowIndexToModel, convertRowIndexToView, createDefaultDataModel, createDefaultEditors, createDefaultRenderers, createDefaultSelectionModel, createDefaultTableHeader, createScrollPaneForTable, doLayout, editCellAt, editingCanceled, editingStopped, getAccessibleContext, getAutoCreateColumnsFromModel, getAutoCreateRowSorter, getAutoResizeMode, getCellEditor, getCellEditor, getCellRect, getCellSelectionEnabled, getColumn, getColumnClass, getColumnCount, getColumnModel, getColumnName, getColumnSelectionAllowed, getDefaultEditor, getDragEnabled, getDropLocation, getDropMode, getEditingColumn, getEditingRow, getEditorComponent, getFillsViewportHeight, getGridColor, getIntercellSpacing, getModel, getPrintable, getRowCount, getRowHeight, getRowHeight, getRowMargin, getRowSelectionAllowed, getRowSorter, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedColumn, getSelectedColumnCount, getSelectedColumns, getSelectedRow, getSelectedRowCount, getSelectedRows, getSelectionBackground, getSelectionForeground, getSelectionModel, getShowHorizontalLines, getShowVerticalLines, getSurrendersFocusOnKeystroke, getTableHeader, getUI, getUIClassID, getUpdateSelectionOnSort, initializeLocalVars, isCellEditable, isCellSelected, isColumnSelected, isEditing, isRowSelected, moveColumn, paramString, prepareEditor, print, print, print, print, print, removeColumn, removeColumnSelectionInterval, removeEditor, removeNotify, removeRowSelectionInterval, resizeAndRepaint, rowAtPoint, selectAll, setAutoCreateColumnsFromModel, setAutoCreateRowSorter, setAutoResizeMode, setCellEditor, setCellSelectionEnabled, setColumnSelectionAllowed, setColumnSelectionInterval, setDefaultEditor, setDefaultRenderer, setDragEnabled, setDropMode, setEditingColumn, setEditingRow, setFillsViewportHeight, setGridColor, setIntercellSpacing, setPreferredScrollableViewportSize, setRowHeight, setRowMargin, setRowSelectionAllowed, setRowSelectionInterval, setRowSorter, setSelectionBackground, setSelectionForeground, setSelectionMode, setShowGrid, setShowHorizontalLines, setShowVerticalLines, setSurrendersFocusOnKeystroke, setTableHeader, setUpdateSelectionOnSort, setValueAt, sizeColumnsToFit, sizeColumnsToFit, sorterChanged, unconfigureEnclosingScrollPane, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, 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, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, 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, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, 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, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods 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, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle 
- 
Constructor Details
- 
FVTable
public FVTable(ChunkReader reader, ViewportUtility viewportUtility, ChunkModel model, FVEventListener eventListener) Ctor.- Parameters:
 reader-viewportUtility-model-eventListener-
 
 - 
 - 
Method Details
- 
prepareRenderer
Adjusts the column widths to be at least as wide as the widest cell. This is required for horizontal scrolling to work properly.- Overrides:
 prepareRendererin classJTable
 - 
setShiftDown
public void setShiftDown(boolean isDown) Sets the status of the shift key.- Parameters:
 isDown-
 - 
setMouseDragging
public void setMouseDragging(boolean isMouseDragging)  - 
addRow
Adds the given row to the table.- Parameters:
 row-
 - 
addRows
Adds the list of rows to the table.- Parameters:
 rows-
 - 
restoreSelection
public void restoreSelection()Set any previously selected table rows to a selected state. This should be called any time a chunk is read into the table. Note: This is critically important when the user has selected a row, then scrolled such that the selected row is in a chunk that has been swapped out and is no longer in the table. When that chunk is scrolled back into view, this will restore the selection. Note2: If there is a range of selected values and the table is somewhere in the middle of that range, just select the entire table. - 
clear
public void clear()Removes all rows from the table model. - 
incrementAndAddSelection
public void incrementAndAddSelection(int rows) Increments the selection by the given number of rows, but doesn't affect any previously selected rows. This is typically called when selecting while dragging.- Parameters:
 rows-
 - 
incrementSelection
public void incrementSelection(int rows) Moves the table selection down by the number of rows specified, ensuring that selection does not go beyond the bounds of the file.- Parameters:
 rows-
 - 
decrementAndAddSelection
public void decrementAndAddSelection(int rows) Decrements the selection by the number of rows given, and adds the new rows to the selection.- Parameters:
 rows-
 - 
decrementSelection
public void decrementSelection(int rows) Moves the table selection up by the number of rows specified, ensuring that selection does not go beyond the beginning of the file.- Parameters:
 rows-
 - 
valueChanged
Invoked when a new row has been selected in the table. Update our chunk model to reflect as much.- Specified by:
 valueChangedin interfaceListSelectionListener- Overrides:
 valueChangedin classJTable- Parameters:
 e-
 - 
mouseDragged
- Specified by:
 mouseDraggedin interfaceMouseMotionListener
 - 
mouseMoved
- Specified by:
 mouseMovedin interfaceMouseMotionListener
 - 
mouseClicked
- Specified by:
 mouseClickedin interfaceMouseListener
 - 
mousePressed
- Specified by:
 mousePressedin interfaceMouseListener
 - 
mouseReleased
- Specified by:
 mouseReleasedin interfaceMouseListener
 - 
mouseEntered
- Specified by:
 mouseEnteredin interfaceMouseListener
 - 
mouseExited
- Specified by:
 mouseExitedin interfaceMouseListener
 
 -