at.tuwien.ifs.somtoolbox.apps.viewer
Class SOMViewer

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 at.tuwien.ifs.commons.gui.util.MaximisedJFrame
                          extended by at.tuwien.ifs.somtoolbox.apps.viewer.SOMViewer
All Implemented Interfaces:
SOMToolboxApp, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, java.util.Observer, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class SOMViewer
extends MaximisedJFrame
implements java.awt.event.ActionListener, java.util.Observer, SOMToolboxApp

The class providing the main window of the SOMViewer application. Initialises all the control element windows (see at.tuwien.ifs.somtoolbox.apps.viewer.controls package), toolbars, and the SOMFrame holding the map representation (MapPNode ).

Version:
$Id: SOMViewer.java 4244 2012-01-17 16:05:00Z mayer $
Author:
Michael Dittenbach, Rudolf Mayer, Thomas Lidy
See Also:
Serialized Form

Nested Class Summary
private  class SOMViewer.CalculateFeatureWeightsActionListener
           
private  class SOMViewer.ClusteringMenuItemActionListener
           
private  class SOMViewer.MyJCheckBoxMenuItem
           
private  class SOMViewer.PaletteCheckboxMenuItemListener
           
private  class SOMViewer.VisualizationActionListener
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Nested classes/interfaces inherited from interface at.tuwien.ifs.somtoolbox.apps.SOMToolboxApp
SOMToolboxApp.Type
 
Field Summary
static java.awt.Image APPLICATION_ICON
           
static SOMToolboxApp.Type APPLICATION_TYPE
           
private  java.lang.String applicationDirectory
           
private  MultiOptionToggleButton buttonPie
           
private static java.lang.String CENTER_AND_FIT_MAP
           
private  java.lang.String classColoursFile
           
private  java.lang.String classInformationFileName
           
private  ClassLegendPane classLegendPane
           
private  ClusteringControl clusteringControl
           
private  int clusteringLevel
           
private  javax.swing.ButtonGroup clusterMethodGroup
           
private  ControlCollector collector
           
private static java.lang.String CREATE_LABEL
           
private  java.lang.String dataInformationFileName
           
private  java.lang.String dataWinnerMappingFileName
           
static java.lang.String DESCRIPTION
           
private  boolean documentMode
           
private  javax.swing.JFrame docViewerFrame
           
private  javax.swing.AbstractButton exactPlacementToggleButton
           
private  boolean flippedX
           
private  boolean flippedY
           
private  BackgroundImageVisualizer initialVisualisation
           
private  int initialVisualisationVariant
           
private  java.lang.String inputVectorFileName
           
private  java.lang.String linkageMapFileName
           
private  javax.swing.AbstractButton linkageToggleButton
           
private  LoggingHandler loggingHandler
           
static java.lang.String LONG_DESCRIPTION
           
private  java.lang.String mapDescriptionFileName
           
private  SOMPane mapPane
           
private  javax.swing.JMenuBar menuBar
           
private static java.lang.String MOVE_INPUT
           
private static java.lang.String MOVE_LABEL
           
private static java.lang.String MSG_EXACTPLACEMENT_DISABLED
           
static java.lang.String NO_JAVA3D_ERROR_MESSAGE
           
private  boolean noInternalPlayer
           
private  javax.swing.ButtonModel oldSelectedVisualizationMenuItem
           
static com.martiansoftware.jsap.Parameter[] OPTIONS
           
private  javax.swing.JMenuItem paletteEditorMenuItem
           
private  javax.swing.JMenu paletteMenu
           
private  javax.swing.ButtonGroup paletteMenuItemGroup
           
private  PalettePanel palettePanel
           
private  SOMViewerProperties prefs
           
static java.lang.String PREFS_FILE
           
private  javax.swing.ButtonModel previousSelectedClusteringMethod
           
private  QuerySOMPanel queryPane
           
private  java.lang.String regressionInformationFileName
           
