org.geotools.gui.swing
Class OperationTreeBrowser

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byorg.geotools.gui.swing.OperationTreeBrowser
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class OperationTreeBrowser
extends javax.swing.JPanel

Display a chain of images as a tree. It may be a chain of RenderedImage or a chain of RenderableImage. Those images are often the result of some operation (i.e. are actually instances of RenderedOp or RenderableOp). The image given to the constructor is the root of the tree. The root contains the following children nodes:

Each source image can have its own source and parameters. In an analogy to a file system, source images are like directories and image parameters are like files. When a tree node is selected in the left pane, the content of the right pane is adjusted accordingly. If the node is an image, a "preview" tab is show together with an "information" tab. Informations include the color model, sample model, data type, etc. If the selected tree node is a parameter, then the right pane show the parameter value in some widget appropriate for the parameter type.

 

 

Since:
2.0
Version:
$Id: OperationTreeBrowser.java 17672 2006-01-19 00:25:55Z desruisseaux $
Author:
Martin Desruisseaux, Lionel Flahaut
See Also:
ImageProperties, ParameterEditor, RegisteredOperationBrowser, Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
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
OperationTreeBrowser(java.awt.image.renderable.RenderableImage source)
          Constructs a new browser for the given renderable image.
OperationTreeBrowser(java.awt.image.RenderedImage source)
          Constructs a new browser for the given rendered image.
 
Method Summary
static javax.swing.tree.TreeModel getTree(java.awt.image.renderable.RenderableImage image, java.util.Locale locale)
          Returns a tree with all sources and parameters for the given renderable image.
static javax.swing.tree.TreeModel getTree(java.awt.image.RenderedImage image, java.util.Locale locale)
          Returns a tree with all sources and parameters for the given rendered image.
static void main(java.lang.String[] args)
          Display the properties for the images specified on the command line.
static void show(java.awt.image.renderable.RenderableImage image)
          Show the operation tree for the specified renderable image in a frame.
static void show(java.awt.image.RenderedImage image)
          Show the operation tree for the specified rendered image in a frame.
 boolean showDialog(java.awt.Component owner, java.lang.String title)
          Show the operation chain in the given owner.
protected  boolean showParameterEditor(java.lang.Object selection)
          Invoked when the user clicks on a parameter node in the operation tree (left pane).
protected  boolean showSourceEditor(java.lang.Object selection)
          Invoked when the user clicks on a source node in the operation tree (left pane).
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 

Constructor Detail

OperationTreeBrowser

public OperationTreeBrowser(java.awt.image.RenderedImage source)
Constructs a new browser for the given rendered image.

Parameters:
source - The last image from the rendering chain to browse.

OperationTreeBrowser

public OperationTreeBrowser(java.awt.image.renderable.RenderableImage source)
Constructs a new browser for the given renderable image.

Parameters:
source - The last image from the rendering chain to browse.
Method Detail

show

public static void show(java.awt.image.RenderedImage image)
Show the operation tree for the specified rendered image in a frame. This convenience method is mostly a helper for debugging purpose.


show

public static void show(java.awt.image.renderable.RenderableImage image)
Show the operation tree for the specified renderable image in a frame. This convenience method is mostly a helper for debugging purpose.


getTree

public static javax.swing.tree.TreeModel getTree(java.awt.image.RenderedImage image,
                                                 java.util.Locale locale)
Returns a tree with all sources and parameters for the given rendered image.

Parameters:
image - The last image from an operation chain.
locale - The locale for tree node names.
Returns:
The tree for the given image and all its sources.

getTree

public static javax.swing.tree.TreeModel getTree(java.awt.image.renderable.RenderableImage image,
                                                 java.util.Locale locale)
Returns a tree with all sources and parameters for the given renderable image.

Parameters:
image - The last image from an operation chain.
locale - The locale for tree node names.
Returns:
The tree for the given image and all its sources.

showSourceEditor

protected boolean showSourceEditor(java.lang.Object selection)
Invoked when the user clicks on a source node in the operation tree (left pane). This method show a properties panel in the right pane appropriate for the given selection.

Parameters:
selection - The user selection. This object is usually an instance of RenderedImage, RenderableImage or PropertySource.
Returns:
if this method has been able to find an editor, or otherwise.

showParameterEditor

protected boolean showParameterEditor(java.lang.Object selection)
Invoked when the user clicks on a parameter node in the operation tree (left pane). This method show a properties panel in the right pane appropriate for the given selection.

Parameters:
selection - The user selection. This object is usually an instance of Number, KernelJAI, LookupTableJAI or some other parameter object.
Returns:
if this method has been able to find an editor, or otherwise.

showDialog

public boolean showDialog(java.awt.Component owner,
                          java.lang.String title)
Show the operation chain in the given owner.

Parameters:
owner - The owner widget, or if none.
title - The widget title, or for a default one.
Returns:
if the user clicked on the "Ok" button.

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
Display the properties for the images specified on the command line.

Throws:
java.io.IOException - if an error occured while reading an image.


Copyright © GeoTools. All Rights Reserved.