org.geotoolkit.gui.swing.image
Class OperationTreeBrowser

Object
  extended by Component
      extended by Container
          extended by JComponent
              extended by OperationTreeBrowser
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Dialog

public class OperationTreeBrowser
extends JComponent
implements Dialog

Displays 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.3
Version:
3.12
Author:
Martin Desruisseaux (IRD), Lionel Flahaut (IRD)
See Also:
ImageProperties, ParameterEditor, RegisteredOperationBrowser, Serialized Form
Module:
display/geotk-widgets-swing (download)    View source code for this class

Nested Class Summary
 
Nested classes/interfaces inherited from class JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class 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 Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
OperationTreeBrowser(RenderableImage source)
          Constructs a new browser for the given renderable image.
OperationTreeBrowser(RenderedImage source)
          Constructs a new browser for the given rendered image.
 
Method Summary
 void commitEdit()
          Forces the current values to be taken from the editable fields and set them as the current values.
static TreeModel getTree(RenderableImage image, Locale locale)
          Returns a tree with all sources and parameters for the given renderable image.
static TreeModel getTree(RenderedImage image, Locale locale)
          Returns a tree with all sources and parameters for the given rendered image.
static void print(RenderableImage image)
          Prints to the standard output stream the operation chain for the specified image.
static void print(RenderedImage image)
          Prints to the standard output stream the operation chain for the specified image.
static void show(RenderableImage image)
          Shows the operation tree for the specified renderable image in a frame.
static void show(RenderedImage image)
          Shows the operation tree for the specified rendered image in a frame.
 boolean showDialog(Component owner, String title)
          Shows a dialog box requesting input from the user.
protected  boolean showParameterEditor(Object selection)
          Invoked when the user clicks on a parameter node in the operation tree (left pane).
protected  boolean showSourceEditor(Object selection)
          Invoked when the user clicks on a source node in the operation tree (left pane).
 
Methods inherited from class JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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, updateUI
 
Methods inherited from class 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 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 Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

OperationTreeBrowser

public OperationTreeBrowser(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(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

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

Parameters:
image - The image to display in a frame.

show

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

Parameters:
image - The image to display in a frame.

print

@Debug
public static void print(RenderedImage image)
Prints to the standard output stream the operation chain for the specified image. This convenience method is used mostly for debugging purpose.

Parameters:
image - The image for which to print its sources and parameters.
Since:
2.4

print

@Debug
public static void print(RenderableImage image)
Prints to the standard output stream the operation chain for the specified image. This convenience method is used mostly for debugging purpose.

Parameters:
image - The image for which to print its sources and parameters.
Since:
2.4

getTree

public static TreeModel getTree(RenderedImage image,
                                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 TreeModel getTree(RenderableImage image,
                                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(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:
true if this method has been able to find an editor, or false otherwise.

showParameterEditor

protected boolean showParameterEditor(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:
true if this method has been able to find an editor, or false otherwise.

commitEdit

public void commitEdit()
                throws ParseException
Forces the current values to be taken from the editable fields and set them as the current values. The default implementation does nothing since there is no editable fields in this widget.

Specified by:
commitEdit in interface Dialog
Throws:
ParseException - If at least one values couldn't be commited.
Since:
3.12
See Also:
JFormattedTextField.commitEdit(), JSpinner.commitEdit()

showDialog

public boolean showDialog(Component owner,
                          String title)
Shows a dialog box requesting input from the user. The dialog box will be parented to owner. If owner is contained into a JDesktopPane, the dialog box will appears as an internal frame.

Multi-threading
Geotk implementations allow this method to be invoked from any thread. If the caller thread is not the Swing thread, then the execution of this method will be registered in the AWT Event Queue and the caller thread will block until completion.

Specified by:
showDialog in interface Dialog
Parameters:
title - The dialog box title, or null for a default title.
owner - The parent component for the dialog box, or null if there is no parent.
Returns:
true if user pressed the "Ok" button, or false otherwise (e.g. pressing "Cancel" or closing the dialog box from the title bar).


Copyright © 2009-2012 Geotoolkit.org. All Rights Reserved.