private static java.lang.String RESET_DESKTOP_LAYOUT
           
static java.lang.String RESOURCE_PATH_ICONS
           
private  javax.swing.JCheckBoxMenuItem reversePaletteMenuItem
           
private  int rotatedQuadrants
           
private static java.lang.String SELECT_CLUSTER
           
private static java.lang.String SELECT_LINE
           
private static java.lang.String SELECT_RECTANGLE
           
private static long serialVersionUID
           
private  javax.swing.AbstractButton shiftOverlappingToggleButton
           
private  ShiftsControlPanel shiftsControlPanel
           
private  javax.swing.JCheckBoxMenuItem showShiftsMenuItem
           
private  SOMFrame somFrame
           
private static java.lang.String SOMVIEWER_3D
           
private  CommonSOMViewerStateData state
           
private  StatusBar statusBar
           
private  javax.swing.JMenu switchMapSubmenu
           
private  java.lang.String templateVectorFileName
           
private  JMultiLineRadioButtonMenuItem thematicClassRadioButton
           
private static java.lang.String TOGGLE_DATA
           
static java.lang.String TOGGLE_DATA_IMAGES
           
static java.lang.String TOGGLE_DATA_IMAGES_EQUALLY
           
static java.lang.String TOGGLE_DATA_IMAGES_NONE
           
private static java.lang.String TOGGLE_EXACT_PLACEMENT
           
private static java.lang.String TOGGLE_HITS
           
private static java.lang.String TOGGLE_LABELS
           
private static java.lang.String TOGGLE_LINKAGE
           
(package private) static java.lang.String TOGGLE_PIE_CHARTS_NONE
           
(package private) static java.lang.String TOGGLE_PIE_CHARTS_SHOW
           
(package private) static java.lang.String TOGGLE_PIE_CHARTS_SHOW_CLASSNAME
           
(package private) static java.lang.String TOGGLE_PIE_CHARTS_SHOW_COUNTS
           
(package private) static java.lang.String TOGGLE_PIE_CHARTS_SHOW_PERCENT
           
private static java.lang.String TOGGLE_RELOCATE
           
private  javax.swing.JToolBar toolBar
           
private  java.lang.String unitDescriptionFileName
           
private  JMultiLineRadioButtonMenuItem useMainMap
           
private  JMultiLineRadioButtonMenuItem useSecondMap
           
private  java.lang.String viewerWorkingDirectoryName
           
private  java.util.Vector<VisualizationChangeListener> visChangeListeners
           
private  VisualizationControl visControlPanel
           
private  javax.swing.JMenu visualizationMenu
           
private  javax.swing.ButtonGroup visualizationMenuItemGroup
           
private  java.lang.String weightVectorFileName
           
private  javax.swing.JMenu windowMenu
           
 
Fields inherited from class at.tuwien.ifs.commons.gui.util.MaximisedJFrame
screenSize
 
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 at.tuwien.ifs.somtoolbox.apps.SOMToolboxApp
DEV_BY_STRING, HOMEPAGE, INFO, INFO_TEXT, LICENSE_TEXT, REQUIRED_MEMBERS, TYPE_GROUPED_COMPARATOR
 
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
SOMViewer(com.martiansoftware.jsap.JSAPResult config)
          Starts a new SOM Viewer frame.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void addVisualizationChangeListener(VisualizationChangeListener l)
           
private  void createAndShowGUI()
           
private  void createClusterMenu()
           
private  void createExportMenu()
          creates a menu entry for exporting the current visualization
private  void createHelpMenu()
           
private  javax.swing.JMenu createMapMenu()
           
private  javax.swing.JMenu createPaletteMenu()
           
private  void createVisualizationMenu()
           
private  void createWindowMenu(MapOverviewPane mapOverviewPane)
           
private  void displayFrame(AbstractSelectionPanel selectionPanel)
           
private  void doAnimation()
           
 java.awt.Color[] getClassLegendColors()
           
 Palette getCurrentlySelectedPalette()
           
