Package docking.widgets.table

# Class CustomToStringCellRenderer<T>

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
docking.widgets.label.AbstractHtmlLabel
docking.widgets.label.GDHtmlLabel
docking.widgets.AbstractGCellRenderer
docking.widgets.table.GTableCellRenderer
ghidra.util.table.column.AbstractGColumnRenderer<T>
docking.widgets.table.CustomToStringCellRenderer<T>

All Implemented Interfaces:
  `GComponent`, `FontChangeListener`, `GColumnRenderer<T>`, `ImageObserver`, `MenuContainer`, `PropertyChangeListener`, `Serializable`, `EventListener`, `Accessible`, `SwingConstants`, `TableCellRenderer`

public class CustomToStringCellRenderer<T> extends AbstractGColumnRenderer<T>

See Also:
  - Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Class
  Description
  `static enum`
  `CustomToStringCellRenderer.CustomFont`

  ## Nested classes/interfaces inherited from class javax.swing.JLabel

  `JLabel.AccessibleJLabel`

  ## Nested classes/interfaces inherited from class javax.swing.JComponent

  `JComponent.AccessibleJComponent`

  ## Nested classes/interfaces inherited from class java.awt.Container

  `Container.AccessibleAWTContainer`

  ## Nested classes/interfaces inherited from class java.awt.Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

  ## Nested classes/interfaces inherited from interface ghidra.util.table.column.GColumnRenderer

  `GColumnRenderer.ColumnConstraintFilterMode`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final CustomToStringCellRenderer<String>`
  `HTML`
  `static final CustomToStringCellRenderer<BigInteger>`
  `MONO_BIG_HEX`
  `static final CustomToStringCellRenderer<String>`
  `MONO_HTML`
  `static final CustomToStringCellRenderer<Long>`
  `MONO_LONG_HEX`
  `static final CustomToStringCellRenderer<Object>`
  `MONO_OBJECT`
  `static final CustomToStringCellRenderer<Long>`
  `MONO_ULONG_HEX`
  `static final CustomToStringCellRenderer<Date>`
  `TIME_24HMSms`
  `static final DateFormat`
  `TIME_FORMAT_24HMSms`

  ### Fields inherited from class docking.widgets.table.GTableCellRenderer

  `FLOATING_POINT_PRECISION_SETTING, INTEGER_RADIX_SETTING, INTEGER_SIGNEDNESS_MODE_SETTING`

  ### Fields inherited from class docking.widgets.AbstractGCellRenderer

  `baseFontId, boldFont, defaultFont, dropRow, fixedWidthFont, fixedWidthFontId, focusBorder, italicFont, noFocusBorder, systemAlternateRowColors`

  ### Fields inherited from class javax.swing.JLabel

  `labelFor`

  ### Fields inherited from class javax.swing.JComponent

  `listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

  ### Fields inherited from class java.awt.Component

  `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

  ### Fields inherited from interface docking.widgets.GComponent

  `HTML_DISABLE_STRING`

  ### Fields inherited from interface java.awt.image.ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  ### Fields inherited from interface javax.swing.SwingConstants

  `BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CustomToStringCellRenderer(CustomToStringCellRenderer.CustomFont font, Class<T> cls, BiFunction<T,Settings,String> toString, boolean enableHtml)`
  `CustomToStringCellRenderer(Class<T> cls, BiFunction<T,Settings,String> toString, boolean enableHtml)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static String`
  `bigIntToPrefixedHexString(BigInteger v)`
  `protected Font`
  `getDefaultFont()`
  Override to change the font that will be used each time the renderer is initialized inside of `GTableCellRenderer.getTableCellRendererComponent(GTableCellRenderingData)`
  `String`
  `getFilterString(T t, Settings settings)`
  Returns a string that is suitable for use when filtering.
  `int`
  `getRowHeight(int colWidth)`
  `Component`
  `getTableCellRendererComponent(GTableCellRenderingData data)`
  Provide basic cell rendering -- setting foreground and background colors, font, text, alignment, drop color, and border.
  `static String`
  `longToPrefixedHexString(long v)`

  ### Methods inherited from class docking.widgets.table.GTableCellRenderer

  `formatNumber, getPrecision, getRadix, getSignMode, getTableCellRendererComponent, getText, setForegroundColor`

  ### Methods inherited from class docking.widgets.AbstractGCellRenderer

  `checkForInvalidSetFont, firePropertyChange, firePropertyChange, fontChanged, getAlternatingBackgroundColor, getBackgroundColorForRow, getBoldFont, getDefaultBackgroundColor, getErrorForegroundColor, getFixedWidthFont, getItalicFont, getNoFocusBorder, getUneditableForegroundColor, invalidate, repaint, repaint, repaint, revalidate, setBackground, setBaseFontId, setBold, setDropRow, setFixedWidthFontId, setFont, setForeground, setItalic, setShouldAlternateRowBackgroundColors, setUI, shouldAlternateRowBackgroundColor, superValidate, validate`

  ### Methods inherited from class docking.widgets.label.AbstractHtmlLabel

  `getOriginalText, propertyChange, setText, updateUI`

  ### Methods inherited from class javax.swing.JLabel

  `checkHorizontalKey, checkVerticalKey, getAccessibleContext, getDisabledIcon, getDisplayedMnemonic, getDisplayedMnemonicIndex, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getLabelFor, getText, getUI, getUIClassID, getVerticalAlignment, getVerticalTextPosition, imageUpdate, paramString, setDisabledIcon, setDisplayedMnemonic, setDisplayedMnemonic, setDisplayedMnemonicIndex, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabelFor, setVerticalAlignment, setVerticalTextPosition`

  ### Methods inherited from class javax.swing.JComponent

  `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, 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, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, 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, 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, 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, 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, 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`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface ghidra.util.table.column.GColumnRenderer

  `createWrapperTypeException, getColumnConstraintFilterMode`

  ### Methods inherited from interface docking.widgets.GComponent

  `isHTMLRenderingEnabled, setHTMLRenderingEnabled`

  ### Methods inherited from interface javax.swing.table.TableCellRenderer

  `getTableCellRendererComponent`

- ## Field Details

  - ### TIME_FORMAT_24HMSms

    public static final DateFormat TIME_FORMAT_24HMSms

  - ### TIME_24HMSms

    public static final CustomToStringCellRenderer<Date> TIME_24HMSms

  - ### HTML

    public static final CustomToStringCellRenderer<String> HTML

  - ### MONO_OBJECT

    public static final CustomToStringCellRenderer<Object> MONO_OBJECT

  - ### MONO_HTML

    public static final CustomToStringCellRenderer<String> MONO_HTML

  - ### MONO_LONG_HEX

    public static final CustomToStringCellRenderer<Long> MONO_LONG_HEX

  - ### MONO_ULONG_HEX

    public static final CustomToStringCellRenderer<Long> MONO_ULONG_HEX

  - ### MONO_BIG_HEX

    public static final CustomToStringCellRenderer<BigInteger> MONO_BIG_HEX

- ## Constructor Details

  - ### CustomToStringCellRenderer

    public CustomToStringCellRenderer(Class<T> cls, BiFunction<T,Settings,String> toString, boolean enableHtml)

  - ### CustomToStringCellRenderer

    public CustomToStringCellRenderer(CustomToStringCellRenderer.CustomFont font, Class<T> cls, BiFunction<T,Settings,String> toString, boolean enableHtml)

- ## Method Details

  - ### longToPrefixedHexString

    public static String longToPrefixedHexString(long v)

  - ### bigIntToPrefixedHexString

    public static String bigIntToPrefixedHexString(BigInteger v)

  - ### getDefaultFont

    protected Font getDefaultFont()
    Description copied from class: `GTableCellRenderer`
    Override to change the font that will be used each time the renderer is initialized inside of `GTableCellRenderer.getTableCellRendererComponent(GTableCellRenderingData)`
    Overrides:
      `getDefaultFont` in class `GTableCellRenderer`
    Returns:
      the font

  - ### getFilterString

    public String getFilterString(T t, Settings settings)
    Description copied from interface: `GColumnRenderer`
    Returns a string that is suitable for use when filtering. The returned String should be an unformatted (e.g., no HTML markup, icons, etc) version of what is on the screen. If the String returned here does not match what the user sees (that which is rendered), then the filtering action may confuse the user.
    Parameters:
      `t` - the column type instance
      `settings` - any settings the converter may need to convert the type
    Returns:
      the unformatted String version of what is rendered in the table cell on screen

  - ### getTableCellRendererComponent

    public Component getTableCellRendererComponent(GTableCellRenderingData data)
    Description copied from class: `GTableCellRenderer`
    Provide basic cell rendering -- setting foreground and background colors, font, text, alignment, drop color, and border. Additional data that may be of use to the renderer is passed through the `GTableCellRenderingData` object.
    Overrides:
      `getTableCellRendererComponent` in class `GTableCellRenderer`
    Parameters:
      `data` - Context data used in the rendering of a data cell.
    Returns:
      The component used for drawing the table cell.

  - ### getRowHeight

    public int getRowHeight(int colWidth)