org.opensourcephysics.cabrillo.tracker
Class TFrame

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 org.opensourcephysics.display.OSPFrame
                          extended by org.opensourcephysics.cabrillo.tracker.TFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, AppFrame, Hidable

public class TFrame
extends OSPFrame
implements java.beans.PropertyChangeListener

This is the main frame for Tracker.

Author:
Douglas Brown
See Also:
Serialized Form

Nested Class Summary
 
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
 
Field Summary
protected  boolean anglesInRadians
           
protected  javax.swing.JButton cancelNotesDialogButton
           
protected  javax.swing.JButton closeNotesDialogButton
           
protected  javax.swing.JDialog dataToolDialog
           
protected  double defaultBottomDivider
           
protected  double defaultRightDivider
           
protected  FileDropHandler fileDropHandler
           
protected  int framesLoaded
           
protected  javax.swing.JDialog helpDialog
           
protected  Launcher helpLauncher
           
protected static java.lang.String helpPath
           
protected static java.lang.String helpPathWeb
           
protected  LibraryBrowser libraryBrowser
           
protected  java.util.ArrayList<java.lang.String> loadedFiles
           
protected  javax.swing.JDialog notesDialog
           
protected  javax.swing.JTextPane notesTextPane
           
protected  javax.swing.Action openRecentAction
           
protected  PrefsDialog prefsDialog
           
protected  int prevFramesLoaded
           
protected  TrackerPanel prevPanel
           
protected  javax.swing.Action saveNotesAction
           
protected  boolean splashing
           
protected  javax.swing.JTabbedPane tabbedPane
           
protected  java.io.File tabsetFile
           
 
Fields inherited from class org.opensourcephysics.display.OSPFrame
animated, autoclear, buttonPanel, childFrames, constructorThreadGroup, customButtons, keepHidden, strategy
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TFrame()
          Constructs an empty TFrame.
TFrame(TrackerPanel trackerPanel)
          Constructs a TFrame with the specified tracker panel.
 
Method Summary
 void addTab(TrackerPanel trackerPanel)
          Adds a tab that displays the specified tracker panel.
protected  java.awt.Component getHelpDialog()
          Gets the help dialog.
protected  LibraryBrowser getLibraryBrowser()
          Gets the library browser.
static XML.ObjectLoader getLoader()
          Returns an ObjectLoader to save and load data for this class.
 MainTView getMainView(TrackerPanel trackerPanel)
          Gets the main view for the specified tracker panel.
 TMenuBar getMenuBar(TrackerPanel trackerPanel)
          Gets the menubar for the specified tracker panel.
 PrefsDialog getPrefsDialog()
          Gets the preferences dialog.