private  MapPNode getMap()
           
 java.lang.String getMapDescriptionFileName()
           
 CommonSOMViewerStateData getSOMViewerState()
           
 java.lang.String getUnitDescriptionFileName()
           
 java.lang.String getWeightVectorFileName()
           
private  void initDocViewer(AbstractSelectionPanel sp)
           
private  void initWindowClosing()
          handles the window closing to dispose of a docviewer frame, if present, and not to do EXIT on close, but dispose.
If running standalone, the JVM will exit automatically after disposing the last frame, but if called from another application, this will only dispose this window, not exit the JVM.
static void main(java.lang.String[] args)
           
private  javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text, javax.swing.ImageIcon icon)
           
private  javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text, java.lang.String imageName)
           
private  javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text, java.lang.String imageName, char mnemonic, javax.swing.KeyStroke shortCut)
           
private  javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text, java.lang.String imageName, int mnemonic)
           
private  javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text, java.lang.String imageName, int mnemonic, javax.swing.KeyStroke shortCut)
           
private  javax.swing.JRadioButtonMenuItem makeClusteringMenuItem(java.lang.String name, TreeBuilder builder, javax.swing.JMenu menuMapClustering)
           
private  AbstractSelectionPanel makeSelectionPanel()
           
private  javax.swing.AbstractButton makeToolbarButton(java.lang.String imageName, java.lang.String toolTipText, java.lang.String altText)
           
private  javax.swing.AbstractButton makeToolbarToggleButton(java.lang.String imageName, java.lang.String toolTipText, java.lang.String altText, boolean isSelected)
           
 void rebuildPaletteMenu()
           
private  void redrawClustering()
           
 void removeVisualizationChangeListener(VisualizationChangeListener l)
           
private  void resetControlElements(boolean maximizeElements)
           
private  void resetDesktopLayout()
           
private  void showPalettePanel()
           
 void uncheckComponentInMenu(java.awt.Component comp)
           
 void update(java.util.Observable o, java.lang.Object arg)
           
 void updatePaletteAfterEditing()
           
private  void updatePalettePanel()
           
 void updateSOMComparison(boolean haveData)
           
private  void visualizationChangeFailure()
           
private  void visualizationChangeSuccess()
           
 
Methods inherited from class at.tuwien.ifs.commons.gui.util.MaximisedJFrame
getPreferredSize
 
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, dispose, 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, 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, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, 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

DESCRIPTION

public static final java.lang.String DESCRIPTION
See Also:
Constant Field Values

APPLICATION_TYPE

public static final SOMToolboxApp.Type APPLICATION_TYPE

LONG_DESCRIPTION

public static final java.lang.String LONG_DESCRIPTION
See Also:
Constant Field Values

OPTIONS

public static final com.martiansoftware.jsap.Parameter[] OPTIONS

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

PREFS_FILE

public static final java.lang.String PREFS_FILE
See Also:
Constant Field Values

CENTER_AND_FIT_MAP

private static final java.lang.String CENTER_AND_FIT_MAP
See Also:
Constant Field Values

SELECT_LINE

private static final java.lang.String SELECT_LINE
See Also:
Constant Field Values

SELECT_RECTANGLE

private static final java.lang.String SELECT_RECTANGLE
See Also:
Constant Field Values

SELECT_CLUSTER

private static final java.lang.String SELECT_CLUSTER
See Also:
Constant Field Values

RESET_DESKTOP_LAYOUT

private static final java.lang.String RESET_DESKTOP_LAYOUT
See Also:
Constant Field Values

SOMVIEWER_3D

private static final java.lang.String SOMVIEWER_3D
See Also:
Constant Field Values

MOVE_INPUT

private static final java.lang.String MOVE_INPUT
See Also:
Constant Field Values

MOVE_LABEL

private static final java.lang.String MOVE_LABEL
See Also:
Constant Field Values

