Package docking.widgets
Class AbstractGCellRenderer
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
- All Implemented Interfaces:
GComponent
,ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
,SwingConstants
- Direct Known Subclasses:
GListCellRenderer
,GTableCellRenderer
A common base class for list and table renderer objects, unifying the Ghidra look and feel.
It allows (but default-disables) HTML content, automatically paints alternating row background colors, and highlights the drop target in a drag-n-drop operation.
- See Also:
-
Nested Class Summary
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
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Font
protected Font
protected int
protected Font
protected final Border
protected final Border
protected static boolean
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 -
Method Summary
Modifier and TypeMethodDescriptionvoid
firePropertyChange
(String propertyName, boolean oldValue, boolean newValue) SeeDefaultTableCellRenderer
class header javadoc for more info.protected void
firePropertyChange
(String property, Object oldValue, Object newValue) SeeDefaultTableCellRenderer
class header javadoc for more info.protected Color
getAlternatingBackgroundColor
(JComponent parent, int row) Returns the background color appropriate for the given component.protected Color
getBackgroundColorForRow
(int row) protected Color
protected Font
protected Color
getErrorForegroundColor
(boolean isSelected) protected Border
protected Color
getUneditableForegroundColor
(boolean isSelected) void
SeeDefaultTableCellRenderer
class header javadoc for more info.void
repaint()
SeeDefaultTableCellRenderer
class header javadoc for more info.void
repaint
(long tm, int x, int y, int width, int height) SeeDefaultTableCellRenderer
class header javadoc for more info.void
SeeDefaultTableCellRenderer
class header javadoc for more info.void
SeeDefaultTableCellRenderer
class header javadoc for more info.void
setBackground
(Color bg) Overrides this method to ensure that the new background color is not aGColorUIResource
.protected void
setBold()
void
setDropRow
(int dropRow) Sets the row where DnD would perform drop operation.void
void
setForeground
(Color fg) Overrides this method to ensure that the new foreground color is not aGColorUIResource
.void
setShouldAlternateRowBackgroundColors
(boolean alternate) boolean
Return whether or not the renderer should alternate row background colors.protected void
superSetFont
(Font font) protected void
void
validate()
SeeDefaultTableCellRenderer
class header javadoc for more info.Methods inherited from class docking.widgets.label.AbstractHtmlLabel
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, setUI, 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 docking.widgets.GComponent
isHTMLRenderingEnabled, setHTMLRenderingEnabled
-
Field Details
-
systemAlternateRowColors
protected static boolean systemAlternateRowColors -
focusBorder
-
noFocusBorder
-
defaultFont
-
fixedWidthFont
-
boldFont
-
dropRow
protected int dropRow
-
-
Constructor Details
-
AbstractGCellRenderer
public AbstractGCellRenderer()
-
-
Method Details
-
setShouldAlternateRowBackgroundColors
public void setShouldAlternateRowBackgroundColors(boolean alternate) -
shouldAlternateRowBackgroundColor
public boolean shouldAlternateRowBackgroundColor()Return whether or not the renderer should alternate row background colors.A renderer is unable to override an enforcing DISABLE_ALTERNATING_ROW_COLORS_PROPERTY system property -- if the property has disabled alternating colors (i.e., set to 'true'), this method returns false. If the property is false, individual renderers may assert control over alternating row colors.
- Returns:
- True if the rows may be painted in alternate background colors, false otherwise
- See Also:
-
DISABLE_ALTERNATING_ROW_COLORS_PROPERTY
-
getAlternatingBackgroundColor
Returns the background color appropriate for the given component. This may vary depending upon the current OS.- Parameters:
parent
- The parent being rendered -- likely a list or table.row
- The row being rendered.- Returns:
- the color
-
setFont
- Overrides:
setFont
in classJComponent
-
superSetFont
-
setBold
protected void setBold() -
setDropRow
public void setDropRow(int dropRow) Sets the row where DnD would perform drop operation.- Parameters:
dropRow
- the drop row
-
getNoFocusBorder
-
getDefaultFont
-
getFixedWidthFont
-
getBoldFont
-
getDefaultBackgroundColor
-
getBackgroundColorForRow
-
getErrorForegroundColor
-
getUneditableForegroundColor
-
invalidate
public void invalidate()SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
invalidate
in classContainer
-
superValidate
protected void superValidate() -
validate
public void validate()SeeDefaultTableCellRenderer
class header javadoc for more info. -
revalidate
public void revalidate()SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
revalidate
in classJComponent
-
repaint
public void repaint(long tm, int x, int y, int width, int height) SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
repaint
in classJComponent
-
repaint
SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
repaint
in classJComponent
-
repaint
public void repaint()SeeDefaultTableCellRenderer
class header javadoc for more info. -
firePropertyChange
SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
firePropertyChange
in classComponent
-
firePropertyChange
SeeDefaultTableCellRenderer
class header javadoc for more info.- Overrides:
firePropertyChange
in classJComponent
-
setForeground
Overrides this method to ensure that the new foreground color is not aGColorUIResource
. Some Look and Feels will ignore color values that extendUIResource
, choosing instead their own custom painting behavior. By not using a UIResource, we prevent the Look and Feel from overriding this renderer's color value.- Overrides:
setForeground
in classJComponent
- Parameters:
fg
- the new foreground color
-
setBackground
Overrides this method to ensure that the new background color is not aGColorUIResource
. Some Look and Feels will ignore color values that extendUIResource
, choosing instead their own custom painting behavior. By not using a UIResource, we prevent the Look and Feel from overriding this renderer's color value.- Overrides:
setBackground
in classJComponent
- Parameters:
bg
- the new background color
-