Class DataQueryTab
-
- All Implemented Interfaces:
CleanUpHandler
,StatusMessageHandler
,PopupMenuProvider
,WekaInvestigatorDataListener
,ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,TableModelListener
public class DataQueryTab extends AbstractInvestigatorTabWithDataTable
Allows the execution of an SQL-like query to manipulate datasets.- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
AbstractInvestigatorTab.SerializationOption
-
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
Fields Modifier and Type Field Description static String
KEY_QUERY
the key for the query.protected BaseButton
m_ButtonClear
the clear button.protected BaseButton
m_ButtonExecute
the execute button.protected BaseButton
m_ButtonHelp
the help button.protected BaseButton
m_ButtonHistory
the button for the history.protected BaseButton
m_ButtonSave
the save button.protected boolean
m_DataGenerated
whether data was generated.protected SpreadSheetQueryEditorPanel
m_PanelQuery
the query panel.protected JPopupMenu
m_PopupMenu
the popup menu for the recent items.protected RecentSQLStatementsHandler<JPopupMenu>
m_RecentStatementsHandler
the recent files handler.protected SpreadSheetTable
m_TableResult
the generated spreadsheet.static String
SESSION_FILE
the file to store the recent files in.-
Fields inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTabWithDataTable
KEY_DATATABLE_HEIGHT, KEY_DATATABLE_SELECTEDROWS, m_DefaultDataTableHeight, m_FirstAdd, m_Model, m_PanelData, m_SplitPane, m_Table
-
Fields inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
m_ActualTitle, m_FileChooserParameters, m_Owner, m_Worker
-
Fields inherited from class adams.gui.core.DetachablePanel
DETACH_ICON, m_ButtonReattach, m_ContentPanel, m_DetachedFrame, m_DetachListeners, m_FrameTitle, m_LastFramePosition, m_LastFrameSize, m_PanelReattach, m_PopupMenuCustomizer, m_ReattachListeners, REATTACH_ICON
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
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 DataQueryTab()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
clear()
Saves the result as a new dataset.void
dataChanged(WekaInvestigatorDataEvent e)
Notifies the tab that the data changed.protected void
dataTableSelectionChanged()
Gets called when the user changes the selection.protected void
doDeserialize(Map<String,Object> data, MessageCollection errors)
Restores the objects.protected Map<String,Object>
doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.protected void
executeQuery()
Applies the query to the dataset.protected void
finishInit()
Finishes the initialization.protected int
getDataTableListSelectionMode()
Returns the list selection mode to use.String
getTabIcon()
Returns the icon name for the tab icon.String
getTitle()
Returns the title of this table.protected boolean
hasReadOnlyTable()
Returns whether a readonly table is used.protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the members.protected void
saveDataset()
Saves the result as a new dataset.void
setStatement(SQLStatement value)
Sets the SQL statement.protected void
showHelp()
Displays the help for the queries.protected void
updateButtons()
Updates the state of the buttons.-
Methods inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTabWithDataTable
activate, backupSelection, getSelectedRows, getTable, removeData, renameData, restoreSelection, tableChanged, undo
-
Methods inherited from class adams.gui.tools.wekainvestigator.tab.AbstractInvestigatorTab
canStartExecution, createPopupMenu, deserialize, executionFinished, fireDataChange, getActualTitle, getData, getFileChooserParameters, getOwner, isBusy, loadParameters, logError, logError, logMessage, postExecutionFinished, postStartExecution, postStopExecution, saveParameters, serialize, setActualTitle, setOwner, showStatus, startExecution, stopExecution, toParamsArray
-
Methods inherited from class adams.gui.core.DetachablePanel
addDetachListener, addReattachListener, cleanUp, clearDetachListeners, clearReattachListeners, detach, getContentPanel, getFrameTitle, getPopupMenu, getPopupMenuCustomizer, isDetached, notifyDetachListeners, notifyReattachListeners, reattach, removeDetachListener, removeReattachListener, setFrameTitle, setPopupMenuCustomizer
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, 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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.core.CleanUpHandler
cleanUp
-
-
-
-
Field Detail
-
SESSION_FILE
public static final String SESSION_FILE
the file to store the recent files in.- See Also:
- Constant Field Values
-
KEY_QUERY
public static final String KEY_QUERY
the key for the query.- See Also:
- Constant Field Values
-
m_PanelQuery
protected SpreadSheetQueryEditorPanel m_PanelQuery
the query panel.
-
m_ButtonExecute
protected BaseButton m_ButtonExecute
the execute button.
-
m_ButtonClear
protected BaseButton m_ButtonClear
the clear button.
-
m_ButtonHistory
protected BaseButton m_ButtonHistory
the button for the history.
-
m_ButtonHelp
protected BaseButton m_ButtonHelp
the help button.
-
m_ButtonSave
protected BaseButton m_ButtonSave
the save button.
-
m_TableResult
protected SpreadSheetTable m_TableResult
the generated spreadsheet.
-
m_DataGenerated
protected boolean m_DataGenerated
whether data was generated.
-
m_PopupMenu
protected JPopupMenu m_PopupMenu
the popup menu for the recent items.
-
m_RecentStatementsHandler
protected RecentSQLStatementsHandler<JPopupMenu> m_RecentStatementsHandler
the recent files handler.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractInvestigatorTabWithDataTable
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUI
in classAbstractInvestigatorTabWithDataTable
-
finishInit
protected void finishInit()
Finishes the initialization.- Overrides:
finishInit
in classAbstractInvestigatorTabWithDataTable
-
getTitle
public String getTitle()
Returns the title of this table.- Specified by:
getTitle
in classAbstractInvestigatorTab
- Returns:
- the title
-
getTabIcon
public String getTabIcon()
Returns the icon name for the tab icon.- Overrides:
getTabIcon
in classAbstractInvestigatorTab
- Returns:
- the icon name, null if not available
-
hasReadOnlyTable
protected boolean hasReadOnlyTable()
Returns whether a readonly table is used.- Specified by:
hasReadOnlyTable
in classAbstractInvestigatorTabWithDataTable
- Returns:
- true if readonly
-
getDataTableListSelectionMode
protected int getDataTableListSelectionMode()
Returns the list selection mode to use.- Specified by:
getDataTableListSelectionMode
in classAbstractInvestigatorTabWithDataTable
- Returns:
- the mode
- See Also:
ListSelectionModel
-
dataChanged
public void dataChanged(WekaInvestigatorDataEvent e)
Description copied from class:AbstractInvestigatorTabWithDataTable
Notifies the tab that the data changed.- Specified by:
dataChanged
in interfaceWekaInvestigatorDataListener
- Overrides:
dataChanged
in classAbstractInvestigatorTabWithDataTable
- Parameters:
e
- the event
-
dataTableSelectionChanged
protected void dataTableSelectionChanged()
Gets called when the user changes the selection.- Specified by:
dataTableSelectionChanged
in classAbstractInvestigatorTabWithDataTable
-
executeQuery
protected void executeQuery()
Applies the query to the dataset.
-
saveDataset
protected void saveDataset()
Saves the result as a new dataset.
-
clear
protected void clear()
Saves the result as a new dataset.
-
showHelp
protected void showHelp()
Displays the help for the queries.
-
setStatement
public void setStatement(SQLStatement value)
Sets the SQL statement.- Parameters:
value
- the statement to use
-
updateButtons
protected void updateButtons()
Updates the state of the buttons.
-
doSerialize
protected Map<String,Object> doSerialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.- Overrides:
doSerialize
in classAbstractInvestigatorTabWithDataTable
- Parameters:
options
- what to serialize- Returns:
- the mapping of the objects to serialize
-
doDeserialize
protected void doDeserialize(Map<String,Object> data, MessageCollection errors)
Restores the objects.- Overrides:
doDeserialize
in classAbstractInvestigatorTabWithDataTable
- Parameters:
data
- the data to restoreerrors
- for storing errors
-
-