Package com.chemaxon.calculations.gui
Class CalculatorPluginDisplay<P extends CalculatorPlugin>
- java.lang.Object
-
- chemaxon.marvin.plugin.CalculatorPluginService<P>
-
- com.chemaxon.calculations.gui.CalculatorPluginDisplay<P>
-
- Direct Known Subclasses:
CalculatorPluginDisplay
@PublicAPI public class CalculatorPluginDisplay<P extends CalculatorPlugin> extends CalculatorPluginService<P>
Common base class for calculator plugin displays. Also provides default implementation for molecule display, therefore plugins with molecule / atom data only may use the base class itself.- Since:
- Marvin 4.0
-
-
Field Summary
Fields Modifier and Type Field Description protected static int
CELLSIZE
The default viewer cell size.protected boolean
displayInMarvinSpace
Display in MarvinSpace is enabled or not.protected static int
HTML
Property display type: display in html text.protected int
icell
The viewer cell index (0 for sketcher).protected static int
LABEL
Property display type: display in label.protected static int
MAX_LINE_LENGTH
Maximum desired line length used to form multi-line text.protected static int
NONE
Property display type: no property display.protected Component
parent
The parent component.protected DPoint3[]
reactionArrow
The reaction arrow endpoints,null
if not a reaction.protected ArrayList
resultMolList
The result molecules to be displayed.protected ArrayList
resultValues
The result values to be displayed in MarvinSpace.protected static int
TEXT
Property display type: display in text.protected String
title
The result frame title.protected static String
WORD_SEPARATORS
Word separators used to form multi-line text if the text is too long.
-
Constructor Summary
Constructors Constructor Description CalculatorPluginDisplay()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected String
appendpHText(String text)
Appends the pH text.void
clear()
Clears the display.protected ParameterPanelHandler
createParameterPanel()
Creates the parameter panel.protected chemaxon.marvin.plugin.gui.ResultView
createResultView(String title, chemaxon.marvin.common.swing.MolPanel mpan)
protected Component
createSpacePanel(Molecule[] mols)
Creates space panel with given molecules, creates colored surface to each molecule.protected chemaxon.marvin.view.swing.ViewPanel
createViewPanel(Molecule[] mols)
Creates view panel with given molecules, places molecule properties in formatted texts.protected chemaxon.marvin.view.swing.ViewPanel
createViewPanel(Molecule[] mols, int rows, int cols, int size, int propertyDisplayType)
Creates view panel with given molecules, places molecule properties in formatted texts.Component
getErrorComponent()
Returns a component with the appropriate error message.protected Object
getHResult(int i)
Returns the sum result of the H neighbours of the given atom.String[]
getLabels(double[] values)
Returns formatted array.ParameterPanelHandler
getParameterPanel()
Returns the parameter panel.protected P
getPlugin()
Returns the calculator plugin object.MProgressMonitor
getProgressMonitor(Component parent)
Creates a progress observer object to be used inCalculatorPlugin.setProgressMonitor(chemaxon.common.util.MProgressMonitor)
.protected String
getPropertyText(Molecule mol)
Returns molecule properties is text form.String
getRemark()
Returns the calculation remark.Component
getResultComponent()
Returns the result component for display.protected String
getTableText(String header, String[] labels, double[][] values)
Returns table in string form.String
getTitle()
Returns the frame title.protected boolean
isMSpaceDisplayLabelOnlyOnHeavyAtoms()
Returns if mspace should display label only on heavy atoms.boolean
isMultipleDisplay()
Returnstrue
if results for more molecules can be displayed in a single component,false
if each molecule should be displayed in a separate component.void
pop()
Clears the last stored item from the display.void
setCellIndex(int icell)
Sets the viewer cell index.void
setParameters(Properties params)
Sets parameters.void
setParent(Component parent)
Sets the parent component.void
setPlugin(CalculatorPlugin plugin)
Deprecated.usesetPluginChecked(CalculatorPlugin)
insteadvoid
setPluginChecked(P plugin)
Sets the plugin.void
setReactionArrow(DPoint3[] reactionArrow)
Sets the reaction arrow.void
setTitle(String title)
Sets the frame title.void
store()
Stores a new result item.
-
-
-
Field Detail
-
CELLSIZE
protected static final int CELLSIZE
The default viewer cell size.- See Also:
- Constant Field Values
-
NONE
protected static final int NONE
Property display type: no property display.- See Also:
- Constant Field Values
-
LABEL
protected static final int LABEL
Property display type: display in label.- See Also:
- Constant Field Values
-
TEXT
protected static final int TEXT
Property display type: display in text.- See Also:
- Constant Field Values
-
HTML
protected static final int HTML
Property display type: display in html text.- See Also:
- Constant Field Values
-
WORD_SEPARATORS
protected static final String WORD_SEPARATORS
Word separators used to form multi-line text if the text is too long.- See Also:
- Constant Field Values
-
MAX_LINE_LENGTH
protected static final int MAX_LINE_LENGTH
Maximum desired line length used to form multi-line text.- See Also:
- Constant Field Values
-
parent
protected Component parent
The parent component.
-
title
protected String title
The result frame title.
-
icell
protected int icell
The viewer cell index (0 for sketcher).
-
displayInMarvinSpace
protected boolean displayInMarvinSpace
Display in MarvinSpace is enabled or not.
-
resultMolList
protected ArrayList resultMolList
The result molecules to be displayed.
-
resultValues
protected ArrayList resultValues
The result values to be displayed in MarvinSpace.
-
reactionArrow
protected DPoint3[] reactionArrow
The reaction arrow endpoints,null
if not a reaction.
-
-
Method Detail
-
setPlugin
@Deprecated public void setPlugin(CalculatorPlugin plugin)
Deprecated.usesetPluginChecked(CalculatorPlugin)
insteadSets the plugin.- Parameters:
plugin
- is the plugin
-
setPluginChecked
public void setPluginChecked(P plugin)
Sets the plugin.- Parameters:
plugin
- is the plugin
-
getPlugin
protected final P getPlugin()
Description copied from class:CalculatorPluginService
Returns the calculator plugin object.- Specified by:
getPlugin
in classCalculatorPluginService<P extends CalculatorPlugin>
- Returns:
- the calculator plugin object
-
setParent
public final void setParent(Component parent)
Sets the parent component.- Parameters:
parent
- is the parent component
-
setCellIndex
public final void setCellIndex(int icell)
Sets the viewer cell index.- Parameters:
icell
- is the viewer cell index
-
setParameters
public void setParameters(Properties params)
Sets parameters. The default implementation checks whether displaying in MarvinSpace is required and possible, descendant classes may fetch display parameters.- Parameters:
params
- is the parameter table
-
setTitle
public void setTitle(String title)
Sets the frame title.- Parameters:
title
- is the frame title
-
getTitle
public String getTitle()
Returns the frame title.- Returns:
- the frame title
-
setReactionArrow
public void setReactionArrow(DPoint3[] reactionArrow)
Sets the reaction arrow. If set then molecules stored bystore()
will be taken as reaction components. The nextclear()
resets this reaction mode.- Parameters:
reactionArrow
- is the reaction arrow endpoint array
-
getProgressMonitor
public MProgressMonitor getProgressMonitor(Component parent)
Creates a progress observer object to be used inCalculatorPlugin.setProgressMonitor(chemaxon.common.util.MProgressMonitor)
. Short calculations do not need this object. The default implementation returnsnull
, subclasses may returnMProgressMonitor
or any other progress monitor implemetingMProgressMonitor
.- Parameters:
parent
- is the parent component (centralize relative to)- Returns:
- a progress observer object
-
getParameterPanel
public final ParameterPanelHandler getParameterPanel() throws PluginException
Returns the parameter panel.- Returns:
- the parameter panel
- Throws:
PluginException
- on error
-
createParameterPanel
protected ParameterPanelHandler createParameterPanel() throws PluginException
Creates the parameter panel. The default implementation creates aParameterPanel
object from the<plugin class name>Parameters.xml
configuration XML read fromCalculatorPlugin.PLUGIN_DIR
with user parameter settings read from$HOME/chemaxon/<plugin class name>Parameters.properties
(Windows), or$HOME/.chemaxon/<plugin class name>Parameters.properties
(UNIX / Linux). Returnsnull
(no paramter panel for this plugin) if the configuration XML is not found.- Returns:
- the parameter panel
- Throws:
PluginException
- on error
-
isMultipleDisplay
public boolean isMultipleDisplay()
Returnstrue
if results for more molecules can be displayed in a single component,false
if each molecule should be displayed in a separate component. The default implementation returnstrue
.- Returns:
true
if results for more molecules can be displayed in a single component
-
pop
public void pop()
Clears the last stored item from the display. The default implemetation clears the top element inresultMolList
and resetsreactionArrow
.
-
clear
public void clear()
Clears the display. The default implemetation clearsresultMolList
and resetsreactionArrow
.
-
store
public void store() throws PluginException
Stores a new result item. The default implementation adds the current result molecule returned byCalculatorPlugin.getResultMolecule()
toresultMolList
.- Throws:
PluginException
-
getHResult
protected Object getHResult(int i) throws PluginException
Returns the sum result of the H neighbours of the given atom.- Parameters:
i
- index of the atom- Returns:
- result the result item for the specified index
- Throws:
PluginException
- Since:
- Marvin 4.1
-
getResultComponent
public Component getResultComponent() throws PluginException
Returns the result component for display. The default implementation places the molecules stored inresultMolList
in a viewer and displays molecular results (stored in molecule properties) in text fields.- Returns:
- the result component
- Throws:
PluginException
- on error- Since:
- Marvin 4.0
-
createResultView
protected chemaxon.marvin.plugin.gui.ResultView createResultView(String title, chemaxon.marvin.common.swing.MolPanel mpan) throws PluginException
- Throws:
PluginException
-
getErrorComponent
public Component getErrorComponent() throws PluginException
Returns a component with the appropriate error message. Relevant ifCalculatorPlugin.run()
, or equivalentlyCalculatorPlugin.isOK()
returnsfalse
.- Returns:
- the error component
- Throws:
PluginException
-
getRemark
public String getRemark() throws PluginException
Returns the calculation remark.- Returns:
- the calculation remark
- Throws:
PluginException
-
createViewPanel
protected chemaxon.marvin.view.swing.ViewPanel createViewPanel(Molecule[] mols) throws PluginException
Creates view panel with given molecules, places molecule properties in formatted texts. Fuses molecules if no properties to be displayed.- Parameters:
mols
- is the molecule array- Returns:
- the view panel
- Throws:
PluginException
-
createViewPanel
protected chemaxon.marvin.view.swing.ViewPanel createViewPanel(Molecule[] mols, int rows, int cols, int size, int propertyDisplayType)
Creates view panel with given molecules, places molecule properties in formatted texts.
-
getPropertyText
protected String getPropertyText(Molecule mol)
Returns molecule properties is text form.- Parameters:
mol
- is the molecule- Returns:
- molecule properties in text form
-
appendpHText
protected String appendpHText(String text)
Appends the pH text.- Parameters:
text
- is the text- Returns:
- the text + the pH text
-
isMSpaceDisplayLabelOnlyOnHeavyAtoms
protected boolean isMSpaceDisplayLabelOnlyOnHeavyAtoms()
Returns if mspace should display label only on heavy atoms.- Since:
- Marvin 5.4
-
getLabels
public final String[] getLabels(double[] values)
Returns formatted array.- Parameters:
values
- is the numerical array- Returns:
- the formatted array
-
getTableText
protected final String getTableText(String header, String[] labels, double[][] values)
Returns table in string form.- Parameters:
header
- is the header (the first char is the separator)labels
- is the first columnvalues
- is the value column array
-
createSpacePanel
protected Component createSpacePanel(Molecule[] mols) throws PluginException
Creates space panel with given molecules, creates colored surface to each molecule.- Parameters:
mols
- is the molecule array- Returns:
- the space panel
- Throws:
PluginException
- Since:
- Marvin 4.1
-
-