de.lmu.ifi.dbs.elki.visualization.gui
Class ResultWindow

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by de.lmu.ifi.dbs.elki.visualization.gui.ResultWindow
All Implemented Interfaces:
ResultListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class ResultWindow
extends JFrame
implements ResultListener

Swing window to manage a particular result visualization.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
Window.AccessibleAWTWindow
 
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
protected  VisualizerContext context
          Visualizer context
private  DetailView currentSubplot
          Currently selected subplot.
private  JMenuItem editItem
          The "tabular edit" item.
private  JMenuItem exportItem
          The "Export" button, to save the image
protected static Logging logger
          Get a logger for this class.
private  OverviewPlot overview
          The overview plot.
private  JMenuItem overviewItem
          The "Overview" button, which goes to the overview view.
private  JMenuItem quitItem
          The "Quit" button, to close the application.
private  HierarchicalResult result
          Result to visualize
private static long serialVersionUID
          Serial version
private  JSVGSynchronizedCanvas svgCanvas
          The SVG canvas.
private  JMenu visualizersMenu
          The "Visualizers" button, to enable/disable visualizers
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ResultWindow(String title, HierarchicalResult result, VisualizerContext context)
          Constructor.
 
Method Summary
 void close()
          Close the visualizer window.
 void dispose()
           
 JMenuItem makeMenuItemForVisualizer(Result r)
           
private  boolean recursiveBuildMenu(JMenu parent, Result r)
           
 void resultAdded(Result child, Result parent)
          A new derived result was added.
 void resultChanged(Result current)
          Notify that the current result has changed substantially.
 void resultRemoved(Result child, Result parent)
          A result was removed.
 void saveCurrentPlot()
          Save/export the current plot.
protected  void setRatio(double newratio)
          Change the plot ratio.
 void showOverview()
          Navigate to the overview plot.
private  void showPlot(SVGPlot plot)
          Navigate to a particular plot.
protected  void showSubplot(DetailViewSelectedEvent e)
          Navigate to a subplot.
protected  void showTableView()
          Show a tabular view
protected  void update()
          Refresh the overview
private  void updateVisualizerMenus()
          Update the visualizer menus.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Serial version

See Also:
Constant Field Values

logger

protected static final Logging logger
Get a logger for this class.


overviewItem

private JMenuItem overviewItem
The "Overview" button, which goes to the overview view.


quitItem

private JMenuItem quitItem
The "Quit" button, to close the application.


exportItem

private JMenuItem exportItem
The "Export" button, to save the image


editItem

private JMenuItem editItem
The "tabular edit" item.


visualizersMenu

private JMenu visualizersMenu
The "Visualizers" button, to enable/disable visualizers


svgCanvas

private JSVGSynchronizedCanvas svgCanvas
The SVG canvas.


overview

private OverviewPlot overview
The overview plot.


context

protected VisualizerContext context
Visualizer context


currentSubplot

private DetailView currentSubplot
Currently selected subplot.


result

private HierarchicalResult result
Result to visualize

Constructor Detail

ResultWindow

public ResultWindow(String title,
                    HierarchicalResult result,
                    VisualizerContext context)
Constructor.

Parameters:
title - Window title
result - Result to visualize
context - Visualizer context
Method Detail

setRatio

protected void setRatio(double newratio)
Change the plot ratio. Will only be applied to new plots for now.

Parameters:
newratio - New ratio

dispose

public void dispose()
Overrides:
dispose in class Window

close

public void close()
Close the visualizer window.


showOverview

public void showOverview()
Navigate to the overview plot.


showSubplot

protected void showSubplot(DetailViewSelectedEvent e)
Navigate to a subplot.

Parameters:
e -

showPlot

private void showPlot(SVGPlot plot)
Navigate to a particular plot.

Parameters:
plot - Plot to show.

saveCurrentPlot

public void saveCurrentPlot()
Save/export the current plot.


showTableView

protected void showTableView()
Show a tabular view


update

protected void update()
Refresh the overview


updateVisualizerMenus

private void updateVisualizerMenus()
Update the visualizer menus.


recursiveBuildMenu

private boolean recursiveBuildMenu(JMenu parent,
                                   Result r)

makeMenuItemForVisualizer

public JMenuItem makeMenuItemForVisualizer(Result r)

resultAdded

public void resultAdded(Result child,
                        Result parent)
Description copied from interface: ResultListener
A new derived result was added.

Specified by:
resultAdded in interface ResultListener
Parameters:
child - New child result added
parent - Parent result that was added to

resultChanged

public void resultChanged(Result current)
Description copied from interface: ResultListener
Notify that the current result has changed substantially.

Specified by:
resultChanged in interface ResultListener
Parameters:
current - Result that has changed.

resultRemoved

public void resultRemoved(Result child,
                          Result parent)
Description copied from interface: ResultListener
A result was removed.

Specified by:
resultRemoved in interface ResultListener
Parameters:
child - result that was removed
parent - Parent result that was removed from

Release 0.4.0 (2011-09-20_1324)