CREATE_LABEL

private static final java.lang.String CREATE_LABEL
See Also:
Constant Field Values

TOGGLE_PIE_CHARTS_SHOW

static final java.lang.String TOGGLE_PIE_CHARTS_SHOW
See Also:
Constant Field Values

TOGGLE_PIE_CHARTS_SHOW_COUNTS

static final java.lang.String TOGGLE_PIE_CHARTS_SHOW_COUNTS
See Also:
Constant Field Values

TOGGLE_PIE_CHARTS_SHOW_PERCENT

static final java.lang.String TOGGLE_PIE_CHARTS_SHOW_PERCENT
See Also:
Constant Field Values

TOGGLE_PIE_CHARTS_SHOW_CLASSNAME

static final java.lang.String TOGGLE_PIE_CHARTS_SHOW_CLASSNAME
See Also:
Constant Field Values

TOGGLE_PIE_CHARTS_NONE

static final java.lang.String TOGGLE_PIE_CHARTS_NONE
See Also:
Constant Field Values

TOGGLE_LABELS

private static final java.lang.String TOGGLE_LABELS
See Also:
Constant Field Values

TOGGLE_HITS

private static final java.lang.String TOGGLE_HITS
See Also:
Constant Field Values

TOGGLE_DATA

private static final java.lang.String TOGGLE_DATA
See Also:
Constant Field Values

TOGGLE_DATA_IMAGES

public static final java.lang.String TOGGLE_DATA_IMAGES
See Also:
Constant Field Values

TOGGLE_DATA_IMAGES_EQUALLY

public static final java.lang.String TOGGLE_DATA_IMAGES_EQUALLY
See Also:
Constant Field Values

TOGGLE_DATA_IMAGES_NONE

public static final java.lang.String TOGGLE_DATA_IMAGES_NONE
See Also:
Constant Field Values

TOGGLE_EXACT_PLACEMENT

private static final java.lang.String TOGGLE_EXACT_PLACEMENT
See Also:
Constant Field Values

TOGGLE_RELOCATE

private static final java.lang.String TOGGLE_RELOCATE
See Also:
Constant Field Values

TOGGLE_LINKAGE

private static final java.lang.String TOGGLE_LINKAGE
See Also:
Constant Field Values

MSG_EXACTPLACEMENT_DISABLED

private static final java.lang.String MSG_EXACTPLACEMENT_DISABLED
See Also:
Constant Field Values

RESOURCE_PATH_ICONS

public static final java.lang.String RESOURCE_PATH_ICONS
See Also:
Constant Field Values

APPLICATION_ICON

public static final java.awt.Image APPLICATION_ICON

unitDescriptionFileName

private java.lang.String unitDescriptionFileName

weightVectorFileName

private java.lang.String weightVectorFileName

mapDescriptionFileName

private java.lang.String mapDescriptionFileName

classInformationFileName

private java.lang.String classInformationFileName

regressionInformationFileName

private java.lang.String regressionInformationFileName

dataInformationFileName

private java.lang.String dataInformationFileName

inputVectorFileName

private java.lang.String inputVectorFileName

templateVectorFileName

private java.lang.String templateVectorFileName

dataWinnerMappingFileName

private java.lang.String dataWinnerMappingFileName

linkageMapFileName

private java.lang.String linkageMapFileName

docViewerFrame

private javax.swing.JFrame docViewerFrame

documentMode

private boolean documentMode

viewerWorkingDirectoryName

private java.lang.String viewerWorkingDirectoryName

applicationDirectory

private java.lang.String applicationDirectory

prefs

private SOMViewerProperties prefs

loggingHandler

private LoggingHandler loggingHandler

initialVisualisation

private BackgroundImageVisualizer initialVisualisation

initialVisualisationVariant

private int initialVisualisationVariant

classColoursFile

private java.lang.String classColoursFile

menuBar

private javax.swing.JMenuBar menuBar

visualizationMenu

