Class MTextBox

    • Field Detail

      • ALIGN_LEFT

        public static final int ALIGN_LEFT
        Align text to left edge of box.
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        Constant Field Values
      • ALIGN_CENTER

        public static final int ALIGN_CENTER
        Align text to center of box.
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        Constant Field Values
      • ALIGN_RIGHT

        public static final int ALIGN_RIGHT
        Align text to right edge of box.
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        Constant Field Values
      • ALIGN_TOP

        public static final int ALIGN_TOP
        Align text to top of box.
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        Constant Field Values
      • ALIGN_BOTTOM

        public static final int ALIGN_BOTTOM
        Align text to bottom of box.
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        Constant Field Values
    • Constructor Detail

      • MTextBox

        public MTextBox()
        Contructs an empty text box.
      • MTextBox

        protected MTextBox​(MTextBox t)
        Copy constructor.
        Parameters:
        t - the original text box
    • Method Detail

      • getActionMap

        public ActionMap getActionMap()
        Returns the ActionMap used to determine what Action to fire for particular KeyStroke binding. The returned ActionMap, unless otherwise set, will be null.
        Returns:
        the ActionMap containing the key/action bindings
        Since:
        Marvin 5.0.2
      • setActionMap

        public void setActionMap​(ActionMap map)
        Sets the ActionMap to map. This does not set the parent of the map, it is up to the caller to have done this.
        Parameters:
        map - the new ActionMap
        Since:
        Marvin 5.0.2
      • getTextDocument

        public MTextDocument getTextDocument()
        Gets the text document.
        Returns:
        the text
        Since:
        Marvin 4.1, 09/30/2005
      • getText

        public String getText()
        Gets the text stored.
        Returns:
        the text
      • setText

        public void setText​(String s)
        Sets the text.
        Parameters:
        s - the text
        Since:
        Marvin 3.5, 07/14/2004
      • isEditable

        public boolean isEditable()
        Determines if this text box's content can be edited by the user.
        Returns:
        true if the content can be edited, false otherwise
        Since:
        Marvin 5.3
      • getBaseFont

        public final MFont getBaseFont()
        Gets the base font.
        Returns:
        the base font
        Since:
        Marvin 4.1, 11/11/2005
      • getBaseFontFamily

        public final String getBaseFontFamily()
        Gets the base font family.
        Returns:
        the font family name
        Since:
        Marvin 4.1, 11/11/2005
      • setBaseFontFamily

        public final void setBaseFontFamily​(String name)
        Sets the base font family.
        Parameters:
        name - the font family name
        Since:
        Marvin 4.1, 11/11/2005
      • getBaseFontStyle

        public final int getBaseFontStyle()
        Gets the base font style.
        Returns:
        the font style
        Since:
        Marvin 4.1, 11/11/2005
      • setBaseFontStyle

        public final void setBaseFontStyle​(int style)
        Sets the base font style.
        Parameters:
        style - the font style
        Since:
        Marvin 4.1, 11/11/2005
      • getFontScale

        public final double getFontScale()
        Gets the font scaling factor.
        Returns:
        the font scale
        Since:
        Marvin 4.1, 11/11/2005
      • setFontScale

        public final void setFontScale​(double scale)
        Sets the font scaling factor.
        Parameters:
        scale - the font scale
        Since:
        Marvin 4.1, 11/11/2005
      • getHorizontalAlignment

        public final int getHorizontalAlignment()
        Gets the horizontal alignment. (The "halign" property.)
        Returns:
        the horizontal alignment
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER
      • setHorizontalAlignment

        public final void setHorizontalAlignment​(int align)
        Sets the horizontal alignment. (The "halign" property.)
        Parameters:
        align - the horizontal alignment
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        ALIGN_LEFT, ALIGN_RIGHT, ALIGN_CENTER
      • getVerticalAlignment

        public final int getVerticalAlignment()
        Gets the vertical alignment. (The "valign" property.)
        Returns:
        the vertical alignment
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        ALIGN_TOP, ALIGN_BOTTOM, ALIGN_CENTER
      • setVerticalAlignment

        public final void setVerticalAlignment​(int align)
        Sets the vertical alignment. (The "valign" property.)
        Parameters:
        align - the vertical alignment
        Since:
        Marvin 5.0, 02/13/2007
        See Also:
        ALIGN_TOP, ALIGN_BOTTOM, ALIGN_CENTER
      • getLineCount

        public int getLineCount()
        Gets the number of lines. This method can only be called after the text is wrapped.
        Returns:
        wrapped number of lines
      • getLine

        public MTextDocument.Portion getLine​(int i)
        Gets a line. This method can only be called after the text is wrapped.
        Parameters:
        i - line index
        Returns:
        selected line
      • clearLines

        public void clearLines()
        Clears all lines.
      • setAutoSize

        public void setAutoSize​(boolean v)
        Turns on/off automatic size calculation.
        Parameters:
        v - turn on (true) or off (false)
      • isAutoSize

        public boolean isAutoSize()
      • isEmpty

        public boolean isEmpty()
        A text box is empty if the string contains only whitespace.
        Overrides:
        isEmpty in class MPolyline
        Returns:
        true if empty, false otherwise
      • hasRichText

        public boolean hasRichText()
        Tests whether the document is rich text.
        Returns:
        true if the text is rich, false otherwise
        Since:
        Marvin 4.1, 11/11/2005
      • addAttributeKeys

        public void addAttributeKeys​(List<String> l)
        Adds the attribute names to the specified list. CDATA attributes are not added.
        Overrides:
        addAttributeKeys in class MRectangle
        Parameters:
        l - the list
      • addCdataAttributeKeys

        public void addCdataAttributeKeys​(List<String> l)
        Adds attribute names to the specified list. Only CDATA attributes are added.
        Overrides:
        addCdataAttributeKeys in class MObject
        Parameters:
        l - the list
      • getAttribute

        public String getAttribute​(String s)
        Gets the value of an attribute.
        Supported attributes:
        • cursorPosition: the position of the cursor in the text box
        • text: the content of the text box
        Overrides:
        getAttribute in class MRectangle
        Parameters:
        s - the attribute name
        Returns:
        the value or null
      • setAttribute

        public void setAttribute​(String s,
                                 String v)
        Sets the value of an attribute.
        Supported attributes:
        • cursorPosition: the position of the cursor in the text box
        • text: the content of the text box
        Overrides:
        setAttribute in class MRectangle
        Parameters:
        s - the attribute name
        v - the attribute value
      • hasSelection

        public boolean hasSelection()
        Checks the existence of the selection.
        Returns:
        true if selection exists, false otherwise
      • getSelectedString

        public String getSelectedString()
        Gets the selected substring.
        Returns:
        the selection if it exists, null otherwise
      • getSelectedDocument

        public MTextDocument getSelectedDocument()
      • deleteCharBackward

        public void deleteCharBackward()
        Removes the character before the cursor (backspace).
      • deleteChar

        public void deleteChar()
        Removes the character under the cursor.
      • addChar

        public void addChar​(char c)
        Adds a character to the text.
        Parameters:
        c - the character
      • addString

        public void addString​(String s)
        Adds a string to the text.
        Parameters:
        s - the string
      • insertDocument

        public void insertDocument​(MTextDocument document)
        Inserts document at the current cursor position. Style of the source is preserved.
      • getCursorPos

        public int getCursorPos()
        Gets the cursor position.
        Returns:
        the position
      • setCursorPos

        public void setCursorPos​(int i,
                                 boolean select)
        Sets the cursor position.
        Parameters:
        i - the new position
        select - select text while moving the cursor
      • getPreviousNormalTextSectionIndex

        public final int getPreviousNormalTextSectionIndex()
        Gets the index of the last `normal' text section before the current subscript/superscript section. `Normal' means that the absolute value of the subscript/superscript level must be smaller than in the current cursor position.
        Returns:
        the section index or -1
        Since:
        Marvin 4.1, 10/08/2005
      • getCurrentSubLevel

        public final int getCurrentSubLevel()
        Gets the current subscript/superscript level.
        Returns:
        the attributes
        Since:
        Marvin 4.1, 10/08/2005
      • getCurrentScriptCount

        public final int getCurrentScriptCount​(int subl)
        Gets the number of subscripts or superscripts on the last normal character.
        Parameters:
        subl - the script level to query, +1 (superscript) or -1 (subscript)
        Returns:
        the number of subscripts or superscripts
        Since:
        Marvin 4.1, 02/25/2006
      • getTextAttributesAtCursor

        public final MTextAttributes getTextAttributesAtCursor()
        Gets the common attributes of the text on the cursor.
        Returns:
        the attributes
      • isCurrentFontDefault

        public final boolean isCurrentFontDefault()
        Tests whether the default font is used.
        Returns:
        true if only the default font is used, false otherwise
        Since:
        Marvin 4.1, 01/11/2006
      • isCurrentFontRegular

        public final boolean isCurrentFontRegular()
        Tests whether the current font is regular.
        Returns:
        true if the font is regular, false otherwise
        Since:
        Marvin 4.1, 01/11/2006
      • getCurrentForeground

        public final Color getCurrentForeground()
        Gets the current color.
        Returns:
        the color
        Since:
        Marvin 4.1, 01/18/2006
      • setCurrentForeground

        public final void setCurrentForeground​(Color c)
        Sets color for selected text or the next character to be typed.
        Parameters:
        c - the color
        Since:
        Marvin 4.1, 10/08/2005
      • cursorUp

        public void cursorUp​(boolean select)
        Moves the cursor up.
        Parameters:
        select - select text while moving the cursor
      • cursorDown

        public void cursorDown​(boolean select)
        Move the cursor down.
        Parameters:
        select - select text while moving the cursor
      • cursorRight

        public void cursorRight​(boolean select)
      • cursorLeft

        public void cursorLeft​(boolean select)
      • cursorToRowStart

        public void cursorToRowStart​(boolean select)
      • cursorToRowEnd

        public void cursorToRowEnd​(boolean select)
      • getSelectionStartPos

        public int getSelectionStartPos()
        Gets the selection's start position.
        Returns:
        the start index
      • getSelectionEndPos

        public int getSelectionEndPos()
        Gets the selection's end position.
        Returns:
        the end index
      • getSelectionStartRow

        public int getSelectionStartRow()
        Gets the selection's start row number.
        Returns:
        the start index
      • getSelectionEndRow

        public int getSelectionEndRow()
        Gets the selection's end row number.
        Returns:
        the end index
      • getSelectionStartColumn

        public int getSelectionStartColumn()
        Gets the selection's start column number.
        Returns:
        the start index
      • getSelectionEndColumn

        public int getSelectionEndColumn()
        Gets the selection's end column number.
        Returns:
        the end index
      • setCursorRow

        public void setCursorRow​(int i)
        Sets the cursor row number.
        Parameters:
        i - the row number
      • getCursorRow

        public int getCursorRow()
        Gets the cursor's row number.
        Returns:
        the row number
      • getCursorColumn

        public int getCursorColumn()
        Gets the cursor's column number.
        Returns:
        the start index
      • setCurrentWidth

        public void setCurrentWidth​(double w)
        Sets the current height of the text..
        Parameters:
        w - the width
      • getCurrentWidth

        public double getCurrentWidth()
        Gets the current width of the text.
        Returns:
        the width
      • setCurrentHeight

        public void setCurrentHeight​(double h)
        Sets the current height of the text..
        Parameters:
        h - the height
      • getCurrentHeight

        public double getCurrentHeight()
        Gets the current height of the text.
        Returns:
        the height
      • setAutoHeight

        public void setAutoHeight​(boolean v)
        Turns on/off automatic height calculation.
        Parameters:
        v - turn on (true) or off (false)
      • isAutoHeight

        public boolean isAutoHeight()
        Gets if it is autoHeight.
        Returns:
        true if aoutoHeight
      • setMinimumHeight

        public void setMinimumHeight​(double h)
        Sets the minimum height of the text..
        Parameters:
        h - the height
      • getMinimumHeight

        public double getMinimumHeight()
        Gets the minimum height of the text.
        Returns:
        the height
      • setMinimumHeightSet

        public void setMinimumHeightSet​(boolean v)
        Turns on/off minimum height calculation.
        Parameters:
        v - turn on (true) or off (false)
      • isMinimumHeightSet

        public boolean isMinimumHeightSet()
        Gets if it is minimumHeightSet.
        Returns:
        true if minimumHeightSet
      • setCurrentDefaultFontMetrics

        public void setCurrentDefaultFontMetrics​(FontMetrics fm)
        Sets the current height of the text..
        Parameters:
        fm - the fontMetrics
      • getCurrentDefaultFontMetrics

        public FontMetrics getCurrentDefaultFontMetrics()
        Gets the current default FontMetrics.
        Returns:
        the fontMetrics
      • setPoints

        public void setPoints​(MPoint[] p)
        Sets the points.
        Overrides:
        setPoints in class MPolyline
        Parameters:
        p - the points
      • hasColor

        public boolean hasColor()
        A text box has a text color.
        Overrides:
        hasColor in class MPolyline
        Returns:
        true
      • hasBackground

        public boolean hasBackground()
        A text box has a background always.
        Overrides:
        hasBackground in class MPolyline
        Returns:
        true if closed
      • hasFace

        public boolean hasFace()
        Is it 2 dimensional?
        Overrides:
        hasFace in class MPolyline
        Returns:
        true always
      • transform

        public void transform​(CTransform3D t,
                              int opts,
                              CTransform3D trot)
        Transforms all points and scales the font size.
        Overrides:
        transform in class MRectangle
        Parameters:
        t - the transformation matrix
        opts - transform options or 0
        trot - the viewing transformation or null
        Since:
        Marvin 4.1, 04/28/2006
        See Also:
        MObject.TRANSFORM_DISTORT
      • wrapTextAndSetActualPoints

        public void wrapTextAndSetActualPoints​(CTransform3D transform,
                                               double scale)
      • setSelected

        public void setSelected​(boolean v)
        Selects or unselects the text box.
        Overrides:
        setSelected in class MObject
        Parameters:
        v - true to select, false to unselect
      • setRowAndColumn0

        public void setRowAndColumn0​(int i)
      • determinePosition

        @Deprecated
        public int determinePosition​(DPoint3 p,
                                     boolean allowExternalPoints)
        Deprecated.
        use determinePosition(Graphics, DPoint3, boolean) in case you have a special graphics context to be used for font calculations.
        Determines the character index based on the passed view coordinate.
        Parameters:
        p - view coordinate
        allowExternalPoints - is set to true to allow external points (outside of this text box) to be checked.
        Returns:
        character index
      • determinePosition

        public int determinePosition​(Graphics g,
                                     DPoint3 p,
                                     boolean allowExternalPoints)
        Determines the character index based on the passed view coordinate. This method also takes the passed graphics context into account.
        Parameters:
        p - view coordinate
        allowExternalPoints - is set to true to allow external points (outside of this text box) to be checked.
        Returns:
        character index
      • getPreBreakingChars

        public String getPreBreakingChars()
        Gets the breaking characters before that the text in the text box can be broken if it doesn't fit into the text box.
        Returns:
        the string that contains the breaking characters.
      • getBreakingChars

        public String getBreakingChars()
        Gets the breaking characters after that the text in the text box can be broken if it doesn't fit into the text box.
        Returns:
        the string that contains the breaking characters.