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.AccessibleJLabelNested 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
FieldsModifier and TypeFieldDescriptionprotected Fontprotected Fontprotected intprotected Fontprotected final Borderprotected final Borderprotected static booleanFields 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 docking.widgets.GComponent
HTML_DISABLE_STRINGFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTHFields 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 TypeMethodDescriptionvoidfirePropertyChange(String propertyName, boolean oldValue, boolean newValue) SeeDefaultTableCellRendererclass header javadoc for more info.protected voidfirePropertyChange(String property, Object oldValue, Object newValue) SeeDefaultTableCellRendererclass header javadoc for more info.protected ColorgetAlternatingBackgroundColor(JComponent parent, int row) Returns the background color appropriate for the given component.protected ColorgetBackgroundColorForRow(int row) protected Colorprotected Fontprotected ColorgetErrorForegroundColor(boolean isSelected) protected Borderprotected ColorgetUneditableForegroundColor(boolean isSelected) voidSeeDefaultTableCellRendererclass header javadoc for more info.voidrepaint()SeeDefaultTableCellRendererclass header javadoc for more info.voidrepaint(long tm, int x, int y, int width, int height) SeeDefaultTableCellRendererclass header javadoc for more info.voidSeeDefaultTableCellRendererclass header javadoc for more info.voidSeeDefaultTableCellRendererclass header javadoc for more info.voidsetBackground(Color bg) Overrides this method to ensure that the new background color is not aGColorUIResource.protected voidsetBold()voidsetDropRow(int dropRow) Sets the row where DnD would perform drop operation.voidvoidsetForeground(Color fg) Overrides this method to ensure that the new foreground color is not aGColorUIResource.voidsetShouldAlternateRowBackgroundColors(boolean alternate) booleanReturn whether or not the renderer should alternate row background colors.protected voidsuperSetFont(Font font) protected voidvoidvalidate()SeeDefaultTableCellRendererclass header javadoc for more info.Methods inherited from class docking.widgets.label.AbstractHtmlLabel
propertyChange, setText, updateUIMethods 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, setVerticalTextPositionMethods 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, updateMethods 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, 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, 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
setFontin 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()SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
invalidatein classContainer
-
superValidate
protected void superValidate() -
validate
public void validate()SeeDefaultTableCellRendererclass header javadoc for more info. -
revalidate
public void revalidate()SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
revalidatein classJComponent
-
repaint
public void repaint(long tm, int x, int y, int width, int height) SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
repaintin classJComponent
-
repaint
SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
repaintin classJComponent
-
repaint
public void repaint()SeeDefaultTableCellRendererclass header javadoc for more info. -
firePropertyChange
SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
firePropertyChangein classComponent
-
firePropertyChange
SeeDefaultTableCellRendererclass header javadoc for more info.- Overrides:
firePropertyChangein 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:
setForegroundin 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:
setBackgroundin classJComponent- Parameters:
bg- the new background color
-