private javax.swing.JMenu visualizationMenu

paletteMenu

private javax.swing.JMenu paletteMenu

visualizationMenuItemGroup

private javax.swing.ButtonGroup visualizationMenuItemGroup

paletteMenuItemGroup

private javax.swing.ButtonGroup paletteMenuItemGroup

oldSelectedVisualizationMenuItem

private javax.swing.ButtonModel oldSelectedVisualizationMenuItem

thematicClassRadioButton

private JMultiLineRadioButtonMenuItem thematicClassRadioButton

reversePaletteMenuItem

private javax.swing.JCheckBoxMenuItem reversePaletteMenuItem

clusterMethodGroup

private javax.swing.ButtonGroup clusterMethodGroup

clusteringLevel

private int clusteringLevel

previousSelectedClusteringMethod

private javax.swing.ButtonModel previousSelectedClusteringMethod

windowMenu

private javax.swing.JMenu windowMenu

toolBar

private javax.swing.JToolBar toolBar

buttonPie

private MultiOptionToggleButton buttonPie

shiftOverlappingToggleButton

private javax.swing.AbstractButton shiftOverlappingToggleButton

exactPlacementToggleButton

private javax.swing.AbstractButton exactPlacementToggleButton

linkageToggleButton

private javax.swing.AbstractButton linkageToggleButton

statusBar

private StatusBar statusBar

classLegendPane

private ClassLegendPane classLegendPane

visControlPanel

private VisualizationControl visControlPanel

clusteringControl

private ClusteringControl clusteringControl

mapPane

private SOMPane mapPane

palettePanel

private PalettePanel palettePanel

collector

private ControlCollector collector

queryPane

private QuerySOMPanel queryPane

state

private CommonSOMViewerStateData state

somFrame

private SOMFrame somFrame

showShiftsMenuItem

private javax.swing.JCheckBoxMenuItem showShiftsMenuItem

shiftsControlPanel

private ShiftsControlPanel shiftsControlPanel

switchMapSubmenu

private javax.swing.JMenu switchMapSubmenu

useMainMap

private JMultiLineRadioButtonMenuItem useMainMap

useSecondMap

private JMultiLineRadioButtonMenuItem useSecondMap

noInternalPlayer

private boolean noInternalPlayer

visChangeListeners

private java.util.Vector<VisualizationChangeListener> visChangeListeners

paletteEditorMenuItem

private javax.swing.JMenuItem paletteEditorMenuItem

NO_JAVA3D_ERROR_MESSAGE

public static final java.lang.String NO_JAVA3D_ERROR_MESSAGE
See Also:
Constant Field Values

rotatedQuadrants

private int rotatedQuadrants

flippedX

private boolean flippedX

flippedY

private boolean flippedY
Constructor Detail

SOMViewer

public SOMViewer(com.martiansoftware.jsap.JSAPResult config)
          throws java.awt.HeadlessException
Starts a new SOM Viewer frame.

Parameters:
config - Needed program arguments:
  • -u unitDescriptionFileName, mandatory
  • -w weightVectorFileName, mandatory
  • -l drawLines, switch
  • -m mapDescriptionFileName, optional
  • -c classInformationFileName, optional
  • -r regressionInformationFileNameInformationFileName, optional
  • -d dataNamesFilename, optional
  • -i dataInfoFileName, optional
  • -v inputVectorFile, optional
  • -t templateVectorFile, optional
  • --dw dataWinnerMappingFile, optional
  • -t templateVectorFile, optional
  • -p fileNamePrefix, optional
  • -s fileNameSuffix, optional
  • --dir viewerWorkingDirectory, optional
  • -o documentMode, switch, default = false
  • imageName
Throws:
java.awt.HeadlessException - When started in an environment that does not support a keyboard, display, or mouse.
Method Detail

createAndShowGUI

private void createAndShowGUI()

doAnimation

private void doAnimation()

createMapMenu

private javax.swing.JMenu createMapMenu()
Returns:
The Map Menu

