Package weka.gui.explorer

# Class PreprocessPanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.explorer.PreprocessPanel

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `Explorer.CapabilitiesFilterChangeListener`, `Explorer.ExplorerPanel`, `Explorer.LogHandler`

public class PreprocessPanel extends JPanel 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: 9800 $
Author:
  Richard Kirkby (rkirkby@cs.waikato.ac.nz), Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## 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

Constructors
Constructor
Description
`PreprocessPanel()`
Creates the instances panel with no initial instances.

## Method Summary

Modifier and Type
Method
Description
`void`
`addPropertyChangeListener(PropertyChangeListener l)`
Adds a PropertyChangeListener who will be notified of value changes.
`void`
`addUndoPoint()`
Backs up the current state of the dataset, so the changes can be undone.
`void`
`capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)`
method gets called in case of a change event
`void`
`edit()`
edits the current instances object in the viewer
`void`
`generateInstances()`
sets Instances generated via DataGenerators (pops up a Dialog)
`Explorer`
`getExplorer()`
returns the parent Explorer frame
`Instances`
`getInstances()`
Gets the working set of instances.
`String`
`getTabTitle()`
Returns the title for the tab in the Explorer
`String`
`getTabTitleToolTip()`
Returns the tooltip for the tab in the Explorer
`static void`
`main(String[] args)`
Tests out the instance-preprocessing panel from the command line.
`void`
`removePropertyChangeListener(PropertyChangeListener l)`
Removes a PropertyChangeListener.
`void`
`saveInstancesToFile(AbstractFileSaver saver, Instances inst)`
saves the data with the specified saver
`void`
`saveWorkingInstancesToFileQ()`
Queries the user for a file to save instances as, then saves the instances in a background process.
`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`
`setInstancesFromDB(InstanceQuery iq)`
Loads instances from a database
`void`
`setInstancesFromDBQ(String url, String user, String pw, String query)`
Loads instances from an SQL query the user provided with the SqlViewerDialog, then loads the instances in a background process.
`void`
`setInstancesFromFile(AbstractFileLoader loader)`
Loads results from a set of instances retrieved with the supplied loader.
`void`
`setInstancesFromFileQ()`
Queries the user for a file to load instances from, then loads the instances in a background process.
`void`
`setInstancesFromURL(URL u)`
Loads instances from a URL.
`void`
`setInstancesFromURLQ()`
Queries the user for a URL to load instances from, then loads the instances in a background process.
`void`
`setLog(Logger newLog)`
Sets the Logger to receive informational messages
`void`
`undo()`
Reverts to the last backed up version of the dataset.

### 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### PreprocessPanel

public PreprocessPanel()
Creates the instances panel with no initial instances.

## Method Details

### setLog

public void setLog(Logger newLog)
Sets the Logger to receive informational messages

Specified by:
  `setLog` in interface `Explorer.LogHandler`
Parameters:
  `newLog` - the Logger that will now get info messages

### setInstances

public void setInstances(Instances inst)
Tells the panel to use a new base set of instances.

Specified by:
  `setInstances` in interface `Explorer.ExplorerPanel`
Parameters:
  `inst` - a set of Instances

### getInstances

public Instances getInstances()
Gets the working set of instances.

Returns:
  the working instances

### addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener l)
Adds a PropertyChangeListener who will be notified of value changes.

Overrides:
  `addPropertyChangeListener` in class `Container`
Parameters:
  `l` - a value of type 'PropertyChangeListener'

### removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener l)
Removes a PropertyChangeListener.

Overrides:
  `removePropertyChangeListener` in class `Component`
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

public void saveInstancesToFile(AbstractFileSaver saver, Instances inst)
saves the data with the specified saver

Parameters:
  `saver` - the saver to use for storing the data
  `inst` - 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

public void setInstancesFromDBQ(String url, String user, String pw, String query)
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 URL
  `user` - the user to connect as
  `pw` - the password of the user
  `query` - the query for retrieving instances from

### 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

public void setInstancesFromFile(AbstractFileLoader loader)
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

public void setInstancesFromDB(InstanceQuery iq)
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

public void setInstancesFromURL(URL u)
Loads instances from a URL.

Parameters:
  `u` - the URL to load from.

### addUndoPoint

public void addUndoPoint() throws Exception
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

public void setExplorer(Explorer parent)
Sets the Explorer to use as parent frame (used for sending notifications about changes in the data)

Specified by:
  `setExplorer` in interface `Explorer.ExplorerPanel`
Parameters:
  `parent` - the parent frame

### getExplorer

public Explorer getExplorer()
returns the parent Explorer frame

Specified by:
  `getExplorer` in interface `Explorer.ExplorerPanel`
Returns:
  the parent

### capabilitiesFilterChanged

public void capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
method gets called in case of a change event

Specified by:
  `capabilitiesFilterChanged` in interface `Explorer.CapabilitiesFilterChangeListener`
Parameters:
  `e` - the associated change event

### getTabTitle

public String getTabTitle()
Returns the title for the tab in the Explorer

Specified by:
  `getTabTitle` in interface `Explorer.ExplorerPanel`
Returns:
  the title of this tab

### getTabTitleToolTip

public String getTabTitleToolTip()
Returns the tooltip for the tab in the Explorer

Specified by:
  `getTabTitleToolTip` in interface `Explorer.ExplorerPanel`
Returns:
  the tooltip of this tab

### main

public static void main(String[] args)
Tests out the instance-preprocessing panel from the command line.

Parameters:
  `args` - ignored