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 classInterfaceVolumePanel.SliderTableColumnNested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainerNested 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 Volume3DIntcurrentVolumeVolumeMaskOptions_oldmaskOptionsprotected VolumeEnginevolume_engineFields inherited from class mgui.interfaces.InterfacePanel
attributes, displayListeners, isDestroyed, last_click_point, statusBar, tree_nodes, treeNode, typeFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields 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 voidactionPerformed(java.awt.event.ActionEvent e)voidchangedUpdate(javax.swing.event.DocumentEvent e)voidcleanUpPanel()Cleans up the panel's data when it loses focus.protected voidenableIntensity(boolean b)protected voidenableMasking()protected voidenableOps(boolean b)voidfocusGained(java.awt.event.FocusEvent e)voidfocusLost(java.awt.event.FocusEvent e)int[]getDataDims()protected intgetDataSize(java.lang.String type)static Volume3DIntgetDefaultVolume()protected Grid3DgetGridFromSpecs()protected HistogramgetHistogramBlocking(Volume3DInt volume, int t, int bins, double min, double max)Produces a histogram for the currently selected column ofvolume.javax.swing.IcongetObjectIcon()Returns theIconassociated with this object.protected GridVertexDataColumngetSelectedColumn()Returns the currently selected column, ornullif no column is selected.protected intgetTextureType(java.lang.String type)protected Volume3DIntgetVolume(java.lang.String column)voidhandlePopupEvent(java.awt.event.ActionEvent e)Handles an event on this object's popup menu.protected voidinit()voidinsertUpdate(javax.swing.event.DocumentEvent e)protected booleanisNewGrid()voidkeyPressed(java.awt.event.KeyEvent e)voidkeyReleased(java.awt.event.KeyEvent arg0)voidkeyTyped(java.awt.event.KeyEvent arg0)booleanloadVolume(Volume3DInt volume, java.lang.String column, VolumeFileLoader loader, VolumeInputOptions options, ProgressUpdater progress_bar)voidremoveUpdate(javax.swing.event.DocumentEvent e)protected voidresetHistogram()voidsetAxes(org.jogamp.vecmath.Vector3f xAxis, org.jogamp.vecmath.Vector3f yAxis, org.jogamp.vecmath.Vector3f zAxis)protected voidsetCurrentVolume(Volume3DInt volume)voidsetDataDims(int x, int y, int z)voidsetDataMax(double max, double min)voidsetGeomDims(float x, float y, float z)voidsetGeometryFromRect(Rect3D r)protected voidsetHistogram(boolean as_job)voidsetImgOrigin(float x, float y, float z)protected booleansetParameters(InterfaceOptions p)protected voidsetSelectedColumn(java.lang.String column)Sets the current selected column.voidshapeUpdated(ShapeEvent e)A shape that this object is listening to has been updated.voidshowPanel()This method is called when a panel is displayed.voidshowPopupMenu(java.awt.event.MouseEvent e)Shows a popup menu at the point of the givenMouseEvent.voidstateChanged(javax.swing.event.ChangeEvent e)java.lang.StringtoString()voidupdateColourMaps()protected voidupdateColumns()protected voidupdateColumns(boolean force)voidupdateDisplay()Requests this panel to update its display.voidupdateFromDialog(InterfaceDialogBox box)protected voidupdateHistogram()Instructs the histogram panel to repaint itselfprotected voidupdateIntensity()Updates the intensity values for the current volume / columnprotected voidupdateIntensityValues()protected voidupdateMasking()protected voidupdateMaskShapePanel()protected voidupdateOperationColumns()protected voidupdateOperations()protected voidupdateVolOptions()voidvalueChanged(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, updateTreeNodesMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, updateMethods 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, validateTreeMethods 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, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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:
initin classInterfacePanel
-
valueChanged
public void valueChanged(javax.swing.event.ListSelectionEvent e)- Specified by:
valueChangedin interfacejavax.swing.event.ListSelectionListener
-
getObjectIcon
public javax.swing.Icon getObjectIcon()Description copied from interface:IconObjectReturns theIconassociated with this object.- Specified by:
getObjectIconin interfaceIconObject- Overrides:
getObjectIconin classInterfacePanel- Returns:
-
cleanUpPanel
public void cleanUpPanel()Description copied from class:InterfacePanelCleans up the panel's data when it loses focus. Does nothing by default; override this method to perform custom housekeeping.- Overrides:
cleanUpPanelin classInterfacePanel
-
shapeUpdated
Description copied from interface:ShapeListenerA shape that this object is listening to has been updated. The specific type of event is defined by ShapeEvent.EventType.- Specified by:
shapeUpdatedin interfaceShapeListener- Overrides:
shapeUpdatedin 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:InterfacePanelRequests this panel to update its display.- Specified by:
updateDisplayin interfaceDisplayListener- Overrides:
updateDisplayin classInterfacePanel
-
stateChanged
public void stateChanged(javax.swing.event.ChangeEvent e)- Specified by:
stateChangedin 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, ornullif 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:PopupMenuObjectShows a popup menu at the point of the givenMouseEvent.- Specified by:
showPopupMenuin interfacePopupMenuObject- Overrides:
showPopupMenuin classInterfacePanel
-
handlePopupEvent
public void handlePopupEvent(java.awt.event.ActionEvent e)Description copied from interface:PopupMenuObjectHandles an event on this object's popup menu.- Specified by:
handlePopupEventin interfacePopupMenuObject- Overrides:
handlePopupEventin classInterfacePanel
-
updateFromDialog
- Specified by:
updateFromDialogin interfaceInterfaceIOPanel- Overrides:
updateFromDialogin classInterfacePanel
-
setParameters
-
changedUpdate
public void changedUpdate(javax.swing.event.DocumentEvent e)- Specified by:
changedUpdatein interfacejavax.swing.event.DocumentListener
-
insertUpdate
public void insertUpdate(javax.swing.event.DocumentEvent e)- Specified by:
insertUpdatein interfacejavax.swing.event.DocumentListener
-
removeUpdate
public void removeUpdate(javax.swing.event.DocumentEvent e)- Specified by:
removeUpdatein interfacejavax.swing.event.DocumentListener
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)- Specified by:
actionPerformedin 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:
keyPressedin interfacejava.awt.event.KeyListener- Overrides:
keyPressedin classInterfacePanel
-
keyReleased
public void keyReleased(java.awt.event.KeyEvent arg0)- Specified by:
keyReleasedin interfacejava.awt.event.KeyListener- Overrides:
keyReleasedin classInterfacePanel
-
keyTyped
public void keyTyped(java.awt.event.KeyEvent arg0)- Specified by:
keyTypedin interfacejava.awt.event.KeyListener- Overrides:
keyTypedin classInterfacePanel
-
focusGained
public void focusGained(java.awt.event.FocusEvent e)- Specified by:
focusGainedin interfacejava.awt.event.FocusListener
-
focusLost
public void focusLost(java.awt.event.FocusEvent e)- Specified by:
focusLostin interfacejava.awt.event.FocusListener
-
setCurrentVolume
-
updateColumns
protected void updateColumns() -
updateColumns
protected void updateColumns(boolean force) -
showPanel
public void showPanel()Description copied from class:InterfacePanelThis method is called when a panel is displayed. Subclasses should override to implement specific behaviour.- Overrides:
showPanelin 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:
toStringin classjava.awt.Component
-