adams.flow.transformer.pixelselector
Class PixelSelectorPanel

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 adams.gui.core.BasePanel
                      extended by adams.flow.transformer.pixelselector.PixelSelectorPanel
All Implemented Interfaces:
CleanUpHandler, CustomPopupMenuProvider, MenuBarProvider, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, TableModelListener

public class PixelSelectorPanel
extends BasePanel
implements CustomPopupMenuProvider, CleanUpHandler, TableModelListener, MenuBarProvider

Combines an ImagePanel and a Report table.

Version:
$Revision: 4845 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int APPROVE_OPTION
          the APPROVE option.
static int CANCEL_OPTION
          the CANCEL option.
protected  HashSet<ActionListener> m_ActionListeners
          the action listeners.
protected  AbstractPixelSelectorAction[] m_Actions
          the actions that are available from the popup menu.
protected  JButton m_ButtonCancel
          the Cancel button.
protected  JButton m_ButtonOK
          the OK button.
protected  AbstractImage m_Image
          the current image container.
protected  ImagePanel m_ImagePanel
          the image panel.
protected  Hashtable<Class,Object> m_LastActionResult
          the last action result for a selector action.
protected  JMenuBar m_MenuBar
          the menu bar.
protected  ReportFactory.Table m_ReportTable
          the report table.
protected  int m_Result
          the result (ok or cancel).
protected  BaseSplitPane m_SplitPane
          the split pane.
 
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
PixelSelectorPanel()
           
 
Method Summary
 void addActionListener(ActionListener l)
          Adds a listener for button actions.
 void addImageOverlay(ImageOverlay io)
          Adds the image overlay.
 void cleanUp()
          Cleans up data structures, frees up memory.
 void clearImageOverlays()
          Removes all image overlays.
protected  void closeDialog(int result)
          Closes the dialog.
protected  void editOverlays()
          Edits the current overlays.
 AbstractPixelSelectorAction[] getActions()
          Returns the available popup actions.
 JPopupMenu getCustomPopupMenu(MouseEvent e)
          Creates a popup menu for the given mouse event.
 AbstractImage getImage()
          Returns the current image.
 Object getLastActionResult(Class cls)
          Retrieves the previous result for the specified action if available.
 JMenuBar getMenuBar()
          Creates a menu bar (singleton per panel object).
 int getResult()
          Returns the current result.
 int getSplitterPosition()
          Returns the current location of the splitter/divider.
 boolean hasImage()
          Checks whether an image is currently displayed.
 boolean hasLastActionResult(Class cls)
          Checks for the specified action whether a previous result is available.
 Iterator<ImageOverlay> imageOverlays()
          Returns an iterator over all the image overlays.
protected  void initGUI()
          Initializes the widgets.
protected  void initialize()
          Initializes the members.
protected  void notifyActionListeners(int button)
          Notifies all the action listeners.
 void removeActionListener(ActionListener l)
          Removes a listener for button actions.
 void removeImageOverlay(ImageOverlay io)
          Removes the image overlay.
 void setActions(AbstractPixelSelectorAction[] value)
          Sets the available popup actions.
 void setImage(AbstractImage value)
          Sets the image.
 void setLastActionResult(Class cls, Object value)
          Stores the result for the specified action.
 void setSplitterPosition(int value)
          Sets the location of the splitter/divider.
 void tableChanged(TableModelEvent e)
          Whenever the data in the report changes.
 void update()
          Updates the report/image.
 void updateImage()
          Updates the image.
 void updateReport()
          Updates the report.
 
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, main, setParentTitle, setVisible
 
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, 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

CANCEL_OPTION

public static final int CANCEL_OPTION
the CANCEL option.

See Also:
Constant Field Values

APPROVE_OPTION

public static final int APPROVE_OPTION
the APPROVE option.

See Also:
Constant Field Values

m_Image

protected AbstractImage m_Image
the current image container.


m_SplitPane

protected BaseSplitPane m_SplitPane
the split pane.


m_ImagePanel

protected ImagePanel m_ImagePanel
the image panel.


m_ReportTable

protected ReportFactory.Table m_ReportTable
the report table.


m_ButtonOK

protected JButton m_ButtonOK
the OK button.


m_ButtonCancel

protected JButton m_ButtonCancel
the Cancel button.


m_Result

protected int m_Result
the result (ok or cancel).


