Class DataSgroup

    • Constructor Detail

      • DataSgroup

        public DataSgroup​(Molecule parent)
        Creates a Data S-group with the specified parent. Please note the S-group is not added automatically to the parent molecule.
        Parameters:
        parent - the parent molecule
        See Also:
        Molecule.addSgroup(Sgroup, boolean)
      • DataSgroup

        public DataSgroup​(DataSgroup sg,
                          Molecule mol,
                          Sgroup psg,
                          int[] atomIndexMap)
        Copy constructor.
        Parameters:
        sg - the S-group to copy
        mol - the new parent molecule
        psg - the new parent S-group or null if no parent S-group exists
        atomIndexMap - indices of cloned atoms in the original molecule in the case of partial cloning, or null otherwise
        Since:
        Marvin 5.3.3 30/03/2010
      • DataSgroup

        public DataSgroup​(DataSgroup sg,
                          Molecule mol,
                          Sgroup psg)
        Copy constructor.
        Parameters:
        sg - the S-group to copy
        mol - the new parent molecule
        psg - the new parent S-group or null
        Since:
        Marvin 4.0 1/08/2005
    • Method Detail

      • cloneSgroup

        protected Sgroup cloneSgroup​(Molecule mol,
                                     Sgroup psg,
                                     int[] atomIndexMap)
        Gets a new DataSgroup instance.
        Overrides:
        cloneSgroup in class Sgroup
        Parameters:
        mol - the new parent molecule
        psg - the new parent S-group
        atomIndexMap - indices of cloned atoms in the original molecule or null
        Returns:
        the new object
      • getContext

        public String getContext()
        Gets the context of the data sgroup. Possible context values: Atom, Bond, Single Bond, Double Bond, Fragment, Group (Selection)
        Returns:
        the context of this DataSgroup
      • setContext

        public void setContext​(String context)
        Sets the context of this data sgroup. Context play role when displaying the data for this DataSgroup. Possible context values and their meaning: Atom - the data sgroup information should be displayed for any atom in this group separately. Bond - the data sgroup information should be displayed for any bond in this group separately. Single Bond - the data sgroup information should be displayed for any single bond in this group separately. Double Bond - the data sgroup information should be displayed for any double bond in this group separately. Fragment - the data sgroup information should be displayed for any disconnected molecule fragment in this group separately. Group (Selection) - the data sgroup information should be displayed for the whole group once.
        Parameters:
        context - - the string representation of the context.
      • getContextId

        public int getContextId()
        Gets the id of the context of the data sgroup. Ids and the corresponding context values: 0 - Atom 1 - Bond 2 - Single Bond 3 - Double Bond 4 - Fragment 5 - Group (Selection)
        Returns:
        the id of the context of this DataSgroup
      • setContext

        public void setContext​(int id)
        Sets the context of this data sgroup.
        Parameters:
        id - - the id of the context.
        See Also:
        setContext(String), getContextId()
      • getFieldName

        public String getFieldName()
        Gets the data field name. (V2000: the first 30 chars can only be exported.)
        Returns:
        The data field identifier.
      • setFieldName

        public void setFieldName​(String nameP)
        Sets the data field name. (V2000: the first 30 chars can only be exported.)
        Parameters:
        nameP - The data field identifier.
      • getUnits

        public String getUnits()
        Gets the unit of this data field. (V2000: The first 20 characters can only be exported.)
        Returns:
        The unit of the data, e.g. "A^2" or "kJ/cm3"
      • setUnits

        public void setUnits​(String unitsP)
        Sets the unit of this data field. (V2000: The first 20 characters can only be exported.)
        Parameters:
        unitsP - The units of the data attached, e.g. "A^2" or "kJ/cm3"
      • getQueryCode

        public String getQueryCode()
        Gets the program code of the query option.
        • mQ = marvin query
        • MQ = MACCS-II query
        • IQ = ISIS query
        • <P>Q = program name code query
        Returns:
        the string identifying a program for the query option.
      • setQueryCode

        public void setQueryCode​(String queryCodeP)
        Sets the program code for the query option.
        Parameters:
        queryCodeP - the string identifying a program for the query option. mQ = marvin query, MQ = MACCS-II query, IQ = ISIS query, <P>Q = program name code query
      • getQueryOp

        public String getQueryOp()
        Gets the data query operator.
        Returns:
        One of the following: "<", ">", "<=", ">=", "<>", "between", "like", "contains", "=" or null if not set.
      • setQueryOp

        public void setQueryOp​(String queryOpP)
        Sets the data query operator.
        Parameters:
        queryOpP - One of the following: "<", ">", "<=", ">=", "<>", "between", "like", "contains", "=" or null if not set.
      • getX

        public double getX()
        Gets the X coordinate. This is the label coordinate in case of absolute placement, translation vector coordinate in case of relative placement.
        Returns:
        The X coordinate in Angstroms.
      • setX

        public void setX​(double x)
        Sets the X coordinate. This is the label coordinate in case of absolute placement, translation vector coordinate in case of relative placement.
        Parameters:
        x - The X coordinate in Angstroms.
      • getY

        public double getY()
        Gets the Y coordinate. This is the label coordinate in case of absolute placement, translation vector coordinate in case of relative placement.
        Returns:
        The Y coordinate in Angstroms.
      • setY

        public void setY​(double y)
        Sets the Y coordinate. This is the label coordinate in case of absolute placement, translation vector coordinate in case of relative placement.
        Parameters:
        y - The Y coordinate in Angstroms.
      • setAbsoluteXY

        public void setAbsoluteXY​(DPoint3 p)
        Sets the X and Y coordinates of the data label in the molecule's coordinate system, considering absolute/relative placement.
        Parameters:
        p - the absolute coordinates.
        See Also:
        getX(), getY(), isAbsolutePlacement()
      • setAbsoluteXY

        public void setAbsoluteXY​(double x,
                                  double y)
        Sets the X and Y coordinates of the data label in the molecule's coordinate system, considering absolute/relative placement.
        Parameters:
        x - X absolute coordinate.
        y - Y absolute coordinate.
        See Also:
        getX(), getY(), isAbsolutePlacement()
      • getAbsoluteXY

        public DPoint3 getAbsoluteXY()
        Gets the X and Y coordinates of the data label in the molecule's coordinate system, considering absolute/relative placement.
        Returns:
        the absolute coordinates.
        See Also:
        getX(), getY(), isAbsolutePlacement()
      • getPlacementOrigin

        public void getPlacementOrigin​(DPoint3 p)
        If isAbsolutePlacement is false it calculates the middle point of the coordinates of atoms this S-group is associated to. The top right reference point of the parent S-group's bracket is used in the case of empty S-groups as placement of origin. Otherwise it returns an all-zero vector.
        Parameters:
        p - This point will contain the calculated X and Y coordinates.
        See Also:
        getObjectsMiddle(chemaxon.struc.DPoint3)
      • getObjectsMiddle

        public void getObjectsMiddle​(DPoint3 p)
        Calculates the middle point of the coordinates of objects this sgroup is associated to.
        Parameters:
        p - This point will contain the calculated X and Y coordinates.
      • isDataDetached

        public boolean isDataDetached()
        Gets whether the data should be displayed close to the objects or separately (detached).
        Returns:
        True if the data is detached.
      • setDataDetached

        public void setDataDetached​(boolean b)
        Sets whether the data should be displayed close to the objects or separately (detached).
        Parameters:
        b - true if the data is detached.
      • isUnitDisplayed

        public boolean isUnitDisplayed()
        Gets whether the units string should be displayed.
        Returns:
        True if the units string is displayed.
      • setUnitDisplayed

        public void setUnitDisplayed​(boolean b)
        Sets whether the units string should be displayed. (Default is false.)
        Parameters:
        b - True if the units string should be displayed.
      • isAbsolutePlacement

        public boolean isAbsolutePlacement()
        Gets whether the placement of this attached data is absolute or relative to the objects it is attached.
        Returns:
        true when getX() and getY() coordinates refer to absolute placement.
      • setAbsolutePlacement

        public void setAbsolutePlacement​(boolean isAbsolute)
        Sets whether the placement of this attached data is absolute or relative to the objects it is attached. It does not modifies the coordinates, just changes the interpretation.
        Parameters:
        isAbsolute - true when getX() and getY() coordinates should refer to absolute placement.
      • getDisplayedChars

        public int getDisplayedChars()
        Gets the number of characters to be displayed(1...999 or 0 for all)
        Returns:
        Gets the number of characters to display per line
      • setDisplayedChars

        public void setDisplayedChars​(int chars)
        Sets the number of characters to be displayed (1...999 or 0 for no restriction)
        Parameters:
        chars - the number of characters to display per line
      • getDisplayedLines

        public int getDisplayedLines()
        Gets the number of lines to be displayed (0: show all)
        Returns:
        The number of lines to be displayed.
      • setDisplayedLines

        public void setDisplayedLines​(int lines)
        Sets the number of lines to be displayed (0: show all)
        Parameters:
        lines - The number of lines to be displayed. 0 means to show all, -1 hides the data, and -2(HIDDEN) hides bracket highlighting as well.
        See Also:
        HIDDEN
      • getTag

        public char getTag()
        Gets the tag character for footnote display (or space if blank).
        Returns:
        The caracter to use in the footnote for the attached data.
      • setTag

        public void setTag​(char c)
        Sets the tag character for the footnote display.
        Parameters:
        c - The character to use in the footnote or space to clear.
      • getPos

        public int getPos()
        Gets the data display DASP position (0...9). (MACCS)
        Returns:
        The above position number (1-9 or 0 if not set.)
      • setPos

        public void setPos​(int p)
        Sets the data display DASP position (0...9). (MACCS)
        Parameters:
        p - The position number to be set (1-9) or 0 if not set.
      • getData

        public String getData()
        Gets the data value to be set. Can be multiline: '\n' characters separate lines.
        Returns:
        The value of the attached data.
      • setData

        public void setData​(String s)
        Sets the data value to be set.
        Parameters:
        s - The value of the attached data. Can be multiline: '\n' characters separate lines.
      • getDataLineCount

        public int getDataLineCount()
        Gets the number of data lines.
      • getDataLine

        public String getDataLine​(int i)
        Gets a line of data.
        Parameters:
        i - line index
      • setDataLine

        public void setDataLine​(int i,
                                String line)
        Sets a line of data.
        Parameters:
        i - line index
      • addDataLine

        public void addDataLine​(String line)
        Adds a line to the data stored in the field.
        Parameters:
        line - Next line to add.
      • getLineOnScreen

        public String getLineOnScreen​(int i)
        Returns the i-th row of the data sgroup label, as displayed on the screen (with tag, query operator, units etc.)
        Parameters:
        i - number of line
      • hasBrackets

        public boolean hasBrackets()
        Brackets are painted if mouse runs over sgroup atoms.
        Overrides:
        hasBrackets in class Sgroup
        Returns:
        always true in the default implementation
      • getSubscript

        public String getSubscript()
        Gets the subscript for non-superatom S-groups.
        Overrides:
        getSubscript in class Sgroup
        Returns:
        the subscript