Package com.actelion.research.gui
Class JDrawArea
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- com.actelion.research.gui.JDrawArea
-
- All Implemented Interfaces:
java.awt.event.ActionListener,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
public class JDrawArea extends javax.swing.JPanel implements java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener- See Also:
- Serialized Form
-
-
Nested Class Summary
-
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
-
-
Field Summary
Fields Modifier and Type Field Description static intFAKE_ATOM_NOstatic intMODE_DRAWING_OBJECTSstatic intMODE_MARKUSH_STRUCTUREstatic intMODE_MULTIPLE_FRAGMENTSstatic intMODE_REACTIONprotected static intUPDATE_CHECK_COORDSprotected static intUPDATE_CHECK_VIEWprotected static intUPDATE_INVENT_COORDSprotected static intUPDATE_NONEprotected static intUPDATE_REDRAWprotected static intUPDATE_SCALE_COORDSprotected static intUPDATE_SCALE_COORDS_USE_FRAGMENTS-
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
-
-
Constructor Summary
Constructors Constructor Description JDrawArea(StereoMolecule mol, int mode)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactionPerformed(java.awt.event.ActionEvent e)voidaddDrawAreaListener(DrawAreaListener l)protected voidbuttonPressed(int button)static java.awt.ColorchainHiliteColor()voidclearAll()intgetDisplayMode()DrawingObjectListgetDrawingObjects()StereoMolecule[]getFragments()intgetHiliteAtom()intgetHiliteBond()MarkushStructuregetMarkushStructure()intgetMode()StereoMoleculegetMolecule()ReactiongetReaction()ReactiongetReactionAndDrawings()booleanisAtomColorSupported()voidkeyPressed(java.awt.event.KeyEvent e)voidkeyReleased(java.awt.event.KeyEvent e)voidkeyTyped(java.awt.event.KeyEvent e)static java.awt.ColorlassoColor()static java.awt.ColormapToolColor()voidmoleculeChanged()Use this to inform the JDrawArea after changing its molecule from outside.voidmoleculeChanged(boolean userChange)Ideally don't use this from outside JDrawArea.voidmouseClicked(java.awt.event.MouseEvent e)voidmouseDragged(java.awt.event.MouseEvent e)voidmouseEntered(java.awt.event.MouseEvent e)voidmouseExited(java.awt.event.MouseEvent e)voidmouseMoved(java.awt.event.MouseEvent e)voidmousePressed(java.awt.event.MouseEvent e)voidmouseReleased(java.awt.event.MouseEvent e)voidpaintComponent(java.awt.Graphics g)protected voidrestoreState()static java.awt.ColorselectionColor()voidsetAllowQueryFeatures(boolean allow)If set to false then any query features will be removed from the molecule and any functionality that allows to define atom- or bond-query features won't be available.voidsetAtomColorSupported(boolean acs)voidsetAtomText(java.lang.String[] atomText)Defines additional atom text to be displayed in top right position of some/all atom label.voidsetClipboardHandler(IClipboardHandler h)Call this after initialization to get clipboard supportvoidsetDisplayMode(int dMode)voidsetDrawingObjects(DrawingObjectList drawingObjectList)voidsetFragments(StereoMolecule[] fragment)voidsetHiliteBondSet(int[] bondSet)voidsetMarkushStructure(MarkushStructure markush)voidsetMolecule(StereoMolecule theMolecule)voidsetReaction(Reaction rxn)voidsetReactionMapper(IReactionMapper mapper)voidsetReactionMode(boolean rxn)protected voidsetUpdateMode(int mode)voidshowHelpDialog()voidstoreState()voidtoolChanged(int newTool)-
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, 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, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
MODE_MULTIPLE_FRAGMENTS
public static final int MODE_MULTIPLE_FRAGMENTS
- See Also:
- Constant Field Values
-
MODE_MARKUSH_STRUCTURE
public static final int MODE_MARKUSH_STRUCTURE
- See Also:
- Constant Field Values
-
MODE_REACTION
public static final int MODE_REACTION
- See Also:
- Constant Field Values
-
MODE_DRAWING_OBJECTS
public static final int MODE_DRAWING_OBJECTS
- See Also:
- Constant Field Values
-
UPDATE_NONE
protected static final int UPDATE_NONE
- See Also:
- Constant Field Values
-
UPDATE_REDRAW
protected static final int UPDATE_REDRAW
- See Also:
- Constant Field Values
-
UPDATE_CHECK_VIEW
protected static final int UPDATE_CHECK_VIEW
- See Also:
- Constant Field Values
-
UPDATE_CHECK_COORDS
protected static final int UPDATE_CHECK_COORDS
- See Also:
- Constant Field Values
-
UPDATE_SCALE_COORDS
protected static final int UPDATE_SCALE_COORDS
- See Also:
- Constant Field Values
-
UPDATE_SCALE_COORDS_USE_FRAGMENTS
protected static final int UPDATE_SCALE_COORDS_USE_FRAGMENTS
- See Also:
- Constant Field Values
-
UPDATE_INVENT_COORDS
protected static final int UPDATE_INVENT_COORDS
- See Also:
- Constant Field Values
-
FAKE_ATOM_NO
public static final int FAKE_ATOM_NO
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JDrawArea
public JDrawArea(StereoMolecule mol, int mode)
- Parameters:
mol- an empty or valid stereo moleculemode- 0 or a meaningful combination of the mode flags, e.g. MODE_REACTION | MODE_DRAWING_OBJECTS
-
-
Method Detail
-
setClipboardHandler
public void setClipboardHandler(IClipboardHandler h)
Call this after initialization to get clipboard support- Parameters:
h-
-
setReactionMapper
public void setReactionMapper(IReactionMapper mapper)
-
paintComponent
public void paintComponent(java.awt.Graphics g)
- Overrides:
paintComponentin classjavax.swing.JComponent
-
lassoColor
public static java.awt.Color lassoColor()
-
selectionColor
public static java.awt.Color selectionColor()
-
mapToolColor
public static java.awt.Color mapToolColor()
-
chainHiliteColor
public static java.awt.Color chainHiliteColor()
-
addDrawAreaListener
public void addDrawAreaListener(DrawAreaListener l)
-
buttonPressed
protected void buttonPressed(int button)
-
clearAll
public void clearAll()
-
toolChanged
public void toolChanged(int newTool)
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
- Specified by:
actionPerformedin interfacejava.awt.event.ActionListener
-
mousePressed
public void mousePressed(java.awt.event.MouseEvent e)
- Specified by:
mousePressedin interfacejava.awt.event.MouseListener
-
mouseReleased
public void mouseReleased(java.awt.event.MouseEvent e)
- Specified by:
mouseReleasedin interfacejava.awt.event.MouseListener
-
mouseEntered
public void mouseEntered(java.awt.event.MouseEvent e)
- Specified by:
mouseEnteredin interfacejava.awt.event.MouseListener
-
mouseExited
public void mouseExited(java.awt.event.MouseEvent e)
- Specified by:
mouseExitedin interfacejava.awt.event.MouseListener
-
mouseClicked
public void mouseClicked(java.awt.event.MouseEvent e)
- Specified by:
mouseClickedin interfacejava.awt.event.MouseListener
-
mouseDragged
public void mouseDragged(java.awt.event.MouseEvent e)
- Specified by:
mouseDraggedin interfacejava.awt.event.MouseMotionListener
-
mouseMoved
public void mouseMoved(java.awt.event.MouseEvent e)
- Specified by:
mouseMovedin interfacejava.awt.event.MouseMotionListener
-
keyPressed
public void keyPressed(java.awt.event.KeyEvent e)
- Specified by:
keyPressedin interfacejava.awt.event.KeyListener
-
showHelpDialog
public void showHelpDialog()
-
keyReleased
public void keyReleased(java.awt.event.KeyEvent e)
- Specified by:
keyReleasedin interfacejava.awt.event.KeyListener
-
keyTyped
public void keyTyped(java.awt.event.KeyEvent e)
- Specified by:
keyTypedin interfacejava.awt.event.KeyListener
-
restoreState
protected void restoreState()
-
storeState
public void storeState()
-
moleculeChanged
public void moleculeChanged()
Use this to inform the JDrawArea after changing its molecule from outside.
-
moleculeChanged
public void moleculeChanged(boolean userChange)
Ideally don't use this from outside JDrawArea. Use moleculeChanged() instead.- Parameters:
userChange- is true if the change was done within the editor
-
getMolecule
public StereoMolecule getMolecule()
-
setMolecule
public void setMolecule(StereoMolecule theMolecule)
-
getFragments
public StereoMolecule[] getFragments()
-
setFragments
public void setFragments(StereoMolecule[] fragment)
-
getReaction
public Reaction getReaction()
- Returns:
- mapped reaction with absolute coordinates, but without drawing objects
-
getReactionAndDrawings
public Reaction getReactionAndDrawings()
- Returns:
- mapped reaction with absolute coordinates and drawing objects
-
setReaction
public void setReaction(Reaction rxn)
-
getMarkushStructure
public MarkushStructure getMarkushStructure()
-
setMarkushStructure
public void setMarkushStructure(MarkushStructure markush)
-
getDisplayMode
public int getDisplayMode()
-
setDisplayMode
public void setDisplayMode(int dMode)
-
setAllowQueryFeatures
public void setAllowQueryFeatures(boolean allow)
If set to false then any query features will be removed from the molecule and any functionality that allows to define atom- or bond-query features won't be available. This feature is only relevant if the molecule is a fragment.- Parameters:
allow-
-
setAtomText
public void setAtomText(java.lang.String[] atomText)
Defines additional atom text to be displayed in top right position of some/all atom label. If the atom is charged, then the atom text follows the charge information. If using atom text make sure to update it accordingly, if atom indexes change due to molecule changes. Atom text is not supported for MODE_REACTION, MODE_MULTIPLE_FRAGMENTS or MODE_MARKUSH_STRUCTURE.- Parameters:
atomText- String[] matching atom indexes (may contain null entries)
-
getDrawingObjects
public DrawingObjectList getDrawingObjects()
-
setDrawingObjects
public void setDrawingObjects(DrawingObjectList drawingObjectList)
-
getMode
public int getMode()
-
getHiliteAtom
public int getHiliteAtom()
-
getHiliteBond
public int getHiliteBond()
-
setHiliteBondSet
public void setHiliteBondSet(int[] bondSet)
-
setReactionMode
public void setReactionMode(boolean rxn)
-
setUpdateMode
protected void setUpdateMode(int mode)
-
isAtomColorSupported
public boolean isAtomColorSupported()
-
setAtomColorSupported
public void setAtomColorSupported(boolean acs)
-
-