public class SOMViewer extends MaximisedJFrame implements java.awt.event.ActionListener, java.util.Observer, SOMToolboxApp
at.tuwien.ifs.somtoolbox.apps.viewer.controls
package), toolbars, and the SOMFrame
holding the map
representation (MapPNode
).Modifier and Type | Class and Description |
---|---|
private class |
SOMViewer.CalculateFeatureWeightsActionListener |
private class |
SOMViewer.ClusteringMenuItemActionListener |
private class |
SOMViewer.MyJCheckBoxMenuItem |
private class |
SOMViewer.PaletteCheckboxMenuItemListener |
private class |
SOMViewer.VisualizationActionListener |
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
java.awt.Container.AccessibleAWTContainer
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
SOMToolboxApp.Type
Modifier and Type | Field and Description |
---|---|
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 |
screenSize
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
DEV_BY_STRING, HOMEPAGE, INFO, INFO_TEXT, LICENSE_TEXT, REQUIRED_MEMBERS, TYPE_GROUPED_COMPARATOR
Constructor and Description |
---|
SOMViewer(com.martiansoftware.jsap.JSAPResult config)
Starts a new SOM Viewer frame.
|
Modifier and Type | Method and Description |
---|---|
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() |
getPreferredSize
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
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
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, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, 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, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public static final java.lang.String DESCRIPTION
public static final SOMToolboxApp.Type APPLICATION_TYPE
public static final java.lang.String LONG_DESCRIPTION
public static final com.martiansoftware.jsap.Parameter[] OPTIONS
private static final long serialVersionUID
public static final java.lang.String PREFS_FILE
private static final java.lang.String CENTER_AND_FIT_MAP
private static final java.lang.String SELECT_LINE
private static final java.lang.String SELECT_RECTANGLE
private static final java.lang.String SELECT_CLUSTER
private static final java.lang.String RESET_DESKTOP_LAYOUT
private static final java.lang.String SOMVIEWER_3D
private static final java.lang.String MOVE_INPUT
private static final java.lang.String MOVE_LABEL
private static final java.lang.String CREATE_LABEL
static final java.lang.String TOGGLE_PIE_CHARTS_SHOW
static final java.lang.String TOGGLE_PIE_CHARTS_SHOW_COUNTS
static final java.lang.String TOGGLE_PIE_CHARTS_SHOW_PERCENT
static final java.lang.String TOGGLE_PIE_CHARTS_SHOW_CLASSNAME
static final java.lang.String TOGGLE_PIE_CHARTS_NONE
private static final java.lang.String TOGGLE_LABELS
private static final java.lang.String TOGGLE_HITS
private static final java.lang.String TOGGLE_DATA
public static final java.lang.String TOGGLE_DATA_IMAGES
public static final java.lang.String TOGGLE_DATA_IMAGES_EQUALLY
public static final java.lang.String TOGGLE_DATA_IMAGES_NONE
private static final java.lang.String TOGGLE_EXACT_PLACEMENT
private static final java.lang.String TOGGLE_RELOCATE
private static final java.lang.String TOGGLE_LINKAGE
private static final java.lang.String MSG_EXACTPLACEMENT_DISABLED
public static final java.lang.String RESOURCE_PATH_ICONS
public static final java.awt.Image APPLICATION_ICON
private java.lang.String unitDescriptionFileName
private java.lang.String weightVectorFileName
private java.lang.String mapDescriptionFileName
private java.lang.String classInformationFileName
private java.lang.String regressionInformationFileName
private java.lang.String dataInformationFileName
private java.lang.String inputVectorFileName
private java.lang.String templateVectorFileName
private java.lang.String dataWinnerMappingFileName
private java.lang.String linkageMapFileName
private javax.swing.JFrame docViewerFrame
private boolean documentMode
private java.lang.String viewerWorkingDirectoryName
private java.lang.String applicationDirectory
private SOMViewerProperties prefs
private LoggingHandler loggingHandler
private BackgroundImageVisualizer initialVisualisation
private int initialVisualisationVariant
private java.lang.String classColoursFile
private javax.swing.JMenuBar menuBar
private javax.swing.JMenu visualizationMenu
private javax.swing.JMenu paletteMenu
private javax.swing.ButtonGroup visualizationMenuItemGroup
private javax.swing.ButtonGroup paletteMenuItemGroup
private javax.swing.ButtonModel oldSelectedVisualizationMenuItem
private JMultiLineRadioButtonMenuItem thematicClassRadioButton
private javax.swing.JCheckBoxMenuItem reversePaletteMenuItem
private javax.swing.ButtonGroup clusterMethodGroup
private int clusteringLevel
private javax.swing.ButtonModel previousSelectedClusteringMethod
private javax.swing.JMenu windowMenu
private javax.swing.JToolBar toolBar
private MultiOptionToggleButton buttonPie
private javax.swing.AbstractButton shiftOverlappingToggleButton
private javax.swing.AbstractButton exactPlacementToggleButton
private javax.swing.AbstractButton linkageToggleButton
private StatusBar statusBar
private ClassLegendPane classLegendPane
private VisualizationControl visControlPanel
private ClusteringControl clusteringControl
private SOMPane mapPane
private PalettePanel palettePanel
private ControlCollector collector
private QuerySOMPanel queryPane
private CommonSOMViewerStateData state
private SOMFrame somFrame
private javax.swing.JCheckBoxMenuItem showShiftsMenuItem
private ShiftsControlPanel shiftsControlPanel
private javax.swing.JMenu switchMapSubmenu
private JMultiLineRadioButtonMenuItem useMainMap
private JMultiLineRadioButtonMenuItem useSecondMap
private boolean noInternalPlayer
private java.util.Vector<VisualizationChangeListener> visChangeListeners
private javax.swing.JMenuItem paletteEditorMenuItem
public static final java.lang.String NO_JAVA3D_ERROR_MESSAGE
private int rotatedQuadrants
private boolean flippedX
private boolean flippedY
public SOMViewer(com.martiansoftware.jsap.JSAPResult config) throws java.awt.HeadlessException
config
- Needed program arguments:
java.awt.HeadlessException
- When started in an environment that does not support a keyboard, display, or mouse.private void createAndShowGUI()
private void doAnimation()
private javax.swing.JMenu createMapMenu()
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)
private javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text, java.lang.String imageName, int mnemonic, javax.swing.KeyStroke shortCut)
private javax.swing.JMenuItem makeButtonMenutEntry(java.lang.String text, javax.swing.ImageIcon icon)
private void displayFrame(AbstractSelectionPanel selectionPanel)
private javax.swing.JMenu createPaletteMenu()
public void rebuildPaletteMenu()
private void resetControlElements(boolean maximizeElements)
private void resetDesktopLayout()
private AbstractSelectionPanel makeSelectionPanel()
private void createWindowMenu(MapOverviewPane mapOverviewPane)
private void createHelpMenu()
public void uncheckComponentInMenu(java.awt.Component comp)
private void createVisualizationMenu()
private void createExportMenu()
private void redrawClustering()
private MapPNode getMap()
private void createClusterMenu()
private javax.swing.JRadioButtonMenuItem makeClusteringMenuItem(java.lang.String name, TreeBuilder builder, javax.swing.JMenu menuMapClustering)
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)
public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
ActionListener.actionPerformed(java.awt.event.ActionEvent)
public static void main(java.lang.String[] args)
public void addVisualizationChangeListener(VisualizationChangeListener l)
public void removeVisualizationChangeListener(VisualizationChangeListener l)
private void visualizationChangeFailure()
private void visualizationChangeSuccess()
public void update(java.util.Observable o, java.lang.Object arg)
update
in interface java.util.Observer
public void updateSOMComparison(boolean haveData)
public void updatePaletteAfterEditing()
public Palette getCurrentlySelectedPalette()
private void initDocViewer(AbstractSelectionPanel sp)
private void initWindowClosing()
public java.awt.Color[] getClassLegendColors()
private void showPalettePanel()
private void updatePalettePanel()
public java.lang.String getUnitDescriptionFileName()
public java.lang.String getWeightVectorFileName()
public java.lang.String getMapDescriptionFileName()
public CommonSOMViewerStateData getSOMViewerState()