Class ListingTextField

    • Method Detail

      • createSingleLineTextField

        public static ListingTextField createSingleLineTextField​(FieldFactory factory,
                                                                 ProxyObj proxy,
                                                                 FieldElement fieldElement,
                                                                 int startX,
                                                                 int width,
                                                                 HighlightProvider provider)
        Creates a new ListingTextField that displays the text on a single line, clipping as needed.
        Parameters:
        factory - the field factory that generated this field
        proxy - the object used to populate this field
        fieldElement - the individual element within the field. This holds text, attributes and location information.
        startX - the starting X position of the field
        width - the width of the field
        provider - the highlight provider.
      • createWordWrappedTextField

        public static ListingTextField createWordWrappedTextField​(FieldFactory factory,
                                                                  ProxyObj proxy,
                                                                  FieldElement fieldElement,
                                                                  int startX,
                                                                  int width,
                                                                  int maxLines,
                                                                  HighlightProvider provider)
        Displays the given text, word-wrapping as needed to avoid clipping (up to the max number of lines.)
        Parameters:
        factory - the field factory that generated this field
        proxy - the object used to populate this field
        fieldElement - the individual element within the field. This holds text, attributes and location information.
        startX - the starting X position of the field
        width - the width of the field
        maxLines - the maxLines to display.
        provider - the highlight provider.
      • createPackedTextField

        public static ListingTextField createPackedTextField​(FieldFactory factory,
                                                             ProxyObj proxy,
                                                             FieldElement[] textElements,
                                                             int startX,
                                                             int width,
                                                             int maxLines,
                                                             HighlightProvider provider)
        Displays the list of text strings, packing as many as it can on a line before wrapping to the next line.
        Parameters:
        factory - the field factory that generated this field
        proxy - the object used to populate this field
        textElements - the array of elements for the field. Each of these holds text, attributes and location information.
        startX - the starting X position of the field
        width - the width of the field
        maxLines - the maxLines to display.
        provider - the highlight provider.
      • createMultilineTextField

        public static ListingTextField createMultilineTextField​(FieldFactory factory,
                                                                ProxyObj proxy,
                                                                FieldElement[] textElements,
                                                                int startX,
                                                                int width,
                                                                int maxLines,
                                                                HighlightProvider provider)
        Displays the given array of text, each on its own line.
        Parameters:
        factory - the field factory that generated this field
        proxy - the object used to populate this field
        textElements - the array of elements for the field. Each of these holds text, attributes and location information.
        startX - the starting X position of the field
        width - the widht of the field
        maxLines - the maxLines to display.
        provider - the highlight provider
      • dataToScreenLocation

        public RowColLocation dataToScreenLocation​(int dataRow,
                                                   int dataColumn)
        Description copied from interface: TextField
        Translates a data row and column into a screen row and column.
        Specified by:
        dataToScreenLocation in interface TextField
        Parameters:
        dataRow - row as defined by the factory
        dataColumn - the character offset into the dataRow
        Returns:
        row and column in the screen coordinate system.
        See Also:
        TextField.dataToScreenLocation(int, int)
      • screenToDataLocation

        public RowColLocation screenToDataLocation​(int screenRow,
                                                   int screenColumn)
        Description copied from interface: TextField
        Translates a screen coordinate to a row and column in the data from the factory
        Specified by:
        screenToDataLocation in interface TextField
        Parameters:
        screenRow - the row in the displayed field text.
        screenColumn - the column in the displayed field text.
        Returns:
        a RowColLocation containing the row and column within the data from the factory.
        See Also:
        TextField.screenToDataLocation(int, int)
      • getWidth

        public int getWidth()
        Description copied from interface: Field
        Returns the current width of this field.
        Specified by:
        getWidth in interface Field
        See Also:
        Field.getWidth()
      • getPreferredWidth

        public int getPreferredWidth()
        Description copied from interface: Field
        The minimum required width to paint the contents of this field
        Specified by:
        getPreferredWidth in interface Field
        Returns:
        the minimum required width to paint the contents of this field
      • getHeight

        public int getHeight()
        Description copied from interface: Field
        Returns the height of this field when populated with the given data.
        Specified by:
        getHeight in interface Field
        See Also:
        Field.getHeight()
      • getStartX

        public int getStartX()
        Description copied from interface: Field
        Returns the horizontal position of this field.
        Specified by:
        getStartX in interface Field
        See Also:
        Field.getStartX()
      • paint

        public void paint​(javax.swing.JComponent c,
                          java.awt.Graphics g,
                          PaintContext context,
                          FieldBackgroundColorManager map,
                          RowColLocation cursorLoc,
                          int rowHeight)
        Description copied from interface: Field
        Paints this field.
        Specified by:
        paint in interface Field
        g - the graphics context.
        context - common paint parameters
        map - contains background color information for the field.
        cursorLoc - the row,column cursor location within the field or null if the field does not contain the cursor
        See Also:
        docking.widgets.fieldpanel.field.Field#paint(java.awt.Graphics, docking.widgets.fieldpanel.internal.PaintContext, boolean, docking.widgets.fieldpanel.support.RowColLocation)
      • contains

        public boolean contains​(int x,
                                int y)
        Description copied from interface: Field
        Returns true if the given point is in this field.
        Specified by:
        contains in interface Field
        Parameters:
        x - the horizontal coordinate of the point.
        y - the relatve y position in this layout
        See Also:
        Field.contains(int, int)
      • getNumRows

        public int getNumRows()
        Description copied from interface: Field
        Returns the number of rows in this field
        Specified by:
        getNumRows in interface Field
        See Also:
        Field.getNumRows()
      • getNumCols

        public int getNumCols​(int row)
        Description copied from interface: Field
        Returns the number of columns in the given row.
        Specified by:
        getNumCols in interface Field
        Parameters:
        row - the row from which to get the number of columns.
        See Also:
        Field.getNumCols(int)
      • getX

        public int getX​(int row,
                        int col)
        Description copied from interface: Field
        Returns the x coordinate for the given cursor position.
        Specified by:
        getX in interface Field
        Parameters:
        row - the text row of interest.
        col - the character column.
        See Also:
        Field.getX(int, int)
      • getY

        public int getY​(int row)
        Description copied from interface: Field
        Returns the y coordinate for the given row.
        Specified by:
        getY in interface Field
        Parameters:
        row - the text row of interest.
        See Also:
        Field.getY(int)
      • getRow

        public int getRow​(int y)
        Description copied from interface: Field
        Returns the row containing the given y coordinate.
        Specified by:
        getRow in interface Field
        Parameters:
        y - vertical pixel coordinate relative to the top of the screen.
        See Also:
        Field.getRow(int)
      • getCol

        public int getCol​(int row,
                          int x)
        Description copied from interface: Field
        Returns the cursor column position for the given x coordinate on the given row.
        Specified by:
        getCol in interface Field
        Parameters:
        row - the text row to find the column on.
        x - the horizontal pixel coordinate for which to find the character position.
        See Also:
        Field.getCol(int, int)
      • isValid

        public boolean isValid​(int row,
                               int col)
        Description copied from interface: Field
        Returns true if the given row and column represent a valid location for this field with the given data;
        Specified by:
        isValid in interface Field
        Parameters:
        row - the text row.
        col - the character position.
        See Also:
        Field.isValid(int, int)
      • getCursorBounds

        public java.awt.Rectangle getCursorBounds​(int row,
                                                  int col)
        Description copied from interface: Field
        Returns a bounding rectangle for the cursor at the given position.
        Specified by:
        getCursorBounds in interface Field
        Parameters:
        row - the text row.
        col - the character postion.
        See Also:
        Field.getCursorBounds(int, int)
      • getScrollableUnitIncrement

        public int getScrollableUnitIncrement​(int topOfScreen,
                                              int direction,
                                              int max)
        Description copied from interface: Field
        Returns the amount to scroll to the next or previous line
        Specified by:
        getScrollableUnitIncrement in interface Field
        Parameters:
        topOfScreen - - the current y pos of the top of the screen.
        direction - - the direction of the scroll (1 down, -1 up)
        max - - the maximum amount to scroll for the entire row - will be positive for down, and negative for up)
        See Also:
        Field.getScrollableUnitIncrement(int, int, int)
      • isPrimary

        public boolean isPrimary()
        Description copied from interface: Field
        Returns true if this field is "primary" (the most important) field; used to determine the "primary" line in the layout.
        Specified by:
        isPrimary in interface Field
        See Also:
        Field.isPrimary()
      • rowHeightChanged

        public void rowHeightChanged​(int heightAbove,
                                     int heightBelow)
        Description copied from interface: Field
        notifies field that the rowHeight changed
        Specified by:
        rowHeightChanged in interface Field
        Parameters:
        heightAbove - the height above the baseline
        heightBelow - the height below the baseline.
        See Also:
        Field.rowHeightChanged(int, int)
      • getText

        public java.lang.String getText()
        Description copied from interface: Field
        Returns a string containing all the text in the field.
        Specified by:
        getText in interface Field
        See Also:
        Field.getText()
      • getTextWithLineSeparators

        public java.lang.String getTextWithLineSeparators()
        Description copied from interface: Field
        Returns a string containing all the text in the field with extra linefeeds
        Specified by:
        getTextWithLineSeparators in interface Field
        Returns:
      • textOffsetToScreenLocation

        public RowColLocation textOffsetToScreenLocation​(int textOffset)
        Description copied from interface: Field
        Returns the row, column position for an offset into the string returned by getText().
        Specified by:
        textOffsetToScreenLocation in interface Field
        Parameters:
        textOffset - the offset into the entire text string for this field.
        Returns:
        a RowColLocation that contains the row,column location in the field for a position in the overall field text.
        See Also:
        Field.textOffsetToScreenLocation(int)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • getFieldElement

        public FieldElement getFieldElement​(int screenRow,
                                            int screenColumn)
        Description copied from interface: TextField
        Returns the FieldElement at the given screen location.
        Specified by:
        getFieldElement in interface TextField
        Parameters:
        screenRow - the row on the screen
        screenColumn - the column on the screen
        Returns:
        the FieldElement at the given screen location.