Class LinkableChartPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLayeredPane
com.illumon.iris.db.plot.builders.jfreechart.LinkableChartPanel
- All Implemented Interfaces:
ErrorPropagatingPlot.Listener
,PlotExceptionCause
,ChartRenderingState
,Linkable
,LinkTarget
,Workspace
,ComponentListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,org.jfree.chart.event.ChartProgressListener
public class LinkableChartPanel extends JLayeredPane implements LinkTarget, Workspace, PlotExceptionCause, org.jfree.chart.event.ChartProgressListener, ComponentListener, ChartRenderingState, ErrorPropagatingPlot.Listener
Panel holding an
JFreeChart
.- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
LinkableChartPanel.LinkTargetListener
Nested classes/interfaces inherited from class javax.swing.JLayeredPane
JLayeredPane.AccessibleJLayeredPane
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JLayeredPane
DEFAULT_LAYER, DRAG_LAYER, FRAME_CONTENT_LAYER, LAYER_PROPERTY, MODAL_LAYER, PALETTE_LAYER, POPUP_LAYER
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
-
Method Summary
Modifier and Type Method Description void
add(Component comp, Object constraints)
void
addSeries(Comparable seriesName)
void
chartProgress(org.jfree.chart.event.ChartProgressEvent chartProgressEvent)
void
componentHidden(ComponentEvent e)
void
componentMoved(ComponentEvent e)
void
componentResized(ComponentEvent e)
void
componentShown(ComponentEvent e)
Collection<Condition>
getAllowedConditions(String column)
org.jfree.chart.JFreeChart
getChart()
boolean
getClearFiltersBeforeUpdate()
Indicates if a Link Target will clear its filters before an update.JComponent
getComponent()
Get's the UI component for this Linkable.String
getFriendlyName()
String
getId()
List<String>
getLinkableColumns()
Map<LinkSource,Collection<LinkDescriptor>>
getLinks()
Collection<LinkDescriptor>
getLinks(LinkSource source)
PlotInfo
getPlotInfo()
org.jdom2.Element
getWorkspaceInfo()
Serialize the class into an element to be stored in the workspaceboolean
isLinked()
void
makeLink(LinkSource from, String sourceColumn, String targetColumn, Condition condition)
Create a link from sourceColumn on aLinkSource
to the targetColumn of thisLinkTarget
using the specifiedCondition
as a filter conditionvoid
onError(Throwable cause)
boolean
readyForLinks()
void
removeAllLinks()
Remove all target links from this source.void
removeAllLinks(LinkSource from)
Remove all column filter links between this object and the specified source.void
removeLink(LinkSource from, String srcColumn, String targetColumn, Condition condition)
Remove a link between the specified columns and condition between this target and it's source.void
setClearFiltersBeforeUpdate(boolean shouldClear)
Sets if a Link Target should clear its filters before an update.void
setColumnStatusMessage(Comparable series, String message)
void
setIgnoreChartRenderedEvents(boolean ignoreChartRenderedEvents)
If false,ChartRenderingState.setRecomputed(java.lang.Comparable)
is called once the chart is done rendering.void
setRecomputed(Comparable series)
void
setRecomputing(Comparable series)
void
setRenderingLabelMessage(String message)
void
setWaitingOnUser(Comparable series, boolean waitingOnUser)
void
setWorkspaceInfo(org.jdom2.Element workspaceInfo)
Restore the class to the state defined by the data persisted in workspaceInfovoid
update(LinkEvent event)
Notify this LinkTarget of an event from a source.Methods inherited from class javax.swing.JLayeredPane
addImpl, getAccessibleContext, getComponentCountInLayer, getComponentsInLayer, getComponentToLayer, getIndexOf, getLayer, getLayer, getLayeredPaneAbove, getObjectForLayer, getPosition, highestLayer, insertIndexForLayer, isOptimizedDrawingEnabled, lowestLayer, moveToBack, moveToFront, paint, paramString, putLayer, remove, removeAll, setLayer, setLayer, setPosition
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, getUI, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, 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, 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, update, updateUI
Methods inherited from class java.awt.Container
add, add, add, add, addContainerListener, 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, 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.illumon.iris.gui.filterlink.LinkTarget
applyDefaultFilters, applyFilters, applyFilters, getCurrentFilters, getTrueTarget
-
Method Details
-
getChart
public org.jfree.chart.JFreeChart getChart() -
getPlotInfo
- Specified by:
getPlotInfo
in interfacePlotExceptionCause
-
onError
- Specified by:
onError
in interfaceErrorPropagatingPlot.Listener
-
removeAllLinks
public void removeAllLinks()Description copied from interface:Linkable
Remove all target links from this source.- Specified by:
removeAllLinks
in interfaceLinkable
-
isLinked
public boolean isLinked() -
readyForLinks
public boolean readyForLinks()- Specified by:
readyForLinks
in interfaceLinkable
- Returns:
- If this linkable can accept links.
-
getLinkableColumns
- Specified by:
getLinkableColumns
in interfaceLinkable
- Returns:
- A list of columns available to be linked to.
-
getAllowedConditions
- Specified by:
getAllowedConditions
in interfaceLinkable
- Returns:
-
getId
-
getFriendlyName
- Specified by:
getFriendlyName
in interfaceLinkable
- Returns:
- A user friendly name for UI presentation.
-
makeLink
public void makeLink(LinkSource from, String sourceColumn, String targetColumn, Condition condition)Description copied from interface:LinkTarget
Create a link from sourceColumn on aLinkSource
to the targetColumn of thisLinkTarget
using the specifiedCondition
as a filter condition- Specified by:
makeLink
in interfaceLinkTarget
- Parameters:
from
- The source of the filter link.sourceColumn
- The source column of the filter linktargetColumn
- The column to compare to the sourceColumncondition
- The condition to apply to the matching
-
removeLink
public void removeLink(LinkSource from, String srcColumn, String targetColumn, Condition condition)Description copied from interface:LinkTarget
Remove a link between the specified columns and condition between this target and it's source. Note that for a link to be removed all of the specified parameters must match what was added viaLinkTarget.makeLink(LinkSource, String, String, Condition)
.- Specified by:
removeLink
in interfaceLinkTarget
- Parameters:
from
- The source to remove a link tosrcColumn
- The column link being removedtargetColumn
- The column being linked tocondition
- The condition of the filter
-
removeAllLinks
Description copied from interface:LinkTarget
Remove all column filter links between this object and the specified source.- Specified by:
removeAllLinks
in interfaceLinkTarget
- Parameters:
from
- The source of the links to remove.
-
update
Description copied from interface:LinkTarget
Notify this LinkTarget of an event from a source.- Specified by:
update
in interfaceLinkTarget
- Parameters:
event
- A LinkEvent containing the details of the event.
-
getLinks
- Specified by:
getLinks
in interfaceLinkTarget
- Returns:
- A collection of all links attached to this target.
-
getLinks
- Specified by:
getLinks
in interfaceLinkTarget
- Parameters:
source
- The source to check links from.- Returns:
- A collection of all links between the specified source and this target.
-
getClearFiltersBeforeUpdate
public boolean getClearFiltersBeforeUpdate()Description copied from interface:LinkTarget
Indicates if a Link Target will clear its filters before an update.- Specified by:
getClearFiltersBeforeUpdate
in interfaceLinkTarget
- Returns:
- true if it will clear, false otherwise
-
setClearFiltersBeforeUpdate
public void setClearFiltersBeforeUpdate(boolean shouldClear)Description copied from interface:LinkTarget
Sets if a Link Target should clear its filters before an update.- Specified by:
setClearFiltersBeforeUpdate
in interfaceLinkTarget
- Parameters:
shouldClear
- true to clear, false otherwise
-
getComponent
Description copied from interface:Linkable
Get's the UI component for this Linkable. If this Linkable is not a UI component, implementations may return null.- Specified by:
getComponent
in interfaceLinkable
- Returns:
- The component of this Linkable or null if there was none
-
getWorkspaceInfo
public org.jdom2.Element getWorkspaceInfo()Description copied from interface:Workspace
Serialize the class into an element to be stored in the workspace- Specified by:
getWorkspaceInfo
in interfaceWorkspace
- Returns:
- An
Element
containing the data to persist.
-
setWorkspaceInfo
public void setWorkspaceInfo(org.jdom2.Element workspaceInfo)Description copied from interface:Workspace
Restore the class to the state defined by the data persisted in workspaceInfo- Specified by:
setWorkspaceInfo
in interfaceWorkspace
- Parameters:
workspaceInfo
- AnElement
containing the persisted state.
-
componentResized
- Specified by:
componentResized
in interfaceComponentListener
-
componentMoved
- Specified by:
componentMoved
in interfaceComponentListener
-
componentShown
- Specified by:
componentShown
in interfaceComponentListener
-
componentHidden
- Specified by:
componentHidden
in interfaceComponentListener
-
addSeries
- Specified by:
addSeries
in interfaceChartRenderingState
-
chartProgress
public void chartProgress(org.jfree.chart.event.ChartProgressEvent chartProgressEvent)- Specified by:
chartProgress
in interfaceorg.jfree.chart.event.ChartProgressListener
-
setWaitingOnUser
- Specified by:
setWaitingOnUser
in interfaceChartRenderingState
-
setRecomputing
- Specified by:
setRecomputing
in interfaceChartRenderingState
-
setRecomputed
- Specified by:
setRecomputed
in interfaceChartRenderingState
-
setRenderingLabelMessage
- Specified by:
setRenderingLabelMessage
in interfaceChartRenderingState
-
setColumnStatusMessage
- Specified by:
setColumnStatusMessage
in interfaceChartRenderingState
-
setIgnoreChartRenderedEvents
public void setIgnoreChartRenderedEvents(boolean ignoreChartRenderedEvents)Description copied from interface:ChartRenderingState
If false,ChartRenderingState.setRecomputed(java.lang.Comparable)
is called once the chart is done rendering. If true, the rendering state is kept through event triggers.- Specified by:
setIgnoreChartRenderedEvents
in interfaceChartRenderingState
-
add
-