ncsa.hdf.view
Class DefaultTreeView

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 ncsa.hdf.view.DefaultTreeView
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, TreeView

public class DefaultTreeView
extends javax.swing.JPanel
implements TreeView, java.awt.event.ActionListener

TreeView defines APIs for open a file and display the file structure in tree structure.

TreeView uses folders and leaf nodes to represent groups and data objects in the file. You can expand or collapse folders to navigate data objects in the file.

From the TreeView, you can open data content or metadata of selected object. You can selet object(s) to delete or add new object to the file.

Version:
2.4 9/6/2007
Author:
Peter X. Cao
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.BaselineResizeBehavior
 
Field Summary
static long serialVersionUID
           
 
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, 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
DefaultTreeView(ViewManager theView)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
 void addObject(HObject newObject, Group parentGroup)
          Adds a new data object to the file.
 void closeFile(FileFormat file)
          close a file
 javax.swing.tree.TreeNode findTreeNode(HObject obj)
          Returns the tree node that contains the given data object.
 java.util.List<FileFormat> getCurrentFiles()
          Returns the list of current open files..
 HObject getCurrentObject()
           
 FileFormat getSelectedFile()
          Gets the selected the file.
 java.util.List<java.lang.Object> getSelectedObjects()
          Gets a list of selected object in the tree.
 javax.swing.JTree getTree()
          Returns the JTree which holds the file structure.
 FileFormat openFile(java.lang.String filename, int accessID)
          Opens a file and retrieves the file structure of the file.
 void saveFile(FileFormat file)
          save a file
 DataView showDataContent(HObject dataObject)
          Dispaly the content of a data object.
 MetaDataView showMetaData(HObject dataObject)
          Displays the meta data of a data object.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

DefaultTreeView

public DefaultTreeView(ViewManager theView)
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Specified by:
actionPerformed in interface java.awt.event.ActionListener

openFile

public FileFormat openFile(java.lang.String filename,
                           int accessID)
                    throws java.lang.Exception
Opens a file and retrieves the file structure of the file. It also can be used to create a new file by setting the accessID to FileFormat.CREATE.

Subclasses must implement this function to take appropriate steps to open a file.

Specified by:
openFile in interface TreeView
Parameters:
filename - the name of the file to open.
accessID - identifier for the file access. Valid value of accessID is:
  • FileFormat.READ --- allow read-only access to file.
  • FileFormat.WRITE --- allow read and write access to file.
  • FileFormat.CREATE --- create a new file.
Returns:
the FileFormat of this file if successful; otherwise returns null.
Throws:
java.lang.Exception

closeFile

public void closeFile(FileFormat file)
               throws java.lang.Exception
close a file

Specified by:
closeFile in interface TreeView
Parameters:
file - the file to close
Throws:
java.lang.Exception

saveFile

public void saveFile(FileFormat file)
              throws java.lang.Exception
save a file

Specified by:
saveFile in interface TreeView
Parameters:
file - the file to save
Throws:
java.lang.Exception

getSelectedFile

public FileFormat getSelectedFile()
Gets the selected the file. When multiple files are open, we need to know which file is currently selected.

Specified by:
getSelectedFile in interface TreeView
Returns:
the FileFormat of the selected file.

getSelectedObjects

public java.util.List<java.lang.Object> getSelectedObjects()
Gets a list of selected object in the tree. Obtaining a list of current selected objects is necessary for copy/paste/delete objects.

Specified by:
getSelectedObjects in interface TreeView
Returns:
a list of selected object in the tree.

getCurrentObject

public HObject getCurrentObject()
Specified by:
getCurrentObject in interface TreeView
Returns:
the current selected object in the tree.

showDataContent

public DataView showDataContent(HObject dataObject)
                         throws java.lang.Exception
Dispaly the content of a data object.

Specified by:
showDataContent in interface TreeView
Parameters:
dataObject - the data object
Returns:
the dataview that displays the data content
Throws:
java.lang.Exception

showMetaData

public MetaDataView showMetaData(HObject dataObject)
                          throws java.lang.Exception
Displays the meta data of a data object.

Specified by:
showMetaData in interface TreeView
Parameters:
dataObject - teh data object
Returns:
the MetaDataView that displays the MetaData of the data object
Throws:
java.lang.Exception

addObject

public void addObject(HObject newObject,
                      Group parentGroup)
               throws java.lang.Exception
Adds a new data object to the file.

Specified by:
addObject in interface TreeView
Parameters:
newObject - the new object to add.
parentGroup - the parent group the object is to add to.
Throws:
java.lang.Exception

getTree

public javax.swing.JTree getTree()
Returns the JTree which holds the file structure.

Specified by:
getTree in interface TreeView
Returns:
the JTree which holds the file structure.

getCurrentFiles

public java.util.List<FileFormat> getCurrentFiles()
Returns the list of current open files..

Specified by:
getCurrentFiles in interface TreeView

findTreeNode

public javax.swing.tree.TreeNode findTreeNode(HObject obj)
Returns the tree node that contains the given data object.

Specified by:
findTreeNode in interface TreeView