Package mgui.interfaces.shapes.volume
Class InterfaceVolumePanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
mgui.interfaces.InterfacePanel
mgui.interfaces.shapes.volume.InterfaceVolumePanel
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.awt.event.ComponentListener
,java.awt.event.FocusListener
,java.awt.event.KeyListener
,java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ChangeListener
,javax.swing.event.DocumentListener
,javax.swing.event.ListSelectionListener
,AttributeListener
,AttributeObject
,DisplayListener
,InterfaceObject
,CategoryObject
,PopupMenuObject
,NamedObject
,ShapeListener
,TreeObject
,CleanableObject
,InterfaceIOPanel
,IconObject
public class InterfaceVolumePanel extends InterfacePanel implements InterfaceIOPanel, java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.FocusListener, javax.swing.event.ChangeListener, javax.swing.event.DocumentListener, javax.swing.event.ListSelectionListener
Interface panel which allows the user to interact with Volume3DInt objects.
- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
- See Also:
- Serialized Form
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
InterfaceVolumePanel.SliderTableColumn
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
Fields Modifier and Type Field Description protected Volume3DInt
currentVolume
VolumeMaskOptions_old
maskOptions
protected VolumeEngine
volume_engine
Fields inherited from class mgui.interfaces.InterfacePanel
attributes, displayListeners, isDestroyed, last_click_point, statusBar, tree_nodes, treeNode, type
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description InterfaceVolumePanel()
-
Method Summary
Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
void
changedUpdate(javax.swing.event.DocumentEvent e)
void
cleanUpPanel()
Cleans up the panel's data when it loses focus.protected void
enableIntensity(boolean b)
protected void
enableMasking()
protected void
enableOps(boolean b)
void
focusGained(java.awt.event.FocusEvent e)
void
focusLost(java.awt.event.FocusEvent e)
int[]
getDataDims()
protected int
getDataSize(java.lang.String type)
static Volume3DInt
getDefaultVolume()
protected Grid3D
getGridFromSpecs()
protected Histogram
getHistogramBlocking(Volume3DInt volume, int t, int bins, double min, double max)
Produces a histogram for the currently selected column ofvolume
.javax.swing.Icon
getObjectIcon()
Returns theIcon
associated with this object.protected GridVertexDataColumn
getSelectedColumn()
Returns the currently selected column, ornull
if no column is selected.protected int
getTextureType(java.lang.String type)
protected Volume3DInt
getVolume(java.lang.String column)
void
handlePopupEvent(java.awt.event.ActionEvent e)
Handles an event on this object's popup menu.protected void
init()
void
insertUpdate(javax.swing.event.DocumentEvent e)
protected boolean
isNewGrid()
void
keyPressed(java.awt.event.KeyEvent e)
void
keyReleased(java.awt.event.KeyEvent arg0)
void
keyTyped(java.awt.event.KeyEvent arg0)
boolean
loadVolume(Volume3DInt volume, java.lang.String column, VolumeFileLoader loader, VolumeInputOptions options, ProgressUpdater progress_bar)
void
removeUpdate(javax.swing.event.DocumentEvent e)
protected void
resetHistogram()
void
setAxes(org.jogamp.vecmath.Vector3f xAxis, org.jogamp.vecmath.Vector3f yAxis, org.jogamp.vecmath.Vector3f zAxis)
protected void
setCurrentVolume(Volume3DInt volume)
void
setDataDims(int x, int y, int z)
void
setDataMax(double max, double min)
void
setGeomDims(float x, float y, float z)
void
setGeometryFromRect(Rect3D r)
protected void
setHistogram(boolean as_job)
void
setImgOrigin(float x, float y, float z)
protected boolean
setParameters(InterfaceOptions p)
protected void
setSelectedColumn(java.lang.String column)
Sets the current selected column.void
shapeUpdated(ShapeEvent e)
A shape that this object is listening to has been updated.void
showPanel()
This method is called when a panel is displayed.void
showPopupMenu(java.awt.event.MouseEvent e)
Shows a popup menu at the point of the givenMouseEvent
.void
stateChanged(javax.swing.event.ChangeEvent e)
java.lang.String
toString()
void
updateColourMaps()
protected void
updateColumns()
protected void
updateColumns(boolean force)
void
updateDisplay()
Requests this panel to update its display.void
updateFromDialog(InterfaceDialogBox box)
protected void
updateHistogram()
Instructs the histogram panel to repaint itselfprotected void
updateIntensity()
Updates the intensity values for the current volume / columnprotected void
updateIntensityValues()
protected void
updateMasking()
protected void
updateMaskShapePanel()
protected void
updateOperationColumns()
protected void
updateOperations()
protected void
updateVolOptions()
void
valueChanged(javax.swing.event.ListSelectionEvent e)
Methods inherited from class mgui.interfaces.InterfacePanel
_init, addDisplayListener, attributeUpdated, clean, collapseAllCategories, collapseCategory, collapseOtherCategories, componentHidden, componentMoved, componentResized, componentShown, destroy, expandAllCategories, expandCategory, fireDisplayListeners, getAttribute, getAttributes, getAttributeValue, getLocalAttributes, getPopupMenu, getPopupMenu, getSource, getTitle, getTreeLabel, getType, isDestroyed, issueTreeNode, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, removeDisplayListener, setAttribute, setAttributes, setSource, setStatusBar, setTreeNode, setType, updateDisplays, updateTreeNodes
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface mgui.interfaces.NamedObject
getName, setName
-
Field Details
-
volume_engine
-
currentVolume
-
maskOptions
-
-
Constructor Details
-
InterfaceVolumePanel
public InterfaceVolumePanel()
-
-
Method Details
-
init
protected void init()- Specified by:
init
in classInterfacePanel
-
valueChanged
public void valueChanged(javax.swing.event.ListSelectionEvent e)- Specified by:
valueChanged
in interfacejavax.swing.event.ListSelectionListener
-
getObjectIcon
public javax.swing.Icon getObjectIcon()Description copied from interface:IconObject
Returns theIcon
associated with this object.- Specified by:
getObjectIcon
in interfaceIconObject
- Overrides:
getObjectIcon
in classInterfacePanel
- Returns:
-
cleanUpPanel
public void cleanUpPanel()Description copied from class:InterfacePanel
Cleans up the panel's data when it loses focus. Does nothing by default; override this method to perform custom housekeeping.- Overrides:
cleanUpPanel
in classInterfacePanel
-
shapeUpdated
Description copied from interface:ShapeListener
A shape that this object is listening to has been updated. The specific type of event is defined by ShapeEvent.EventType.- Specified by:
shapeUpdated
in interfaceShapeListener
- Overrides:
shapeUpdated
in classInterfacePanel
-
enableMasking
protected void enableMasking() -
enableOps
protected void enableOps(boolean b) -
enableIntensity
protected void enableIntensity(boolean b) -
updateDisplay
public void updateDisplay()Description copied from class:InterfacePanel
Requests this panel to update its display.- Specified by:
updateDisplay
in interfaceDisplayListener
- Overrides:
updateDisplay
in classInterfacePanel
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)- Specified by:
stateChanged
in interfacejavax.swing.event.ChangeListener
-
isNewGrid
protected boolean isNewGrid() -
updateOperations
protected void updateOperations() -
updateOperationColumns
protected void updateOperationColumns() -
getDefaultVolume
-
updateMaskShapePanel
protected void updateMaskShapePanel() -
updateMasking
protected void updateMasking() -
setHistogram
protected void setHistogram(boolean as_job) -
resetHistogram
protected void resetHistogram() -
getSelectedColumn
Returns the currently selected column, ornull
if no column is selected.- Returns:
-
setSelectedColumn
protected void setSelectedColumn(java.lang.String column)Sets the current selected column.- Parameters:
column
-
-
getHistogramBlocking
protected Histogram getHistogramBlocking(Volume3DInt volume, int t, int bins, double min, double max)Produces a histogram for the currently selected column ofvolume
.- Parameters:
volume
- The volume for which to produce a histogramt
- The temporal index (0 for 3D volumes)bins
- The number of bins in the histogrammin
- The minimum of the range to usemax
- The maximum of the range to use
-
updateHistogram
protected void updateHistogram()Instructs the histogram panel to repaint itself -
updateIntensity
protected void updateIntensity()Updates the intensity values for the current volume / column -
updateIntensityValues
protected void updateIntensityValues() -
updateVolOptions
protected void updateVolOptions() -
showPopupMenu
public void showPopupMenu(java.awt.event.MouseEvent e)Description copied from interface:PopupMenuObject
Shows a popup menu at the point of the givenMouseEvent
.- Specified by:
showPopupMenu
in interfacePopupMenuObject
- Overrides:
showPopupMenu
in classInterfacePanel
-
handlePopupEvent
public void handlePopupEvent(java.awt.event.ActionEvent e)Description copied from interface:PopupMenuObject
Handles an event on this object's popup menu.- Specified by:
handlePopupEvent
in interfacePopupMenuObject
- Overrides:
handlePopupEvent
in classInterfacePanel
-
updateFromDialog
- Specified by:
updateFromDialog
in interfaceInterfaceIOPanel
- Overrides:
updateFromDialog
in classInterfacePanel
-
setParameters
-
changedUpdate
public void changedUpdate(javax.swing.event.DocumentEvent e)- Specified by:
changedUpdate
in interfacejavax.swing.event.DocumentListener
-
insertUpdate
public void insertUpdate(javax.swing.event.DocumentEvent e)- Specified by:
insertUpdate
in interfacejavax.swing.event.DocumentListener
-
removeUpdate
public void removeUpdate(javax.swing.event.DocumentEvent e)- Specified by:
removeUpdate
in interfacejavax.swing.event.DocumentListener
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
loadVolume
public boolean loadVolume(Volume3DInt volume, java.lang.String column, VolumeFileLoader loader, VolumeInputOptions options, ProgressUpdater progress_bar) -
getGridFromSpecs
-
getVolume
-
getDataDims
public int[] getDataDims() -
getDataSize
protected int getDataSize(java.lang.String type) -
getTextureType
protected int getTextureType(java.lang.String type) -
keyPressed
public void keyPressed(java.awt.event.KeyEvent e)- Specified by:
keyPressed
in interfacejava.awt.event.KeyListener
- Overrides:
keyPressed
in classInterfacePanel
-
keyReleased
public void keyReleased(java.awt.event.KeyEvent arg0)- Specified by:
keyReleased
in interfacejava.awt.event.KeyListener
- Overrides:
keyReleased
in classInterfacePanel
-
keyTyped
public void keyTyped(java.awt.event.KeyEvent arg0)- Specified by:
keyTyped
in interfacejava.awt.event.KeyListener
- Overrides:
keyTyped
in classInterfacePanel
-
focusGained
public void focusGained(java.awt.event.FocusEvent e)- Specified by:
focusGained
in interfacejava.awt.event.FocusListener
-
focusLost
public void focusLost(java.awt.event.FocusEvent e)- Specified by:
focusLost
in interfacejava.awt.event.FocusListener
-
setCurrentVolume
-
updateColumns
protected void updateColumns() -
updateColumns
protected void updateColumns(boolean force) -
showPanel
public void showPanel()Description copied from class:InterfacePanel
This method is called when a panel is displayed. Subclasses should override to implement specific behaviour.- Overrides:
showPanel
in classInterfacePanel
-
updateColourMaps
public void updateColourMaps() -
setDataDims
public void setDataDims(int x, int y, int z) -
setImgOrigin
public void setImgOrigin(float x, float y, float z) -
setGeomDims
public void setGeomDims(float x, float y, float z) -
setDataMax
public void setDataMax(double max, double min) -
setAxes
public void setAxes(org.jogamp.vecmath.Vector3f xAxis, org.jogamp.vecmath.Vector3f yAxis, org.jogamp.vecmath.Vector3f zAxis) -
setGeometryFromRect
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.awt.Component
-