Module org.autogui
Package org.autogui.swing.log
Class GuiSwingLogEntryException.ExceptionStackTraceRenderer
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.autogui.swing.util.TextCellRenderer<GuiLogEntryException>
org.autogui.swing.log.GuiSwingLogEntryException.ExceptionStackTraceRenderer
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,ListCellRenderer<GuiLogEntryException>
,TableCellRenderer
- Enclosing class:
GuiSwingLogEntryException
public static class GuiSwingLogEntryException.ExceptionStackTraceRenderer
extends TextCellRenderer<GuiLogEntryException>
a renderer for a stack-trace lines
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.autogui.swing.util.TextCellRenderer
TextCellRenderer.LineInfo, TextCellRenderer.LineInfoMatch
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
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 float[]
protected boolean
protected float[]
protected StringBuilder
Fields inherited from class org.autogui.swing.util.TextCellRenderer
baseHeight, baseWidth, findPattern, findText, forMouseEvents, lastMatch, maxWidth, originalBackground, selected, selectionBackground, selectionEnd, selectionForeground, selectionStart, testImage, text, textToBackToColor, value
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
append
(String str, Map<AttributedCharacterIterator.Attribute, Object> attrs) void
float[]
multiply maxWidth set byTextCellRenderer.buildFromValue()
and size of lines by base char size (TextCellRenderer.getBaseSize()
) , and border size byTextCellRenderer.getBorderSize()
createLine
(TextCellRenderer.LineInfo prevLine, int lineIndex, int start, String line) create a line-infoformat
(GuiLogEntryException value) void
formatStackTrace
(Throwable ex, Set<Throwable> history, String lineHead, GuiSwingLogEntryException.StackTraceAttributeSet attrSet, List<StackTraceElement> prevStackTrace) void
formatStackTraceElement
(StackTraceElement e, String lineHead, GuiSwingLogEntryException.StackTraceAttributeSet attrSet) void
formatStackTraceEnclosing
(Throwable ex, Set<Throwable> history, String head, String lineHead, List<StackTraceElement> stackTrace) float[]
int
getCommons
(List<StackTraceElement> nextStackTrace, List<StackTraceElement> prevStackTrace) getFocusNextFound
(GuiLogEntryException value, Object prevIndex, boolean forward) focus next matched range and return it.protected void
protected void
boolean
void
setExpanded
(boolean expanded) boolean
setValue
(GuiLogEntryException value, boolean forMouseEvents) Methods inherited from class org.autogui.swing.util.TextCellRenderer
buildLines, clearSelectionRange, createBorder, createBorder, createCellTableBorderOuter, findTextForComposition, formatPreProcess, getBaseSize, getBorderSize, getCellBackground, getFindPattern, getFocusNextFoundForComposition, getGridColor, getIndex, getLineFindColor, getLineFindMatchColor, getLines, getListCellRendererComponent, getSelectedTextForComposition, getSelectionBackground, getSelectionForeground, getTableCellRendererComponent, getText, getTextSelection, getValue, initColor, isCellTableEnd, isLastMatch, isValueSame, mouseUpdateForComposition, paintCellSelection, paintComponent, paintLineFinds, paintLineSelection, paintOrLayoutComponentLines, paintRowsBorderSelection, paintSetUpGraphics, paintStartX, setBackground, setCellBorderDefault, setCellDefaultProperties, setCellListColor, setCellListColorDropTarget, setCellTableBorder, setCellTableBorderWithMargin, setCellTableColor, setCellTableColorDropTarget, setCellTableMargin, setDefaultAttributes, setFindHighlights, setProperty, setProperty, setSelectionBackground, setSelectionForeground, setSelectionFromValue, setSelectionRange, setValueForComposition, updateFindPattern, updateFindPattern, updateFindPatternForComposition, wrapBorder
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, 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, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, 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, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, 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, 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, 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
-
Field Details
-
topSet
-
middleSet
-
lastSet
-
expandedStackSize
protected float[] expandedStackSize -
collapsedStackSize
protected float[] collapsedStackSize -
expanded
protected boolean expanded -
lines
-
lineAttrs
-
line
-
-
Constructor Details
-
ExceptionStackTraceRenderer
public ExceptionStackTraceRenderer()
-
-
Method Details
-
initBorder
protected void initBorder()- Overrides:
initBorder
in classTextCellRenderer<GuiLogEntryException>
-
initAttributes
protected void initAttributes() -
setValue
Description copied from class:TextCellRenderer
called fromTextCellRenderer.getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int)
(alsoTextCellRenderer.getListCellRendererComponent(JList, Object, int, boolean, boolean)
)- check the value by
TextCellRenderer.isValueSame(Object, boolean)
. if the value is same, returns false - updates value and text with
TextCellRenderer.format(Object)
TextCellRenderer.buildFromValue()
: constructsTextCellRenderer.LineInfo
s (TextCellRenderer.buildLines(String, List)
andTextCellRenderer.createLine(LineInfo, int, int, String)
), and update preferredSize withTextCellRenderer.buildSize()
. Also, if forMouseEvents is false,TextCellRenderer.setSelectionFromValue(Object)
- Overrides:
setValue
in classTextCellRenderer<GuiLogEntryException>
- Parameters:
value
- a new valueforMouseEvents
-TextCellRenderer.setSelectionFromValue(Object)
will be skipped- Returns:
- true if updated
- check the value by
-
buildFromValue
public void buildFromValue()- Overrides:
buildFromValue
in classTextCellRenderer<GuiLogEntryException>
-
buildSize
public float[] buildSize()Description copied from class:TextCellRenderer
multiply maxWidth set byTextCellRenderer.buildFromValue()
and size of lines by base char size (TextCellRenderer.getBaseSize()
) , and border size byTextCellRenderer.getBorderSize()
- Overrides:
buildSize
in classTextCellRenderer<GuiLogEntryException>
- Returns:
- {width, height}
-
createLine
public TextCellRenderer.LineInfo createLine(TextCellRenderer.LineInfo prevLine, int lineIndex, int start, String line) Description copied from class:TextCellRenderer
create a line-info- Overrides:
createLine
in classTextCellRenderer<GuiLogEntryException>
- Parameters:
prevLine
- a previous line-info or null for first linelineIndex
- the line number indexstart
- the start position of the lineline
- the line string without new-line- Returns:
- a created line info for the line
-
format
- Overrides:
format
in classTextCellRenderer<GuiLogEntryException>
- Parameters:
value
- the source value- Returns:
- the formatted line: should be processed by
TextCellRenderer.formatPreProcess(String)
-
append
-
formatStackTrace
public void formatStackTrace(Throwable ex, Set<Throwable> history, String lineHead, GuiSwingLogEntryException.StackTraceAttributeSet attrSet, List<StackTraceElement> prevStackTrace) -
formatStackTraceEnclosing
-
getCommons
public int getCommons(List<StackTraceElement> nextStackTrace, List<StackTraceElement> prevStackTrace) -
formatStackTraceElement
public void formatStackTraceElement(StackTraceElement e, String lineHead, GuiSwingLogEntryException.StackTraceAttributeSet attrSet) -
getCollapsedSize
public float[] getCollapsedSize() -
setExpanded
public void setExpanded(boolean expanded) -
isExpanded
public boolean isExpanded() -
getFocusNextFound
Description copied from class:TextCellRenderer
focus next matched range and return it.m = null; m = getFocusNextFound(v, m, true); m = getFocusNextFound(v, m, true); ...
- Overrides:
getFocusNextFound
in classTextCellRenderer<GuiLogEntryException>
- Parameters:
value
- the value to be setprevIndex
- the previous focus object or initially nullforward
- true for forward or false for backward- Returns:
- a focus object
TextCellRenderer.LineInfoMatch
or null
-