Package com.illumon.iris.console.db
Class IrisTablePanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.illumon.iris.console.db.IrisTablePanel
- All Implemented Interfaces:
Workspace
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class IrisTablePanel extends JPanel implements Workspace
This encapsulates a
GuiTable
, the JScrollPane
for that table, and an optional warning label into a JPanel that we put
into our dataPanel.- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
IrisTablePanel.Position
Defines the places where table decorations can be placed.static class
IrisTablePanel.ShowDecorationsMode
This enum contians the available options for table decorationsNested 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.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 Constructor Description IrisTablePanel(com.fishlib.io.logger.Logger log, ExecutorService createViewThreadPool, AsyncPanel dataPanel, IrisView irisView, IrisTable table, Function<IrisTableModel,IrisTable> createFreezeTableFunction, Function<Table,IrisTable> createGuiTable, PersistentQueryClient client, EmbeddedDbConsole embeddedDbConsole, boolean allowTotals)
Create a table panel -
Method Summary
Modifier and Type Method Description ViewportAdjuster
addViewportListener(IrisTable guiTable, JScrollPane scrollPane, boolean addPopUps)
Adds a viewport adjustment listener to an IrisTable and adds several UI elements (menus and key bindings).void
attachToModel(GuiTable table)
void
closeDbViewportAdjustmentListeners()
Closes the view port adjustment listeners.protected FreezeColumnsManager
createFreezeManager(IrisTable irisTable)
boolean
getAllowTotals()
FreezeColumnsManager
getFreezeColumnsManager()
JScrollPane
getScrollPane()
IrisTable
getTable()
org.jdom2.Element
getWorkspaceInfo()
Serialize the class into an element to be stored in the workspacevoid
removeViewportListener(ViewportAdjuster listenerToRemove)
void
setAllowTotals(boolean allowTotals)
void
setFreezeColumnsManager(FreezeColumnsManager freezeColumnsManager)
void
setTableSize(long size)
void
setTopChoices(List<Object> topChoices, Table rawTable)
void
setWorkspaceInfo(org.jdom2.Element workspaceInfo)
Restore the class to the state defined by the data persisted in workspaceInfoMethods 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, 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
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
-
Constructor Details
-
IrisTablePanel
public IrisTablePanel(@NotNull com.fishlib.io.logger.Logger log, @NotNull ExecutorService createViewThreadPool, @NotNull AsyncPanel dataPanel, @NotNull IrisView irisView, @NotNull IrisTable table, @NotNull Function<IrisTableModel,IrisTable> createFreezeTableFunction, @Nullable Function<Table,IrisTable> createGuiTable, @Nullable PersistentQueryClient client, @Nullable EmbeddedDbConsole embeddedDbConsole, boolean allowTotals)Create a table panel- Parameters:
log
- a logger for outputcreateViewThreadPool
- the shared threadpool to use when computing table updatesdataPanel
- theAsyncPanel
into which the components will be placedirisView
- theIrisView
that will contain this paneltable
- thetable
being displayedcreateFreezeTableFunction
- a lambda that can be used to create a freeze table on requestcreateGuiTable
- a lambda for creating anIrisTable
on demand (for use with partition selection)client
- theclient connection
to use for sending queriesembeddedDbConsole
- aconsole
object if the panel was created via a consoleallowTotals
- if totals tables are allowed.
-
-
Method Details
-
createFreezeManager
-
setFreezeColumnsManager
-
getFreezeColumnsManager
-
getScrollPane
-
getTable
-
attachToModel
-
setTableSize
public void setTableSize(long size) -
setTopChoices
-
removeViewportListener
-
addViewportListener
public ViewportAdjuster addViewportListener(IrisTable guiTable, JScrollPane scrollPane, boolean addPopUps)Adds a viewport adjustment listener to an IrisTable and adds several UI elements (menus and key bindings). Also connects the totals table, the search bar, and connects the viewport adjuster to the scrollbar.- Parameters:
guiTable
- the table to add the listener toscrollPane
- the scroll pane containing the tableaddPopUps
- if the method should add pop up menus to the table- Returns:
- the viewport adjustment listener
-
closeDbViewportAdjustmentListeners
public void closeDbViewportAdjustmentListeners()Closes the view port adjustment listeners. -
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.
-
setAllowTotals
-
getAllowTotals
-