adams.gui.visualization.instance
Class InstanceExplorer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by adams.gui.core.BasePanel
                      extended by adams.gui.visualization.instance.InstanceExplorer
All Implemented Interfaces:
CleanUpHandler, StatusMessageHandler, MenuBarProvider, DataChangeListener, SendToActionSupporter, ContainerListManager<InstanceContainerManager>, ContainerListPopupMenuSupplier<InstanceContainerManager,InstanceContainer>, PopupMenuCustomizer, ImageObserver, MenuContainer, Serializable, Accessible

public class InstanceExplorer
extends BasePanel
implements MenuBarProvider, StatusMessageHandler, ContainerListManager<InstanceContainerManager>, DataChangeListener, PopupMenuCustomizer, ContainerListPopupMenuSupplier<InstanceContainerManager,InstanceContainer>, CleanUpHandler, SendToActionSupporter

A panel for exploring Instances visually.

Version:
$Revision: 5411 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Nested Class Summary
 
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
static String FILENAME
          the name of the props file.
protected  HistogramFactory.SetupDialog m_HistogramSetup
          the dialog for the histogram setup.
protected  weka.gui.sql.SqlViewerDialog m_LoadFromDatabaseDialog
          the SQL viewer dialog.
protected  LoadDatasetDialog m_LoadFromDiskDialog
          the dialog for loading datasets.
protected  JMenuBar m_MenuBar
          the menu bar, if used.
protected  JMenuItem m_MenuItemClearData
          the clear data menu item.
protected  JMenu m_MenuItemLoadRecent
          the "load recent" submenu.
protected  JMenuItem m_MenuItemViewZoomOverview
          the toggle zoom overview menu item.
protected  JMenu m_MenuView
          the menu item for view related stuff.
protected  InstancePanel m_PanelInstance
          the panel for displaying.
protected static Properties m_Properties
          the properties.
protected  RecentFilesHandler m_RecentFilesHandler
          the recent files handler.
protected  ReportFactory.Panel m_Reports
          the reports.
protected  SearchPanel m_SearchPanel
          for searching the fields in the reports.
protected  BaseStatusBar m_StatusBar
          the status bar.
protected  BaseTabbedPane m_TabbedPane
          the tabbed pane for the data to display.
static String SESSION_FILE
          the file to store the recent files in.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
InstanceExplorer()
           
 
Method Summary
 void cleanUp()
          Cleans up data structures, frees up memory.
 void clearData()
          Removes all the data.
 void close()
          closes the dialog/frame.
 void customizePopupMenu(MouseEvent e, JPopupMenu menu)
          Optional customizing of the menu that is about to be popped up.
 void dataChanged(DataChangeEvent e)
          Gets called if the data of the instance panel has changed.
 JPopupMenu getContainerListPopupMenu(ContainerTable<InstanceContainerManager,InstanceContainer> table, int row)
          Returns a popup menu for the table of the instance list.
 InstanceContainerManager getContainerManager()
          Returns the current container manager.
 InstanceContainerList getInstanceContainerList()
          Returns the panel listing the instances.
 InstancePanel getInstancePanel()
          Returns the panel for painting the instances.
 JMenuBar getMenuBar()
          Creates a menu bar (singleton per panel object).
static Properties getProperties()
          Returns the properties that define the editor.
 Class[] getSendToClasses()
          Returns the classes that the supporter generates.
 Object getSendToItem(Class[] cls)
          Returns the object to send.
 JPanel getSidePanel()
          Returns the side panel.
 boolean hasSendToItem(Class[] cls)
          Checks whether something to send is available.
protected  void initGUI()
          Initializes the widgets.
protected  void initialize()
          Initializes the members.
 boolean isSidePanelVisible()
          Returns whether the side panel is visible or not.
 boolean isZoomOverviewPanelVisible()
          Returns whether the zoom overview panel is visible or not.