protected  PropertiesDialog getPropertiesDialog(TrackerPanel trackerPanel)
          Gets the properties dialog for a specified TrackerPanel.
 int getSelectedTab()
          Gets the selected tab index.
 java.lang.String[] getSelectedTViews(TrackerPanel trackerPanel)
          Gets the selected TViews for the specified tracker panel.
 int getTab(java.io.File dataFile)
          Returns the tab index for the specified data file, or -1 if no tab is found.
 int getTab(TrackerPanel trackerPanel)
          Returns the tab index for the specified tracker panel, or -1 if no tab is found.
 int getTabCount()
          Gets the tab count.
 java.lang.String getTabTitle(int tab)
          Gets the title of the specified tab.
 TToolBar getToolBar(TrackerPanel trackerPanel)
          Gets the toolbar for the specified tracker panel.
 TTrackBar getTrackBar(TrackerPanel trackerPanel)
          Gets the selected track bar for the specified tracker panel.
 TrackerPanel getTrackerPanel(int tab)
          Gets the tracker panel at the specified tab index.
 TView[][] getTViews(TrackerPanel trackerPanel)
          Gets the views for the specified tracker panel.
 TView[][] getTViews(TrackerPanel trackerPanel, boolean customOnly)
          Gets the views for the specified tracker panel.
 java.awt.Container[] getViews(TrackerPanel trackerPanel)
          Gets the views for the specified tracker panel.
 boolean isViewOpen(int index, TrackerPanel trackerPanel)
          Determines whether a view is open for the specified tracker panel.
 void propertyChange(java.beans.PropertyChangeEvent e)
          Responds to property change events.
 void refresh()
          Refreshes the GUI.
 void refreshOpenRecentMenu(javax.swing.JMenu menu)
          Refreshes the open recent files menu.
 void refreshTab(TrackerPanel panel)
          Refreshes the tab for the specified tracker panel.
 void refreshWindowMenu(TrackerPanel trackerPanel)
          Refreshes the Window menu for a TrackerPanel.
 void removeAllTabs()
          Removes all tabs.
 void removeTab(TrackerPanel trackerPanel)
          Removes the tab that displays the specified tracker panel.
 void setAnglesInRadians(boolean inRadians)
          Sets the display units for angles.
 void setDividerLocation(TrackerPanel trackerPanel, int paneIndex, double loc)
          Sets the location of a splitpane divider for a tracker panel
 void setDividerLocation(TrackerPanel trackerPanel, int paneIndex, int loc)
          Sets the location of a splitpane divider for a tracker panel
 void setFontLevel(int level)
          Sets the font level.
 void setSelectedTab(int tab)
          Sets the selected tab index.
 void setSelectedTab(TrackerPanel trackerPanel)
          Sets the selected tab specified by tracker panel.
 void setTabTitle(int tab, java.lang.String title)
          Sets the title of the specified tab.
 void setView(TrackerPanel trackerPanel, java.awt.Container view, int pane)
          Sets the view for a specified tracker panel and pane.
 void setViews(TrackerPanel trackerPanel, java.awt.Container[] newViews)
          Sets the views for the specified tracker panel.
 void setVisible(boolean visible)
          Shows or hides this component depending on the value of parameter b and the keepHidden flag.
protected  void showHelp(java.lang.String selectedNode)
          Shows a specified help topic.
protected  void showHelp(java.lang.String keywords, int pageNumber)
          Shows a specified help topic by keyword: gettingstarted, install, linux, GUI, video, filters, tracks, coords, axes, tape, offset, calibration, pointmass, cm, vector, vectorsum, profile, rgbregion, particle, plot, datatable, xml, etc.
protected  void showNotes(TrackerPanel panel)
          Shows the notes, if any.
 void showPrefsDialog()
          Shows the preferences dialog.
protected  void showTrackControl(TrackerPanel panel)
          Shows the track control if any user tracks are present.
 
Methods inherited from class org.opensourcephysics.display.OSPFrame
addButton, addChildFrame, bufferStrategyShow, clearChildFrames, clearData, clearDataAndRepaint, createBufferStrategy, dispose, getChildFrames, getChooser, getConstructorThreadGroup, getMenu, invalidateImage, isAnimated, isAutoclear, isIconified, isKeepHidden, loadDisplayMenu, loadToolsMenu, parseXMLMenu, parseXMLMenu, refreshGUI, removeMenu, removeMenuItem, render, setAnimated, setAutoclear, setDefaultCloseOperation, setKeepHidden, setSize, setTitle, show, wishesToExit
 
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, 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, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.opensourcephysics.display.AppFrame
getDefaultCloseOperation
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

helpPath

protected static java.lang.String helpPath

helpPathWeb

protected static java.lang.String helpPathWeb

tabbedPane

protected javax.swing.JTabbedPane tabbedPane

notesTextPane

protected javax.swing.JTextPane notesTextPane

saveNotesAction

protected javax.swing.Action saveNotesAction

cancelNotesDialogButton

protected javax.swing.JButton cancelNotesDialogButton

closeNotesDialogButton

protected javax.swing.JButton closeNotesDialogButton

notesDialog

protected javax.swing.JDialog notesDialog

helpDialog

protected javax.swing.JDialog helpDialog

libraryBrowser

protected LibraryBrowser libraryBrowser

helpLauncher

protected Launcher helpLauncher

dataToolDialog

protected javax.swing.JDialog dataToolDialog

prevPanel

