Class GridHandle

  • All Implemented Interfaces:
    IReportItemMethodContext, org.eclipse.birt.report.model.elements.interfaces.IDesignElementModel, org.eclipse.birt.report.model.elements.interfaces.IGridItemModel, org.eclipse.birt.report.model.elements.interfaces.IInternalReportItemModel, org.eclipse.birt.report.model.elements.interfaces.IReportItemModel, org.eclipse.birt.report.model.elements.interfaces.IStyledElementModel

    public class GridHandle
    extends ReportItemHandle
    implements org.eclipse.birt.report.model.elements.interfaces.IGridItemModel
    Represents a grid item in the design. A grid item contains a set of report items arranged into a grid. Grids contains rows and columns. The grid contains cells. Each cell can span one or more columns, or one or more rows. Each cell can contain one or more items.

    Grid layout is familiar to anyone who has used HTML tables, Word tables or Excel: data is divided into a series of rows and columns.

    See Also:
    GridItem
    • Constructor Detail

      • GridHandle

        public GridHandle​(org.eclipse.birt.report.model.core.Module module,
                          org.eclipse.birt.report.model.core.DesignElement element)
        Constructs a grid handle with the given design and the design element. The application generally does not create handles directly. Instead, it uses one of the navigation methods available on other element handles.
        Parameters:
        module - the module
        element - the model representation of the element
    • Method Detail

      • getColumns

        public SlotHandle getColumns()
        Returns a slot handle for the columns in the grid.
        Returns:
        a handle to the column slot
        See Also:
        SlotHandle
      • getRows

        public SlotHandle getRows()
        Returns a slot handle for the rows in the grid.
        Returns:
        a handle to the row slot
        See Also:
        SlotHandle
      • getColumnCount

        public int getColumnCount()
        Returns the number of columns in the Grid. The number is defined as the sum of columns described in the "column" slot.
        Returns:
        the number of columns in the grid.
      • getCell

        public CellHandle getCell​(int row,
                                  int column)
        Gets the cell at the position where the given row and column intersect.
        Parameters:
        row - the row position indexing from 1
        column - the column position indexing from 1
        Returns:
        the cell handle at the position if the cell exists, otherwise null
      • getCellContent

        public SlotHandle getCellContent​(int row,
                                         int column)
        Gets the content slot handle of the cell at the position where the given row and column intersect.
        Parameters:
        row - the row position indexing from 1
        column - the column position indexing from 1
        Returns:
        the content slot handle of the cell at the position if the cell exists, otherwise null
      • canCopyColumn

        public boolean canCopyColumn​(int columnIndex)
        Copies a column and cells under it with the given column number.
        Parameters:
        columnIndex - the column position indexing from 1.
        Returns:
        true if this column band can be copied. Otherwise false.
      • copyColumn

        public ColumnBandData copyColumn​(int columnIndex)
                                  throws SemanticException
        Copies a column and cells under it with the given column number.
        Parameters:
        columnIndex - the column number
        Returns:
        a new GridColumnBandAdapter instance
        Throws:
        SemanticException - if the cell layout of the column is invalid.
      • pasteColumn

        public void pasteColumn​(ColumnBandData data,
                                int columnNumber,
                                boolean inForce)
                         throws SemanticException
        Pastes a column with its cells to the given column number.
        Parameters:
        data - the data of a column band to paste
        columnNumber - the column index from 1 to the number of columns in the grid
        inForce - true if pastes the column regardless of the warning. Otherwise false.
        Throws:
        SemanticException
      • canPasteColumn

        public boolean canPasteColumn​(ColumnBandData data,
                                      int columnIndex,
                                      boolean inForce)
        Checks whether the paste operation can be done with the given copied column band data, the column index and the operation flag.
        Parameters:
        data - the column band data to paste
        columnIndex - the column index from 1 to the number of columns in the grid
        inForce - true indicates to paste the column regardless of the different layout of cells. false indicates not.
        Returns:
        true indicates the paste operation can be done. Otherwise false.
      • insertAndPasteColumn

        public void insertAndPasteColumn​(ColumnBandData data,
                                         int columnNumber)
                                  throws SemanticException
        Inserts and pastes a column with its cells to the given column number.
        Parameters:
        data - the data of a column band to paste
        columnNumber - the column index from 0 to the number of columns in the grid
        Throws:
        SemanticException
      • canInsertAndPasteColumn

        public boolean canInsertAndPasteColumn​(ColumnBandData data,
                                               int columnIndex)
        Checks whether the insert and paste operation can be done with the given copied column band data, the column index and the operation flag. This is different from canPasteColumn since this action creates an extra column for the table.
        Parameters:
        data - the column band data to paste
        columnIndex - the column index from 0 to the number of columns in the grid
        Returns:
        true indicates the paste operation can be done. Otherwise false.
      • shiftColumn

        public void shiftColumn​(int sourceColumn,
                                int destColumn)
                         throws SemanticException
        Moves the column from sourceColumn to destIndex .
        Parameters:
        sourceColumn - the source column ranging from 1 to the column number
        destColumn - the target column ranging from 0 to the column number
        Throws:
        SemanticException - if the chosen column band is forbidden to shift
      • canShiftColumn

        public boolean canShiftColumn​(int sourceColumn,
                                      int destColumn)
        Moves the column from sourceColumn to destColumn.
        Parameters:
        sourceColumn - the source column ranging from 1 to the column number
        destColumn - the target column ranging from 0 to the column number
        Returns:
        true if the chosen column band is legal to shift. Otherwise false.
      • canCopyRow

        public boolean canCopyRow​(RowOperationParameters parameters)
        Checks whether the copy operation can be done with the given parameters.
        Parameters:
        parameters - parameters needed by insert operation.
        Returns:
        true if this row band can be copied. Otherwise false.
      • canPasteRow

        public boolean canPasteRow​(IDesignElement copiedRow,
                                   RowOperationParameters parameters)
        Checks whether the paste operation can be done with the given parameters.
        Parameters:
        copiedRow - the copied table row
        parameters - parameters needed by insert operation.
        Returns:
        true indicates the paste operation can be done. Otherwise false.
      • canInsertRow

        public boolean canInsertRow​(RowOperationParameters parameters)
        Checks whether the insert operation can be done with the given parameters.
        Parameters:
        parameters - parameters needed by insert operation.
        Returns:
        true indicates the insert operation can be done. Otherwise false.
      • canInsertAndPasteRow

        public boolean canInsertAndPasteRow​(IDesignElement copiedRow,
                                            RowOperationParameters parameters)
        Checks whether the insert and paste table row to the given destination row with the given parameters.
        Parameters:
        copiedRow - the copied table row
        parameters - parameters needed by insert operation.
        Returns:
        true indicates the insert and paste operation can be done. Otherwise false.
      • canShiftRow

        public boolean canShiftRow​(RowOperationParameters parameters)
        Checks whether the shift operation can be done with the given the given parameters.
        Parameters:
        parameters - parameters needed by insert operation.
        Returns:
        true indicates the shift operation can be done. Otherwise false.
      • copyRow

        public IDesignElement copyRow​(RowOperationParameters parameters)
                               throws SemanticException
        Copies table row with the given parameters.
        Parameters:
        parameters - parameters needed by insert operation.
        Returns:
        a new TableRow instance
        Throws:
        SemanticException - throw if paste operation is forbidden
        java.lang.IllegalArgumentException - throw if the input parameters are not valid
      • pasteRow

        public void pasteRow​(IDesignElement copiedRow,
                             RowOperationParameters parameters)
                      throws SemanticException
        Pastes table row to destination row with the given parameters.
        Parameters:
        copiedRow - the copied table row
        parameters - parameters needed by insert operation.
        Throws:
        SemanticException - throw if paste operation is forbidden
        java.lang.IllegalArgumentException - throw if the input parameters are not valid
      • insertRow

        public void insertRow​(RowOperationParameters parameters)
                       throws SemanticException
        Inserts table row to the given destination row with the given parameters.
        Parameters:
        parameters - parameters needed by insert operation.
        Throws:
        SemanticException - throw if paste operation is forbidden
        java.lang.IllegalArgumentException - throw if the input parameters are not valid
      • insertAndPasteRow

        public void insertAndPasteRow​(IDesignElement copiedRow,
                                      RowOperationParameters parameters)
                               throws SemanticException
        Inserts and paste table row to the given destination row with the given parameters.
        Parameters:
        copiedRow - the copied table row
        parameters - parameters needed by insert operation.
        Throws:
        SemanticException - throw if paste operation is forbidden
        java.lang.IllegalArgumentException - throw if the input parameters are not valid
      • shiftRow

        public void shiftRow​(RowOperationParameters parameters)
                      throws SemanticException
        Shifts table row to the given destination row with the given parameters.
        Parameters:
        parameters - parameters needed by insert operation.
        Throws:
        SemanticException - throw if paste operation is forbidden
        java.lang.IllegalArgumentException - throw if the input parameters are not valid
      • getCaption

        public java.lang.String getCaption()
        Returns the caption text of this grid.
        Returns:
        the caption text
      • setCaption

        public void setCaption​(java.lang.String caption)
                        throws SemanticException
        Sets the caption text of this grid.
        Parameters:
        caption - the caption text
        Throws:
        SemanticException - if the property is locked.
      • getCaptionKey

        public java.lang.String getCaptionKey()
        Returns the resource key of the caption.
        Returns:
        the resource key of the caption
      • setCaptionKey

        public void setCaptionKey​(java.lang.String captionKey)
                           throws SemanticException
        Sets the resource key of the caption.
        Parameters:
        captionKey - the resource key of the caption
        Throws:
        SemanticException - if the caption resource-key property is locked.
      • getSummary

        public java.lang.String getSummary()
        Returns the value of the summary.
        Returns:
        the value of summary
      • setSummary

        public void setSummary​(java.lang.String summary)
                        throws SemanticException
        Sets the value of summary.
        Parameters:
        summary - the value of summary
        Throws:
        SemanticException