protected  void loadData(weka.core.Instances dataset, Vector<InstanceContainer> data)
          Loads the given data into the container manager.
 void loadDataFromDatabase()
          pops up SQL Viewer for SQL statement.
 void loadDataFromDisk()
          pops up file dialog for loading dataset form disk.
 void loadDataFromDisk(File file)
          pops up file dialog for loading dataset form disk.
protected  InstanceReportFactory.Panel newReportPanel()
          Creates a new tabbed pane for the reports.
 void setContainerManager(InstanceContainerManager value)
          Sets the manager for handling the containers.
 void setSidePanelVisible(boolean visible)
          Whether to display the side panel or not.
 void setZoomOverviewPanelVisible(boolean value)
          Sets the zoom overview panel visible or not.
protected  void showHistogram(Vector<InstanceContainer> data)
          Displays the histograms for the given instances.
protected  void showNotes(Vector<InstanceContainer> data)
          Displays the notes for the given chromatograms.
protected  void showStatistics(Vector<InformativeStatistic> stats)
          Displays a dialog with the given statistics.
 void showStatus(String msg)
          Displays a message.
protected  void updateMenu()
          updates the enabled state of the menu items.
 
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, main, 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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FILENAME

public static final String FILENAME
the name of the props file.

See Also:
Constant Field Values

SESSION_FILE

public static final String SESSION_FILE
the file to store the recent files in.

See Also:
Constant Field Values

m_Properties

protected static Properties m_Properties
the properties.


m_PanelInstance

protected InstancePanel m_PanelInstance
the panel for displaying.


m_StatusBar

protected BaseStatusBar m_StatusBar
the status bar.


m_MenuBar

protected JMenuBar m_MenuBar
the menu bar, if used.


m_MenuItemLoadRecent

protected JMenu m_MenuItemLoadRecent
the "load recent" submenu.


m_MenuView

protected JMenu m_MenuView
the menu item for view related stuff.


m_MenuItemViewZoomOverview

protected JMenuItem m_MenuItemViewZoomOverview
the toggle zoom overview menu item.


m_MenuItemClearData

protected JMenuItem m_MenuItemClearData
the clear data menu item.


m_TabbedPane

protected BaseTabbedPane m_TabbedPane
the tabbed pane for the data to display.


m_Reports

protected ReportFactory.Panel m_Reports
the reports.


m_SearchPanel

protected SearchPanel m_SearchPanel
for searching the fields in the reports.


m_LoadFromDiskDialog

protected LoadDatasetDialog m_LoadFromDiskDialog
the dialog for loading datasets.


m_LoadFromDatabaseDialog

protected weka.gui.sql.SqlViewerDialog m_LoadFromDatabaseDialog
the SQL viewer dialog.


m_RecentFilesHandler

protected RecentFilesHandler m_RecentFilesHandler
the recent files handler.


m_HistogramSetup

protected HistogramFactory.SetupDialog m_HistogramSetup
the dialog for the histogram setup.

Constructor Detail

InstanceExplorer

public InstanceExplorer()
Method Detail

initialize

protected void initialize()
Initializes the members.

Overrides:
initialize in class BasePanel

initGUI

protected void initGUI()
Initializes the widgets.

Overrides:
initGUI in class BasePanel

getInstancePanel

public InstancePanel getInstancePanel()
Returns the panel for painting the instances.

Returns:
the panel

getInstanceContainerList

public InstanceContainerList getInstanceContainerList()
Returns the panel listing the instances.

Returns:
the panel

showStatus

public void showStatus(String msg)
Displays a message.

Specified by:
showStatus in interface StatusMessageHandler
Parameters:
msg - the message to display

newReportPanel

protected InstanceReportFactory.Panel newReportPanel()
Creates a new tabbed pane for the reports.

Returns:
the tabbed pane

dataChanged

public void dataChanged(DataChangeEvent e)
Gets called if the data of the instance panel has changed.

Specified by:
dataChanged in interface DataChangeListener
Parameters:
e - the event that the instance panel sent

getContainerManager

public InstanceContainerManager getContainerManager()
Returns the current container manager.

Specified by:
getContainerManager in interface ContainerListManager<InstanceContainerManager>
Returns:
the manager