makeButtonMenutEntry

private javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text,
                                                   java.lang.String imageName,
                                                   char mnemonic,
                                                   javax.swing.KeyStroke shortCut)

makeButtonMenutEntry

private javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text,
                                                   java.lang.String imageName,
                                                   int mnemonic)

makeButtonMenutEntry

private javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text,
                                                   java.lang.String imageName)

makeButtonMenutEntry

private javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text,
                                                   java.lang.String imageName,
                                                   int mnemonic,
                                                   javax.swing.KeyStroke shortCut)

makeButtonMenutEntry

private javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text,
                                                   javax.swing.ImageIcon icon)

displayFrame

private void displayFrame(AbstractSelectionPanel selectionPanel)

createPaletteMenu

private javax.swing.JMenu createPaletteMenu()

rebuildPaletteMenu

public void rebuildPaletteMenu()

resetControlElements

private void resetControlElements(boolean maximizeElements)

resetDesktopLayout

private void resetDesktopLayout()

makeSelectionPanel

private AbstractSelectionPanel makeSelectionPanel()

createWindowMenu

private void createWindowMenu(MapOverviewPane mapOverviewPane)

createHelpMenu

private void createHelpMenu()

uncheckComponentInMenu

public void uncheckComponentInMenu(java.awt.Component comp)

createVisualizationMenu

private void createVisualizationMenu()

createExportMenu

private void createExportMenu()
creates a menu entry for exporting the current visualization


redrawClustering

private void redrawClustering()

getMap

private MapPNode getMap()

createClusterMenu

private void createClusterMenu()

makeClusteringMenuItem

private javax.swing.JRadioButtonMenuItem makeClusteringMenuItem(java.lang.String name,
                                                                TreeBuilder builder,
                                                                javax.swing.JMenu menuMapClustering)

makeToolbarButton

private javax.swing.AbstractButton makeToolbarButton(java.lang.String imageName,
                                                     java.lang.String toolTipText,
                                                     java.lang.String altText)

makeToolbarToggleButton

private javax.swing.AbstractButton makeToolbarToggleButton(java.lang.String imageName,
                                                           java.lang.String toolTipText,
                                                           java.lang.String altText,
                                                           boolean isSelected)

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener
See Also:
ActionListener.actionPerformed(java.awt.event.ActionEvent)

main

public static void main(java.lang.String[] args)

addVisualizationChangeListener

public void addVisualizationChangeListener(VisualizationChangeListener l)

removeVisualizationChangeListener

public void removeVisualizationChangeListener(VisualizationChangeListener l)

visualizationChangeFailure

private void visualizationChangeFailure()

visualizationChangeSuccess

private void visualizationChangeSuccess()

update

public void update(java.util.Observable o,
                   java.lang.Object arg)
Specified by:
update in interface java.util.Observer

updateSOMComparison

public void updateSOMComparison(boolean haveData)

updatePaletteAfterEditing

public void updatePaletteAfterEditing()

getCurrentlySelectedPalette

public Palette getCurrentlySelectedPalette()

initDocViewer

private void initDocViewer(AbstractSelectionPanel sp)

initWindowClosing

private void initWindowClosing()
handles the window closing to dispose of a docviewer frame, if present, and not to do EXIT on close, but dispose.
If running standalone, the JVM will exit automatically after disposing the last frame, but if called from another application, this will only dispose this window, not exit the JVM.


getClassLegendColors

public java.awt.Color[] getClassLegendColors()

showPalettePanel

private void showPalettePanel()

updatePalettePanel

private void updatePalettePanel()

getUnitDescriptionFileName

public java.lang.String getUnitDescriptionFileName()

getWeightVectorFileName

public java.lang.String getWeightVectorFileName()

getMapDescriptionFileName

public java.lang.String getMapDescriptionFileName()

getSOMViewerState

public CommonSOMViewerStateData getSOMViewerState()