Class CalculatorPluginDisplay<P extends CalculatorPlugin>

  • 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 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.
    • Constructor Detail

      • CalculatorPluginDisplay

        public CalculatorPluginDisplay()
    • Method Detail

      • setPluginChecked

        public void setPluginChecked​(P plugin)
        Sets the plugin.
        Parameters:
        plugin - is the plugin
      • 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 by store() will be taken as reaction components. The next clear() resets this reaction mode.
        Parameters:
        reactionArrow - is the reaction arrow endpoint array
      • createParameterPanel

        protected ParameterPanelHandler createParameterPanel()
                                                      throws PluginException
        Creates the parameter panel. The default implementation creates a ParameterPanel object from the <plugin class name>Parameters.xml configuration XML read from CalculatorPlugin.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). Returns null (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()
        Returns true 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 returns true.
        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 in resultMolList and resets reactionArrow.
      • 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 in resultMolList 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
      • 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.
        Parameters:
        mols - is the molecule array
        rows - the number of visible rows
        cols - the number of columns
        propertyDisplayType - is TEXT, LABEL, HTML or NONE
        Returns:
        the view panel
      • 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 column
        values - 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