setContainerManager

public void setContainerManager(InstanceContainerManager value)
Sets the manager for handling the containers.

Specified by:
setContainerManager in interface ContainerListManager<InstanceContainerManager>
Parameters:
value - the manager

updateMenu

protected void updateMenu()
updates the enabled state of the menu items.


getMenuBar

public JMenuBar getMenuBar()
Creates a menu bar (singleton per panel object). Can be used in frames.

Specified by:
getMenuBar in interface MenuBarProvider
Returns:
the menu bar

clearData

public void clearData()
Removes all the data.


loadDataFromDatabase

public void loadDataFromDatabase()
pops up SQL Viewer for SQL statement.


loadDataFromDisk

public void loadDataFromDisk()
pops up file dialog for loading dataset form disk.


loadDataFromDisk

public void loadDataFromDisk(File file)
pops up file dialog for loading dataset form disk.

Parameters:
file - an optional file, use null to ignore

loadData

protected void loadData(weka.core.Instances dataset,
                        Vector<InstanceContainer> data)
Loads the given data into the container manager.

Parameters:
dataset - the dataset
data - the data to add to the manager

close

public void close()
closes the dialog/frame.


setSidePanelVisible

public void setSidePanelVisible(boolean visible)
Whether to display the side panel or not.

Parameters:
visible - if true, then the side panel will be displayed

isSidePanelVisible

public boolean isSidePanelVisible()
Returns whether the side panel is visible or not.

Returns:
true if the side panel is visible

getSidePanel

public JPanel getSidePanel()
Returns the side panel.

Returns:
the side panel

setZoomOverviewPanelVisible

public void setZoomOverviewPanelVisible(boolean value)
Sets the zoom overview panel visible or not.

Parameters:
value - if true then the panel is visible

isZoomOverviewPanelVisible

public boolean isZoomOverviewPanelVisible()
Returns whether the zoom overview panel is visible or not.

Returns:
true if visible

customizePopupMenu

public void customizePopupMenu(MouseEvent e,
                               JPopupMenu menu)
Optional customizing of the menu that is about to be popped up.

Specified by:
customizePopupMenu in interface PopupMenuCustomizer
Parameters:
e - the mous event
menu - the menu to customize

getContainerListPopupMenu

public JPopupMenu getContainerListPopupMenu(ContainerTable<InstanceContainerManager,InstanceContainer> table,
                                            int row)
Returns a popup menu for the table of the instance list.

Specified by:
getContainerListPopupMenu in interface ContainerListPopupMenuSupplier<InstanceContainerManager,InstanceContainer>
Parameters:
table - the affected table
row - the row the mouse is currently over
Returns:
the popup menu

showNotes

protected void showNotes(Vector<InstanceContainer> data)
Displays the notes for the given chromatograms.

Parameters:
data - the chromatograms to display

showStatistics

protected void showStatistics(Vector<InformativeStatistic> stats)
Displays a dialog with the given statistics.

Parameters:
stats - the statistics to display

showHistogram

protected void showHistogram(Vector<InstanceContainer> data)
Displays the histograms for the given instances.

Parameters:
data - the instances to display

getSendToClasses

public Class[] getSendToClasses()
Returns the classes that the supporter generates.

Specified by:
getSendToClasses in interface SendToActionSupporter
Returns:
the classes

hasSendToItem

public boolean hasSendToItem(Class[] cls)
Checks whether something to send is available.

Specified by:
hasSendToItem in interface SendToActionSupporter
Parameters:
cls - the classes to retrieve an item for
Returns:
true if an object is available for sending

getSendToItem

public Object getSendToItem(Class[] cls)
Returns the object to send.

Specified by:
getSendToItem in interface SendToActionSupporter
Parameters:
cls - the classes to retrieve the item for
Returns:
the item to send

cleanUp

public void cleanUp()
Cleans up data structures, frees up memory.

Specified by:
cleanUp in interface CleanUpHandler

getProperties

public static Properties getProperties()
Returns the properties that define the editor.

Returns:
the properties


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.