Package adams.gui.visualization.trail
Class TrailViewerPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.visualization.trail.TrailViewerPanel
-
- All Implemented Interfaces:
adams.core.CleanUpHandler
,adams.core.StatusMessageHandler
,adams.gui.core.MenuBarProvider
,adams.gui.event.FilterListener<Trail>
,adams.gui.plugin.ToolPluginSupporter<TrailPanel>
,adams.gui.sendto.SendToActionSupporter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class TrailViewerPanel extends adams.gui.core.BasePanel implements adams.gui.core.MenuBarProvider, adams.core.StatusMessageHandler, adams.gui.event.FilterListener<Trail>, adams.gui.sendto.SendToActionSupporter, adams.core.CleanUpHandler, adams.gui.plugin.ToolPluginSupporter<TrailPanel>
Panel for viewing/processing trails.- 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
Fields Modifier and Type Field Description protected adams.data.filter.Filter<Trail>
m_CurrentFilter
the current filter.protected adams.gui.visualization.container.FilterDialog
m_DialogFilter
the filter dialog.protected adams.gui.goe.GenericObjectEditorDialog
m_DialogOverlay
the dialog for selecting an overlay.protected TrailFileChooser
m_FileChooser
for loading trails from disk.protected boolean
m_FilterAll
indicates whether filter is applied to all trails.protected boolean
m_FilterOverlayOriginalData
indicates whether the filtered data was overlayed over the original.protected JMenuBar
m_MenuBar
the menu bar.protected JMenuItem
m_MenuItemFileCloseAll
the "close all" menu item.protected JMenuItem
m_MenuItemFileCloseCurrent
the "close current" menu item.protected JMenu
m_MenuItemFileOpenRecent
the "load recent" submenu.protected JMenuItem
m_MenuItemFileReloadAll
the "reload all" menu item.protected JMenuItem
m_MenuItemFileReloadCurrent
the "reload current" menu item.protected JMenuItem
m_MenuItemFileSaveAs
the "save as" menu item.protected JMenuItem
m_MenuItemProcessFilterAllTrails
the filter all menu item.protected JMenuItem
m_MenuItemProcessFilterTrail
the filter menu item.protected JMenuItem
m_MenuItemViewAddOverlay
the add overlay menu item.protected JMenuItem
m_MenuItemViewOverlaysApplyAll
whether to apply overlay changes to all panels.protected JMenuItem
m_MenuItemViewRemoveOverlays
the remove overlays menu item.protected JMenuItem
m_MenuItemViewZoomIn
the menu item "zoom in".protected JMenuItem
m_MenuItemViewZoomOut
the menu item "zoom out".protected JMenu
m_MenuViewZoom
the menu "zoom".protected TrailViewerPluginManager
m_PluginManager
manages the plugins.protected static adams.core.Properties
m_Properties
the setup for the panel.protected adams.gui.core.RecentFilesHandlerWithCommandline<JMenu>
m_RecentFilesHandler
the recent files handler.protected adams.gui.core.SearchPanel
m_SearchPanel
the search panel for the trail report.protected adams.gui.core.BaseStatusBar
m_StatusBar
the status bar.protected adams.gui.core.BaseTabbedPane
m_TabbedPane
the tabbed pane for the trails.static String
SESSION_FILE
the file to store the recent files in.-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description TrailViewerPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanUp()
Cleans up data structures, frees up memory.void
close()
closes the dialog/frame.void
closeAll()
Removes all the data.void
closeCurrent()
Removes the current tab.protected void
filter()
pops up GOE dialog for filter.void
filter(adams.gui.event.FilterEvent<Trail> e)
Filters the data.TrailPanel[]
getAllPanels()
Returns the all panels.TrailPanel
getCurrentPanel()
Returns the currently selected trail panel.JMenuBar
getMenuBar()
Creates a menu bar (singleton per panel object).TrailPanel
getPanelAt(int index)
Returns the specified trail panel.int
getPanelCount()
Returns the number of panels open.adams.core.Properties
getProperties()
Returns the properties for this panel.Class[]
getSendToClasses()
Returns the classes that the supporter generates.Object
getSendToItem(Class[] cls)
Returns the object to send.boolean
hasSendToItem(Class[] cls)
Checks whether something to send is available.protected void
initGUI()
Initializes the widgets.protected void
initialize()
Initializes the members.void
load()
Loads trails from disk, popping up a file chooser dialog.void
load(File file)
Loads the specified file from disk.void
load(File[] files, AbstractTrailReader reader)
Loads trails from disk, popping up a file chooser dialog.protected TrailPanel
newPanel(Trail map)
Creates a new panel and configures it.protected void
reloadAll()
Reloads all trails.protected void
reloadCurrent()
Reloads the current panel's trail.protected void
saveAs()
Saves the current trail to disk.void
search(String text, boolean isRegExp)
Performs a search.protected AbstractTrailOverlay
selectOverlay()
Lets the user select an overlay from a dialog.void
showStatus(String msg)
Displays a message.protected void
updateMenu()
updates the enabled state of the menu items.protected void
zoom(int zoom)
Zooms in/out.-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
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 adams.core.Properties m_Properties
the setup for the panel.
-
m_TabbedPane
protected adams.gui.core.BaseTabbedPane m_TabbedPane
the tabbed pane for the trails.
-
m_StatusBar
protected adams.gui.core.BaseStatusBar m_StatusBar
the status bar.
-
m_MenuBar
protected JMenuBar m_MenuBar
the menu bar.
-
m_MenuItemFileOpenRecent
protected JMenu m_MenuItemFileOpenRecent
the "load recent" submenu.
-
m_MenuItemFileReloadCurrent
protected JMenuItem m_MenuItemFileReloadCurrent
the "reload current" menu item.
-
m_MenuItemFileReloadAll
protected JMenuItem m_MenuItemFileReloadAll
the "reload all" menu item.
-
m_MenuItemFileSaveAs
protected JMenuItem m_MenuItemFileSaveAs
the "save as" menu item.
-
m_MenuItemFileCloseCurrent
protected JMenuItem m_MenuItemFileCloseCurrent
the "close current" menu item.
-
m_MenuItemFileCloseAll
protected JMenuItem m_MenuItemFileCloseAll
the "close all" menu item.
-
m_MenuItemProcessFilterTrail
protected JMenuItem m_MenuItemProcessFilterTrail
the filter menu item.
-
m_MenuItemProcessFilterAllTrails
protected JMenuItem m_MenuItemProcessFilterAllTrails
the filter all menu item.
-
m_MenuItemViewOverlaysApplyAll
protected JMenuItem m_MenuItemViewOverlaysApplyAll
whether to apply overlay changes to all panels.
-
m_MenuItemViewRemoveOverlays
protected JMenuItem m_MenuItemViewRemoveOverlays
the remove overlays menu item.
-
m_MenuItemViewAddOverlay
protected JMenuItem m_MenuItemViewAddOverlay
the add overlay menu item.
-
m_MenuViewZoom
protected JMenu m_MenuViewZoom
the menu "zoom".
-
m_MenuItemViewZoomIn
protected JMenuItem m_MenuItemViewZoomIn
the menu item "zoom in".
-
m_MenuItemViewZoomOut
protected JMenuItem m_MenuItemViewZoomOut
the menu item "zoom out".
-
m_PluginManager
protected TrailViewerPluginManager m_PluginManager
manages the plugins.
-
m_FileChooser
protected TrailFileChooser m_FileChooser
for loading trails from disk.
-
m_CurrentFilter
protected adams.data.filter.Filter<Trail> m_CurrentFilter
the current filter.
-
m_DialogFilter
protected adams.gui.visualization.container.FilterDialog m_DialogFilter
the filter dialog.
-
m_FilterOverlayOriginalData
protected boolean m_FilterOverlayOriginalData
indicates whether the filtered data was overlayed over the original.
-
m_FilterAll
protected boolean m_FilterAll
indicates whether filter is applied to all trails.
-
m_DialogOverlay
protected adams.gui.goe.GenericObjectEditorDialog m_DialogOverlay
the dialog for selecting an overlay.
-
m_SearchPanel
protected adams.gui.core.SearchPanel m_SearchPanel
the search panel for the trail report.
-
m_RecentFilesHandler
protected adams.gui.core.RecentFilesHandlerWithCommandline<JMenu> m_RecentFilesHandler
the recent files handler.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classadams.gui.core.BasePanel
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUI
in classadams.gui.core.BasePanel
-
getMenuBar
public JMenuBar getMenuBar()
Creates a menu bar (singleton per panel object). Can be used in frames.- Specified by:
getMenuBar
in interfaceadams.gui.core.MenuBarProvider
- Returns:
- the menu bar
-
getPanelCount
public int getPanelCount()
Returns the number of panels open.- Returns:
- the number of panels
-
getPanelAt
public TrailPanel getPanelAt(int index)
Returns the specified trail panel.- Parameters:
index
- the index of the panel- Returns:
- the panel, null if invalid index
-
getCurrentPanel
public TrailPanel getCurrentPanel()
Returns the currently selected trail panel.- Specified by:
getCurrentPanel
in interfaceadams.gui.plugin.ToolPluginSupporter<TrailPanel>
- Returns:
- the panel, null if none selected
-
getAllPanels
public TrailPanel[] getAllPanels()
Returns the all panels.- Returns:
- the panels
-
updateMenu
protected void updateMenu()
updates the enabled state of the menu items.
-
reloadCurrent
protected void reloadCurrent()
Reloads the current panel's trail.
-
reloadAll
protected void reloadAll()
Reloads all trails.
-
closeCurrent
public void closeCurrent()
Removes the current tab.
-
closeAll
public void closeAll()
Removes all the data.
-
newPanel
protected TrailPanel newPanel(Trail map)
Creates a new panel and configures it.- Parameters:
map
- the map to create the panel for- Returns:
- the panel
-
load
public void load(File[] files, AbstractTrailReader reader)
Loads trails from disk, popping up a file chooser dialog.
-
load
public void load(File file)
Loads the specified file from disk. If no reader can be determined, the
-
load
public void load()
Loads trails from disk, popping up a file chooser dialog.
-
saveAs
protected void saveAs()
Saves the current trail to disk.
-
close
public void close()
closes the dialog/frame.
-
filter
protected void filter()
pops up GOE dialog for filter.
-
filter
public void filter(adams.gui.event.FilterEvent<Trail> e)
Filters the data.- Specified by:
filter
in interfaceadams.gui.event.FilterListener<Trail>
- Parameters:
e
- the event
-
search
public void search(String text, boolean isRegExp)
Performs a search.- Parameters:
text
- the search textisRegExp
- whether the search text is a regular expression
-
zoom
protected void zoom(int zoom)
Zooms in/out.- Parameters:
zoom
- the zoom (in percent)
-
selectOverlay
protected AbstractTrailOverlay selectOverlay()
Lets the user select an overlay from a dialog. Returns the overlay if successfully selected (ie not dialog aborted).- Returns:
- the selected overlay, null if none selected
-
showStatus
public void showStatus(String msg)
Displays a message.- Specified by:
showStatus
in interfaceadams.core.StatusMessageHandler
- Parameters:
msg
- the message to display
-
getSendToClasses
public Class[] getSendToClasses()
Returns the classes that the supporter generates.- Specified by:
getSendToClasses
in interfaceadams.gui.sendto.SendToActionSupporter
- Returns:
- the classes
-
hasSendToItem
public boolean hasSendToItem(Class[] cls)
Checks whether something to send is available.- Specified by:
hasSendToItem
in interfaceadams.gui.sendto.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 interfaceadams.gui.sendto.SendToActionSupporter
- Parameters:
cls
- the classes to retrieve the item for- Returns:
- the item to send
-
getProperties
public adams.core.Properties getProperties()
Returns the properties for this panel.- Returns:
- the properties file for this panel
-
cleanUp
public void cleanUp()
Cleans up data structures, frees up memory.- Specified by:
cleanUp
in interfaceadams.core.CleanUpHandler
-
-