Package weka.gui.explorer
Class PreprocessPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.AbstractPerspective
weka.gui.explorer.PreprocessPanel
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,EventListener
,Accessible
,Explorer.CapabilitiesFilterChangeListener
,Explorer.ExplorerPanel
,Explorer.LogHandler
,Perspective
@PerspectiveInfo(ID="weka.gui.explorer.preprocesspanel",
title="Preprocess",
toolTipText="Preprocess data",
iconPath="weka/gui/weka_icon_new_small.png")
public class PreprocessPanel
extends AbstractPerspective
implements Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler
This panel controls simple preprocessing of instances. Summary information on
instances and attributes is shown. Filters may be configured to alter the set
of instances. Altered instances may also be saved.
- Version:
- $Revision: 15682 $
- Author:
- Richard Kirkby (rkirkby@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior
-
Field Summary
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
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
-
Method Summary
Modifier and TypeMethodDescriptionboolean
We can accept instancesvoid
Adds a PropertyChangeListener who will be notified of value changes.void
Backs up the current state of the dataset, so the changes can be undone.void
method gets called in case of a change eventvoid
edit()
edits the current instances object in the viewervoid
sets Instances generated via DataGenerators (pops up a Dialog)Get the default settings for this perspective (or null if there are none)returns the parent Explorer frameGets the working set of instances.getMenus()
Get an ordered list of menus to appear in the main menu bar.Returns the title for the tab in the ExplorerReturns the tooltip for the tab in the Explorervoid
We've been instantiated and now have access to the main application and PerspectiveManagerstatic void
Tests out the instance-preprocessing panel from the command line.void
Removes a PropertyChangeListener.boolean
Whether this perspective requires a graphical log to write tovoid
saveInstancesToFile
(AbstractFileSaver saver, Instances inst) saves the data with the specified savervoid
Queries the user for a file to save instances as, then saves the instances in a background process.void
setActive
(boolean active) Set active status of this perspective.void
setExplorer
(Explorer parent) Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)void
setInstances
(Instances inst) Tells the panel to use a new base set of instances.void
Loads instances from a databasevoid
setInstancesFromDBQ
(String url, String user, String pw, String query) Loads (non-sparse) instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process.void
setInstancesFromDBQ
(String url, String user, String pw, String query, boolean sparse) Loads instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process.void
Loads results from a set of instances retrieved with the supplied loader.void
Queries the user for a file to load instances from, then loads the instances in a background process.void
Loads instances from a URL.void
Queries the user for a URL to load instances from, then loads the instances in a background process.void
Sets the Logger to receive informational messagesvoid
Called when the user alters settings.void
undo()
Reverts to the last backed up version of the dataset.Methods inherited from class weka.gui.AbstractPerspective
getMainApplication, getPerspectiveIcon, getPerspectiveID, getPerspectiveTipText, getPerspectiveTitle, okToBeActive, setLoaded, setMainApplication, terminate, toString
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, 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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
PreprocessPanel
public PreprocessPanel()Creates the instances panel with no initial instances.
-
-
Method Details
-
acceptsInstances
public boolean acceptsInstances()We can accept instances- Specified by:
acceptsInstances
in interfacePerspective
- Overrides:
acceptsInstances
in classAbstractPerspective
- Returns:
- true
-
instantiationComplete
public void instantiationComplete()We've been instantiated and now have access to the main application and PerspectiveManager- Specified by:
instantiationComplete
in interfacePerspective
- Overrides:
instantiationComplete
in classAbstractPerspective
-
setLog
Sets the Logger to receive informational messages- Specified by:
setLog
in interfaceExplorer.LogHandler
- Specified by:
setLog
in interfacePerspective
- Overrides:
setLog
in classAbstractPerspective
- Parameters:
newLog
- the Logger that will now get info messages
-
requiresLog
public boolean requiresLog()Description copied from class:AbstractPerspective
Whether this perspective requires a graphical log to write to- Specified by:
requiresLog
in interfacePerspective
- Overrides:
requiresLog
in classAbstractPerspective
- Returns:
- true if a log is needed by this perspective
-
setInstances
Tells the panel to use a new base set of instances.- Specified by:
setInstances
in interfaceExplorer.ExplorerPanel
- Specified by:
setInstances
in interfacePerspective
- Overrides:
setInstances
in classAbstractPerspective
- Parameters:
inst
- a set of Instances
-
getInstances
Gets the working set of instances.- Returns:
- the working instances
-
addPropertyChangeListener
Adds a PropertyChangeListener who will be notified of value changes.- Overrides:
addPropertyChangeListener
in classContainer
- Parameters:
l
- a value of type 'PropertyChangeListener'
-
removePropertyChangeListener
Removes a PropertyChangeListener.- Overrides:
removePropertyChangeListener
in classComponent
- Parameters:
l
- a value of type 'PropertyChangeListener'
-
saveWorkingInstancesToFileQ
public void saveWorkingInstancesToFileQ()Queries the user for a file to save instances as, then saves the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy. -
saveInstancesToFile
saves the data with the specified saver- Parameters:
saver
- the saver to use for storing the datainst
- the data to save
-
setInstancesFromFileQ
public void setInstancesFromFileQ()Queries the user for a file to load instances from, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy. -
setInstancesFromDBQ
Loads (non-sparse) instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.- Parameters:
url
- the database URLuser
- the user to connect aspw
- the password of the userquery
- the query for retrieving instances from
-
setInstancesFromDBQ
Loads instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy.- Parameters:
url
- the database URLuser
- the user to connect aspw
- the password of the userquery
- the query for retrieving instances fromsparse
- whether to create sparse or non-sparse instances
-
setInstancesFromURLQ
public void setInstancesFromURLQ()Queries the user for a URL to load instances from, then loads the instances in a background process. This is done in the IO thread, and an error message is popped up if the IO thread is busy. -
generateInstances
public void generateInstances()sets Instances generated via DataGenerators (pops up a Dialog) -
setInstancesFromFile
Loads results from a set of instances retrieved with the supplied loader. This is started in the IO thread, and a dialog is popped up if there's a problem.- Parameters:
loader
- the loader to use
-
setInstancesFromDB
Loads instances from a database- Parameters:
iq
- the InstanceQuery object to load from (this is assumed to have been already connected to a valid database).
-
setInstancesFromURL
Loads instances from a URL.- Parameters:
u
- the URL to load from.
-
addUndoPoint
Backs up the current state of the dataset, so the changes can be undone.- Throws:
Exception
- if an error occurs
-
undo
public void undo()Reverts to the last backed up version of the dataset. -
edit
public void edit()edits the current instances object in the viewer -
setExplorer
Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)- Specified by:
setExplorer
in interfaceExplorer.ExplorerPanel
- Parameters:
parent
- the parent frame
-
getExplorer
returns the parent Explorer frame- Specified by:
getExplorer
in interfaceExplorer.ExplorerPanel
- Returns:
- the parent
-
capabilitiesFilterChanged
method gets called in case of a change event- Specified by:
capabilitiesFilterChanged
in interfaceExplorer.CapabilitiesFilterChangeListener
- Parameters:
e
- the associated change event
-
getTabTitle
Returns the title for the tab in the Explorer- Specified by:
getTabTitle
in interfaceExplorer.ExplorerPanel
- Returns:
- the title of this tab
-
getTabTitleToolTip
Returns the tooltip for the tab in the Explorer- Specified by:
getTabTitleToolTip
in interfaceExplorer.ExplorerPanel
- Returns:
- the tooltip of this tab
-
getDefaultSettings
Description copied from class:AbstractPerspective
Get the default settings for this perspective (or null if there are none)- Specified by:
getDefaultSettings
in interfacePerspective
- Overrides:
getDefaultSettings
in classAbstractPerspective
- Returns:
- the default settings for this perspective, or null if the perspective does not have any settings
-
setActive
public void setActive(boolean active) Description copied from class:AbstractPerspective
Set active status of this perspective. True indicates that this perspective is the visible active perspective in the application- Specified by:
setActive
in interfacePerspective
- Overrides:
setActive
in classAbstractPerspective
- Parameters:
active
- true if this perspective is the active one
-
settingsChanged
public void settingsChanged()Description copied from class:AbstractPerspective
Called when the user alters settings. The settings altered by the user are not necessarily ones related to this perspective- Specified by:
settingsChanged
in interfacePerspective
- Overrides:
settingsChanged
in classAbstractPerspective
-
getMenus
Description copied from class:AbstractPerspective
Get an ordered list of menus to appear in the main menu bar. Return null for no menus- Specified by:
getMenus
in interfacePerspective
- Overrides:
getMenus
in classAbstractPerspective
- Returns:
- a list of menus to appear in the main menu bar or null for no menus
-
main
Tests out the instance-preprocessing panel from the command line.- Parameters:
args
- ignored
-