m_ActionListeners

protected HashSet<ActionListener> m_ActionListeners
the action listeners.


m_Actions

protected AbstractPixelSelectorAction[] m_Actions
the actions that are available from the popup menu.


m_MenuBar

protected JMenuBar m_MenuBar
the menu bar.


m_LastActionResult

protected Hashtable<Class,Object> m_LastActionResult
the last action result for a selector action.

Constructor Detail

PixelSelectorPanel

public PixelSelectorPanel()
Method Detail

initialize

protected void initialize()
Initializes the members.

Overrides:
initialize in class BasePanel

initGUI

protected void initGUI()
Initializes the widgets.

Overrides:
initGUI in class BasePanel

setSplitterPosition

public void setSplitterPosition(int value)
Sets the location of the splitter/divider.

Parameters:
value - the position in pixels

getSplitterPosition

public int getSplitterPosition()
Returns the current location of the splitter/divider.

Returns:
the position in pixels

setActions

public void setActions(AbstractPixelSelectorAction[] value)
Sets the available popup actions.

Parameters:
value - the actions

getActions

public AbstractPixelSelectorAction[] getActions()
Returns the available popup actions.

Returns:
the actions

setImage

public void setImage(AbstractImage value)
Sets the image.

Parameters:
value - the image

hasImage

public boolean hasImage()
Checks whether an image is currently displayed.

Returns:
true if an image is available

getImage

public AbstractImage getImage()
Returns the current image.

Returns:
the image, null if none set

addActionListener

public void addActionListener(ActionListener l)
Adds a listener for button actions.

Parameters:
l - the lister to add

removeActionListener

public void removeActionListener(ActionListener l)
Removes a listener for button actions.

Parameters:
l - the lister to remove

notifyActionListeners

protected void notifyActionListeners(int button)
Notifies all the action listeners.

Parameters:
button - the button that triggered this event (OK/Cancel)

clearImageOverlays

public void clearImageOverlays()
Removes all image overlays.


addImageOverlay

public void addImageOverlay(ImageOverlay io)
Adds the image overlay.

Parameters:
io - the image overlay to add

removeImageOverlay

public void removeImageOverlay(ImageOverlay io)
Removes the image overlay.

Parameters:
io - the image overlay to remove

imageOverlays

public Iterator<ImageOverlay> imageOverlays()
Returns an iterator over all the image overlays.

Returns:
iterator on image overlays

closeDialog

protected void closeDialog(int result)
Closes the dialog.

Parameters:
result - whether successful or not
See Also:
APPROVE_OPTION, CANCEL_OPTION

editOverlays

protected void editOverlays()
Edits the current overlays.


hasLastActionResult

public boolean hasLastActionResult(Class cls)
Checks for the specified action whether a previous result is available.

Parameters:
cls - the action class to check
Returns:
true if a previous result is available

setLastActionResult

public void setLastActionResult(Class cls,
                                Object value)
Stores the result for the specified action.

Parameters:
cls - the action class to store the result for
value - the action result, null removes the association

getLastActionResult

public Object getLastActionResult(Class cls)
Retrieves the previous result for the specified action if available.

Parameters:
cls - the action class to get the result for
Returns:
the result or null if not available

getResult

public int getResult()
Returns the current result.

Returns:
the user action
See Also:
APPROVE_OPTION, CANCEL_OPTION

getCustomPopupMenu

public JPopupMenu getCustomPopupMenu(MouseEvent e)
Creates a popup menu for the given mouse event.

Specified by:
getCustomPopupMenu in interface CustomPopupMenuProvider
Parameters:
e - the event that triggered the request
Returns:
the menu, null if none was generated

getMenuBar

public JMenuBar getMenuBar()
Creates a menu bar (singleton per panel object). Can be used in frames.

Specified by:
getMenuBar in interface MenuBarProvider
Returns:
the menu bar

updateReport

public void updateReport()
Updates the report.


updateImage

public void updateImage()
Updates the image.


update

public void update()
Updates the report/image.


tableChanged

public void tableChanged(TableModelEvent e)
Whenever the data in the report changes.

Specified by:
tableChanged in interface TableModelListener
Parameters:
e - the table event
See Also:
updateImage()

cleanUp

public void cleanUp()
Cleans up data structures, frees up memory.

Specified by:
cleanUp in interface CleanUpHandler


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.