protected TrackerPanel prevPanel

defaultRightDivider

protected double defaultRightDivider

defaultBottomDivider

protected double defaultBottomDivider

fileDropHandler

protected FileDropHandler fileDropHandler

openRecentAction

protected javax.swing.Action openRecentAction

splashing

protected boolean splashing

loadedFiles

protected java.util.ArrayList<java.lang.String> loadedFiles

anglesInRadians

protected boolean anglesInRadians

tabsetFile

protected java.io.File tabsetFile

framesLoaded

protected int framesLoaded

prevFramesLoaded

protected int prevFramesLoaded

prefsDialog

protected PrefsDialog prefsDialog
Constructor Detail

TFrame

public TFrame()
Constructs an empty TFrame.


TFrame

public TFrame(TrackerPanel trackerPanel)
Constructs a TFrame with the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Method Detail

addTab

public void addTab(TrackerPanel trackerPanel)
Adds a tab that displays the specified tracker panel.

Parameters:
trackerPanel - the tracker panel

removeAllTabs

public void removeAllTabs()
Removes all tabs.


removeTab

public void removeTab(TrackerPanel trackerPanel)
Removes the tab that displays the specified tracker panel.

Parameters:
trackerPanel - the tracker panel

getTab

public int getTab(TrackerPanel trackerPanel)
Returns the tab index for the specified tracker panel, or -1 if no tab is found.

Parameters:
trackerPanel - the tracker panel
Returns:
the tab index

getTab

public int getTab(java.io.File dataFile)
Returns the tab index for the specified data file, or -1 if no tab is found.

Parameters:
dataFile - the data file used to load the tab
Returns:
the tab index

getTabCount

public int getTabCount()
Gets the tab count.

Returns:
the tab count

getSelectedTab

public int getSelectedTab()
Gets the selected tab index.

Returns:
the tab index

setSelectedTab

public void setSelectedTab(int tab)
Sets the selected tab index.

Parameters:
tab - the tab index

setSelectedTab

public void setSelectedTab(TrackerPanel trackerPanel)
Sets the selected tab specified by tracker panel.

Parameters:
trackerPanel - the tracker panel

getTrackerPanel

public TrackerPanel getTrackerPanel(int tab)
Gets the tracker panel at the specified tab index.

Parameters:
tab - the tab index
Returns:
the tracker panel

getTabTitle

public java.lang.String getTabTitle(int tab)
Gets the title of the specified tab.

Parameters:
tab - the tab index
Returns:
the title

refreshTab

public void refreshTab(TrackerPanel panel)
Refreshes the tab for the specified tracker panel.

Parameters:
panel - the tracker panel

setTabTitle

public void setTabTitle(int tab,
                        java.lang.String title)
Sets the title of the specified tab.

Parameters:
tab - the tab index
title - the title

setView

public void setView(TrackerPanel trackerPanel,
                    java.awt.Container view,
                    int pane)
Sets the view for a specified tracker panel and pane.

Parameters:
trackerPanel - the tracker panel
view - the new view
pane - the pane number

setViews

public void setViews(TrackerPanel trackerPanel,
                     java.awt.Container[] newViews)
Sets the views for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
newViews - an array of up to 4 views

getViews

public java.awt.Container[] getViews(TrackerPanel trackerPanel)
Gets the views for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Returns:
an array of views

getTViews

public TView[][] getTViews(TrackerPanel trackerPanel)
Gets the views for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Returns:
an array of views

getTViews

public TView[][] getTViews(TrackerPanel trackerPanel,
                           boolean customOnly)
Gets the views for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
customOnly - true to return only customized views
Returns:
an array of views

getSelectedTViews

public java.lang.String[] getSelectedTViews(TrackerPanel trackerPanel)
Gets the selected TViews for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Returns:
an array of TViews (some elements may be null)

isViewOpen

public boolean isViewOpen(int index,
                          TrackerPanel trackerPanel)
Determines whether a view is open for the specified tracker panel.

Parameters:
index - the view index
trackerPanel - the tracker panel
Returns:
true if it is open

