org.opensourcephysics.cabrillo.tracker
Class PageTView

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.opensourcephysics.cabrillo.tracker.PageTView
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, TView

public class PageTView
extends javax.swing.JPanel
implements TView

This displays html or plain text in one or more tabs.

Author:
Douglas Brown
See Also:
Serialized Form

Nested Class Summary
static class PageTView.TabData
          A class to hold the data for a single tab.
static class PageTView.TabView
          A class to hold the view for a single tab.
protected static class PageTView.TextEdit
          A class to undo/redo a text edit.
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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  javax.swing.Box.Filler filler
           
protected  javax.swing.Icon icon
           
protected  boolean locked
           
protected  javax.swing.JDialog nameDialog
           
protected  javax.swing.JTextField nameField
           
protected  javax.swing.JPanel noTab
           
protected  javax.swing.JLabel noTabLabel
           
protected  javax.swing.JButton pageButton
           
protected  javax.swing.JTabbedPane tabbedPane
           
protected  java.util.ArrayList<PageTView.TabView> tabs
           
protected  javax.swing.JLabel tabTitleLabel
           
protected  javax.swing.border.Border titleBorder
           
protected  java.util.ArrayList<java.awt.Component> toolbarComponents
           
protected  TrackerPanel trackerPanel
           
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
protected PageTView(TrackerPanel panel)
          Constructs a TextTView for the specified tracker panel.
 
Method Summary
 void addTab(PageTView.TabView tab)
          Adds a tab to the tabbed pane.
 void cleanup()
          Cleans up this view
protected  void createGUI()
          Creates the GUI.
static XML.ObjectLoader getLoader()
          Returns an XML.ObjectLoader to save/load data for the TextTView class.
protected  javax.swing.JDialog getNameDialog()
           
protected  javax.swing.JPopupMenu getPopup(PageTView.TabView tab)
          Gets the popup menu for a specified tab.
 PageTView.TabView getSelectedTab()
          Gets the selected tab.
 java.util.ArrayList<java.awt.Component> getToolBarComponents()
          Gets the toolbar components
 TrackerPanel getTrackerPanel()
          Gets the tracker panel containing the tracks
 javax.swing.Icon getViewIcon()
          Gets the icon for this view
 java.lang.String getViewName()
          Gets the name of the view
 void init()
          Initializes this view
 boolean isCustomState()
          Returns true if this view is in a custom state.
 void propertyChange(java.beans.PropertyChangeEvent e)
          Responds to property change events.
 void refresh()
          Refreshes this view.
protected  void refreshTabs()
          Refreshes all tabs.
protected  void refreshTitle()
          Refreshes the title bar.
 void removeTab(PageTView.TabView tab)
          Removes a tab from the tabbed pane.
 void renameTab(PageTView.TabView tab)
          Renames a tab.
 void setSelectedTab(PageTView.TabView tab)
          Sets the selected tab.
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, setVisible, 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, 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, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

icon

protected javax.swing.Icon icon

trackerPanel

protected TrackerPanel trackerPanel

tabs

protected java.util.ArrayList<PageTView.TabView> tabs

tabbedPane

protected javax.swing.JTabbedPane tabbedPane

pageButton

protected javax.swing.JButton pageButton

toolbarComponents

protected java.util.ArrayList<java.awt.Component> toolbarComponents

nameDialog

protected javax.swing.JDialog nameDialog

nameField

protected javax.swing.JTextField nameField

noTab

protected javax.swing.JPanel noTab

noTabLabel

protected javax.swing.JLabel noTabLabel

tabTitleLabel

protected javax.swing.JLabel tabTitleLabel

filler

protected javax.swing.Box.Filler filler

titleBorder

protected javax.swing.border.Border titleBorder

locked

protected boolean locked
Constructor Detail

PageTView

protected PageTView(TrackerPanel panel)
Constructs a TextTView for the specified tracker panel.

Parameters:
panel - the tracker panel
Method Detail

refresh

public void refresh()
Refreshes this view.

Specified by:
refresh in interface TView

init

public void init()
Initializes this view

Specified by:
init in interface TView

cleanup

public void cleanup()
Cleans up this view

Specified by:
cleanup in interface TView

getTrackerPanel

public TrackerPanel getTrackerPanel()
Gets the tracker panel containing the tracks

Specified by:
getTrackerPanel in interface TView
Returns:
the tracker panel

getViewName

public java.lang.String getViewName()
Gets the name of the view

Specified by:
getViewName in interface TView
Returns:
the name of this view

getViewIcon

public javax.swing.Icon getViewIcon()
Gets the icon for this view

Specified by:
getViewIcon in interface TView
Returns:
the icon

getToolBarComponents

public java.util.ArrayList<java.awt.Component> getToolBarComponents()
Gets the toolbar components

Specified by:
getToolBarComponents in interface TView
Returns:
an ArrayList of components to be added to a toolbar

isCustomState

public boolean isCustomState()
Returns true if this view is in a custom state.

Specified by:
isCustomState in interface TView
Returns:
true if in a custom state, false if in the default state

addTab

public void addTab(PageTView.TabView tab)
Adds a tab to the tabbed pane.

Parameters:
tab - the tab to add

removeTab

public void removeTab(PageTView.TabView tab)
Removes a tab from the tabbed pane.

Parameters:
tab - the tab to remove

renameTab

public void renameTab(PageTView.TabView tab)
Renames a tab.

Parameters:
tab - the tab to rename

getSelectedTab

public PageTView.TabView getSelectedTab()
Gets the selected tab.

Returns:
the tab

setSelectedTab

public void setSelectedTab(PageTView.TabView tab)
Sets the selected tab.

Parameters:
tab - the tab

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

createGUI

protected void createGUI()
Creates the GUI.


refreshTabs

protected void refreshTabs()
Refreshes all tabs.


refreshTitle

protected void refreshTitle()
Refreshes the title bar.


getPopup

protected javax.swing.JPopupMenu getPopup(PageTView.TabView tab)
Gets the popup menu for a specified tab.

Parameters:
tab - the tab
Returns:
the popup menu

getNameDialog

protected javax.swing.JDialog getNameDialog()

getLoader

public static XML.ObjectLoader getLoader()
Returns an XML.ObjectLoader to save/load data for the TextTView class.

Returns:
the XML.ObjectLoader