at.tuwien.ifs.somtoolbox.apps.viewer
Class SOMViewer
java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Frame
javax.swing.JFrame
at.tuwien.ifs.commons.gui.util.MaximisedJFrame
at.tuwien.ifs.somtoolbox.apps.viewer.SOMViewer
- All Implemented Interfaces:
- SOMToolboxApp, ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Observer, Accessible, RootPaneContainer, WindowConstants
public class SOMViewer
- extends MaximisedJFrame
- implements ActionListener, 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 3919 2010-11-05 11:58:02Z mayer $
- Author:
- Michael Dittenbach, Rudolf Mayer, Thomas Lidy
- See Also:
- Serialized Form
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 |
Constructor Summary |
SOMViewer(com.martiansoftware.jsap.JSAPResult config)
Starts a new SOM Viewer frame. |
Method Summary |
void |
actionPerformed(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 JMenu |
createMapMenu()
|
private JMenu |
createPaletteMenu()
|
private void |
createVisualizationMenu()
|
private void |
createWindowMenu(MapOverviewPane mapOverviewPane)
|
private void |
displayFrame(AbstractSelectionPanel selectionPanel)
|
private void |
doAnimation()
|
Color[] |
getClassLegendColors()
|
Palette |
getCurrentlySelectedPalette()
|
private MapPNode |
getMap()
|
String |
getMapDescriptionFileName()
|
CommonSOMViewerStateData |
getSOMViewerState()
|
String |
getUnitDescriptionFileName()
|
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(String[] args)
|
private JMenuItem |
makeButtonMenutEntry(String text,
ImageIcon icon)
|
private JMenuItem |
makeButtonMenutEntry(String text,
String imageName)
|
private JMenuItem |
makeButtonMenutEntry(String text,
String imageName,
char mnemonic,
KeyStroke shortCut)
|
private JMenuItem |
makeButtonMenutEntry(String text,
String imageName,
int mnemonic)
|
private JMenuItem |
makeButtonMenutEntry(String text,
String imageName,
int mnemonic,
KeyStroke shortCut)
|
private JRadioButtonMenuItem |
makeClusteringMenuItem(String name,
TreeBuilder builder,
JMenu menuMapClustering)
|
private AbstractSelectionPanel |
makeSelectionPanel()
|
private AbstractButton |
makeToolbarButton(String imageName,
String toolTipText,
String altText)
|
private AbstractButton |
makeToolbarToggleButton(String imageName,
String toolTipText,
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(Component comp)
|
void |
update(Observable o,
Object arg)
|
void |
updatePaletteAfterEditing()
|
private void |
updatePalettePanel()
|
void |
updateSOMComparison(boolean haveData)
|
private void |
visualizationChangeFailure()
|
private void |
visualizationChangeSuccess()
|
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 |
DESCRIPTION
public static final String DESCRIPTION
- See Also:
- Constant Field Values
APPLICATION_TYPE
public static final SOMToolboxApp.Type APPLICATION_TYPE
LONG_DESCRIPTION
public static final 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 String PREFS_FILE
- See Also:
- Constant Field Values
CENTER_AND_FIT_MAP
private static final String CENTER_AND_FIT_MAP
- See Also:
- Constant Field Values
SELECT_LINE
private static final String SELECT_LINE
- See Also:
- Constant Field Values
SELECT_RECTANGLE
private static final String SELECT_RECTANGLE
- See Also:
- Constant Field Values
SELECT_CLUSTER
private static final String SELECT_CLUSTER
- See Also:
- Constant Field Values
RESET_DESKTOP_LAYOUT
private static final String RESET_DESKTOP_LAYOUT
- See Also:
- Constant Field Values
SOMVIEWER_3D
private static final String SOMVIEWER_3D
- See Also:
- Constant Field Values
MOVE_INPUT
private static final String MOVE_INPUT
- See Also:
- Constant Field Values
MOVE_LABEL
private static final String MOVE_LABEL
- See Also:
- Constant Field Values
CREATE_LABEL
private static final String CREATE_LABEL
- See Also:
- Constant Field Values
TOGGLE_PIE_CHARTS_SHOW
static final String TOGGLE_PIE_CHARTS_SHOW
- See Also:
- Constant Field Values
TOGGLE_PIE_CHARTS_SHOW_COUNTS
static final String TOGGLE_PIE_CHARTS_SHOW_COUNTS
- See Also:
- Constant Field Values
TOGGLE_PIE_CHARTS_SHOW_PERCENT
static final String TOGGLE_PIE_CHARTS_SHOW_PERCENT
- See Also:
- Constant Field Values
TOGGLE_PIE_CHARTS_NONE
static final String TOGGLE_PIE_CHARTS_NONE
- See Also:
- Constant Field Values
TOGGLE_PIE_CHARTS_MODES
private static final String[] TOGGLE_PIE_CHARTS_MODES
TOGGLE_PIE_CHARTS_ICONS
private final ImageIcon[] TOGGLE_PIE_CHARTS_ICONS
TOGGLE_LABELS
private static final String TOGGLE_LABELS
- See Also:
- Constant Field Values
TOGGLE_HITS
private static final String TOGGLE_HITS
- See Also:
- Constant Field Values
TOGGLE_DATA
private static final String TOGGLE_DATA
- See Also:
- Constant Field Values
TOGGLE_EXACT_PLACEMENT
private static final String TOGGLE_EXACT_PLACEMENT
- See Also:
- Constant Field Values
TOGGLE_RELOCATE
private static final String TOGGLE_RELOCATE
- See Also:
- Constant Field Values
TOGGLE_LINKAGE
private static final String TOGGLE_LINKAGE
- See Also:
- Constant Field Values
MSG_EXACTPLACEMENT_DISABLED
private static final String MSG_EXACTPLACEMENT_DISABLED
- See Also:
- Constant Field Values
RESOURCE_PATH_ICONS
public static final String RESOURCE_PATH_ICONS
- See Also:
- Constant Field Values
unitDescriptionFileName
private String unitDescriptionFileName
weightVectorFileName
private String weightVectorFileName
mapDescriptionFileName
private String mapDescriptionFileName
classInformationFileName
private String classInformationFileName
regressionInformationFileName
private String regressionInformationFileName
dataInformationFileName
private String dataInformationFileName
inputVectorFileName
private String inputVectorFileName
templateVectorFileName
private String templateVectorFileName
dataWinnerMappingFileName
private String dataWinnerMappingFileName
linkageMapFileName
private String linkageMapFileName
docViewerFrame
private JFrame docViewerFrame
documentMode
private boolean documentMode
viewerWorkingDirectoryName
private String viewerWorkingDirectoryName
applicationDirectory
private String applicationDirectory
prefs
private SOMViewerProperties prefs
loggingHandler
private LoggingHandler loggingHandler
initialVisualisation
private BackgroundImageVisualizer initialVisualisation
initialVisualisationVariant
private int initialVisualisationVariant
classColoursFile
private String classColoursFile
menuBar
private JMenuBar menuBar
visualizationMenu
private JMenu visualizationMenu
paletteMenu
private JMenu paletteMenu
visualizationMenuItemGroup
private ButtonGroup visualizationMenuItemGroup
paletteMenuItemGroup
private ButtonGroup paletteMenuItemGroup
oldSelectedVisualizationMenuItem
private ButtonModel oldSelectedVisualizationMenuItem
thematicClassRadioButton
private JMultiLineRadioButtonMenuItem thematicClassRadioButton
reversePaletteMenuItem
private JCheckBoxMenuItem reversePaletteMenuItem
clusterMethodGroup
private ButtonGroup clusterMethodGroup
clusteringLevel
private int clusteringLevel
previousSelectedClusteringMethod
private ButtonModel previousSelectedClusteringMethod
windowMenu
private JMenu windowMenu
toolBar
private JToolBar toolBar
menuPie
private JPopupMenu menuPie
buttonPie
private JButton buttonPie
shiftOverlappingToggleButton
private AbstractButton shiftOverlappingToggleButton
exactPlacementToggleButton
private AbstractButton exactPlacementToggleButton
linkageToggleButton
private 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 JCheckBoxMenuItem showShiftsMenuItem
shiftsControlPanel
private ShiftsControlPanel shiftsControlPanel
switchMapSubmenu
private JMenu switchMapSubmenu
useMainMap
private JMultiLineRadioButtonMenuItem useMainMap
useSecondMap
private JMultiLineRadioButtonMenuItem useSecondMap
noInternalPlayer
private boolean noInternalPlayer
visChangeListeners
private Vector<VisualizationChangeListener> visChangeListeners
paletteEditorMenuItem
private JMenuItem paletteEditorMenuItem
NO_JAVA3D_ERROR_MESSAGE
public static final String NO_JAVA3D_ERROR_MESSAGE
- See Also:
- Constant Field Values
rotatedQuadrants
private int rotatedQuadrants
flippedX
private boolean flippedX
flippedY
private boolean flippedY
SOMViewer
public SOMViewer(com.martiansoftware.jsap.JSAPResult config)
throws 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:
HeadlessException
- When started in an environment that does not support a keyboard, display, or mouse.
createAndShowGUI
private void createAndShowGUI()
doAnimation
private void doAnimation()
createMapMenu
private JMenu createMapMenu()
- Returns:
- The Map Menu
makeButtonMenutEntry
private JMenuItem makeButtonMenutEntry(String text,
String imageName,
char mnemonic,
KeyStroke shortCut)
makeButtonMenutEntry
private JMenuItem makeButtonMenutEntry(String text,
String imageName,
int mnemonic)
makeButtonMenutEntry
private JMenuItem makeButtonMenutEntry(String text,
String imageName)
makeButtonMenutEntry
private JMenuItem makeButtonMenutEntry(String text,
String imageName,
int mnemonic,
KeyStroke shortCut)
makeButtonMenutEntry
private JMenuItem makeButtonMenutEntry(String text,
ImageIcon icon)
displayFrame
private void displayFrame(AbstractSelectionPanel selectionPanel)
createPaletteMenu
private 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)
uncheckComponentInMenu
public void uncheckComponentInMenu(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 JRadioButtonMenuItem makeClusteringMenuItem(String name,
TreeBuilder builder,
JMenu menuMapClustering)
makeToolbarButton
private AbstractButton makeToolbarButton(String imageName,
String toolTipText,
String altText)
makeToolbarToggleButton
private AbstractButton makeToolbarToggleButton(String imageName,
String toolTipText,
String altText,
boolean isSelected)
actionPerformed
public void actionPerformed(ActionEvent e)
- Specified by:
actionPerformed
in interface ActionListener
- See Also:
ActionListener.actionPerformed(java.awt.event.ActionEvent)
main
public static void main(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(Observable o,
Object arg)
- Specified by:
update
in interface 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 Color[] getClassLegendColors()
showPalettePanel
private void showPalettePanel()
updatePalettePanel
private void updatePalettePanel()
getUnitDescriptionFileName
public String getUnitDescriptionFileName()
getWeightVectorFileName
public String getWeightVectorFileName()
getMapDescriptionFileName
public String getMapDescriptionFileName()
getSOMViewerState
public CommonSOMViewerStateData getSOMViewerState()