setDividerLocation

public void setDividerLocation(TrackerPanel trackerPanel,
                               int paneIndex,
                               double loc)
Sets the location of a splitpane divider for a tracker panel

Parameters:
trackerPanel - the tracker panel
paneIndex - the index of the split pane
loc - the desired relative divider location

setDividerLocation

public void setDividerLocation(TrackerPanel trackerPanel,
                               int paneIndex,
                               int loc)
Sets the location of a splitpane divider for a tracker panel

Parameters:
trackerPanel - the tracker panel
paneIndex - the index of the split pane
loc - the desired absolute divider location

getMainView

public MainTView getMainView(TrackerPanel trackerPanel)
Gets the main view for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Returns:
a MainTView

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Responds to property change events.

Specified by:
propertyChange in interface java.beans.PropertyChangeListener
Parameters:
e - the property change event

setVisible

public void setVisible(boolean visible)
Description copied from class: OSPFrame
Shows or hides this component depending on the value of parameter b and the keepHidden flag. OSP Applets often keep windows hidden.

Overrides:
setVisible in class OSPFrame

setAnglesInRadians

public void setAnglesInRadians(boolean inRadians)
Sets the display units for angles.

Parameters:
inRadians - true to display radians, false to display degrees

getPrefsDialog

public PrefsDialog getPrefsDialog()
Gets the preferences dialog.

Returns:
the preferences dialog

showPrefsDialog

public void showPrefsDialog()
Shows the preferences dialog.


getToolBar

public TToolBar getToolBar(TrackerPanel trackerPanel)
Gets the toolbar for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Returns:
a TToolBar

getMenuBar

public TMenuBar getMenuBar(TrackerPanel trackerPanel)
Gets the menubar for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Returns:
a TMenuBar

getTrackBar

public TTrackBar getTrackBar(TrackerPanel trackerPanel)
Gets the selected track bar for the specified tracker panel.

Parameters:
trackerPanel - the tracker panel
Returns:
a TSelectedTrackBar

refreshOpenRecentMenu

public void refreshOpenRecentMenu(javax.swing.JMenu menu)
Refreshes the open recent files menu.

Parameters:
menu - the menu to refresh

refresh

public void refresh()
Refreshes the GUI.


refreshWindowMenu

public void refreshWindowMenu(TrackerPanel trackerPanel)
Refreshes the Window menu for a TrackerPanel.

Parameters:
trackerPanel - the TrackerPanel

setFontLevel

public void setFontLevel(int level)
Sets the font level.

Overrides:
setFontLevel in class OSPFrame
Parameters:
level - the desired font level

getLibraryBrowser

protected LibraryBrowser getLibraryBrowser()
Gets the library browser.

Returns:
the library browser

getPropertiesDialog

protected PropertiesDialog getPropertiesDialog(TrackerPanel trackerPanel)
Gets the properties dialog for a specified TrackerPanel.

Parameters:
trackerPanel -
Returns:
the properties dialog

getHelpDialog

protected java.awt.Component getHelpDialog()
Gets the help dialog.

Returns:
the help dialog

showHelp

protected void showHelp(java.lang.String selectedNode)
Shows a specified help topic.

Parameters:
selectedNode - the name of the help node to be displayed

showHelp

protected void showHelp(java.lang.String keywords,
                        int pageNumber)
Shows a specified help topic by keyword: gettingstarted, install, linux, GUI, video, filters, tracks, coords, axes, tape, offset, calibration, pointmass, cm, vector, vectorsum, profile, rgbregion, particle, plot, datatable, xml, etc.

Parameters:
keywords - the keywords of the help node to be displayed
pageNumber - the html page number

showTrackControl

protected void showTrackControl(TrackerPanel panel)
Shows the track control if any user tracks are present.

Parameters:
panel - the tracker panel

showNotes

protected void showNotes(TrackerPanel panel)
Shows the notes, if any.

Parameters:
panel - the tracker panel

getLoader

public static XML.ObjectLoader getLoader()
Returns an ObjectLoader to save and load data for this class.

Returns:
the object loader