Class SheetAccessor


  • public class SheetAccessor
    extends Object
    Object for accessing spreadsheet document contents
    • Field Detail

      • ABSENT_INDEX

        public static int ABSENT_INDEX
        Отсутствующий индекс.
      • DEFAULT_COLUMN_WIDTH_CHARUNITS

        public static int DEFAULT_COLUMN_WIDTH_CHARUNITS
        Ширина колонки по умолчанию.
    • Constructor Detail

      • SheetAccessor

        public SheetAccessor​(SpreadsheetDocument document)
        Конструктор.
    • Method Detail

      • getGroupBounds

        public static void getGroupBounds​(List<GroupInfo> groups,
                                          int[] bounds)
        Получить границы области группировок.
      • isOneLocale

        public boolean isOneLocale()
        Check is document has single language.
        Returns:
        true if document has single language, false otherwise
      • getMaxDrawingId

        public int getMaxDrawingId()
        Get maximal drawing id
        Returns:
        maximal drawing id
      • isDirty

        public boolean isDirty()
        Returns:
        the isDirty
      • setDirty

        public void setDirty​(boolean isDirty)
        Parameters:
        isDirty - the isDirty to set
      • getRowColumns

        public Columns getRowColumns​(int rowIndex)
        Получить колонки, которые установлены у строки.
      • setRowColumns

        public void setRowColumns​(Columns newColumns,
                                  int rowIndex)
        Установить колонки для строки.
      • removeRow

        public void removeRow​(int rowIndex)
        Удалить строку.
      • getDefaultColumns

        public Columns getDefaultColumns()
        Получить колонки по умолчанию.
      • getColumnsById

        public Columns getColumnsById​(UUID columnsId)
        Получить колонки по идентификатору.
      • lookupColumnsByID

        public Columns lookupColumnsByID​(UUID columnsId)
        Найти колонки по идентификатору.
      • lookupRowFormatIndex

        public int lookupRowFormatIndex​(int rowIndex)
        Получить формат строки.
        Parameters:
        row - - индекс строки
        Returns:
        - формат, установленный на строку. Если ABSENT_INDEX - строка отсутствует.
      • setRowFormatIndex

        public void setRowFormatIndex​(int rowIndex,
                                      int rowFormatIndex)
        Установить формат строки.
      • lookupRowContent

        public Row lookupRowContent​(int rowIndex)
        Получить содержимое строки по индексу.
      • getRowContent

        public Row getRowContent​(int rowIndex)
        Получить содержимое строки. Если содержимое строки еще не получалось, то создать новую строку.
      • deleteRowContent

        public void deleteRowContent​(int rowIndex)
        Удалить содержимое строки.
      • moveRowWithCells

        public void moveRowWithCells​(int srcIndex,
                                     int dstIndex)
        Переместить строку с ячейками, в нее входящими.
      • moveCellsVertically

        public void moveCellsVertically​(int srcRowIndex,
                                        int dstRowIndex,
                                        int columnIndexBegin,
                                        int columnIndexEnd)
        Сдвинуть ячейки по вертикали.
      • moveCellsHorizontally

        public void moveCellsHorizontally​(Columns columns,
                                          int srcColumnIndex,
                                          int dstColumnIndex,
                                          int rowIndexBegin,
                                          int rowIndexEnd)
        Сдвинуть ячйки по горизонтали.
      • moveColumnWithCells

        public void moveColumnWithCells​(Columns columns,
                                        int srcIndex,
                                        int dstIndex)
        Переместить колонку с ячейками, в нее входящими.
      • lookupCell

        public Cell lookupCell​(int rowIndex,
                               int columnIndex)
        Получить ячейку по указанным координатам.
        Returns:
        null, если ячейки нет. Ячейка в противном случае.
      • getCell

        public Cell getCell​(int rowIndex,
                            int columnIndex)
      • getFormatByKey

        public ReadOnlyFormat getFormatByKey​(int formatIndex)
        Получить формат по индексу.
      • getFormatIndex

        public int getFormatIndex​(Format format)
        Получить индекс формата. Если такого формата еще небыло, то добавить новый формат.
      • isRowHidden

        public boolean isRowHidden​(int rowIndex)
        Проверить, скрыта ли строка.
      • hideRow

        public void hideRow​(int rowIndex)
      • showRow

        public void showRow​(int rowIndex)
      • isColumnHidden

        public boolean isColumnHidden​(Columns columns,
                                      int columnIndex)
        Проверить, скрыта ли колонка.
      • hideColumn

        public void hideColumn​(Columns columns,
                               int columnIndex)
      • showColumn

        public void showColumn​(Columns columns,
                               int columnIndex)
      • isColumnWidthSet

        public boolean isColumnWidthSet​(Columns columns,
                                        int columnIndex)
      • getColumnWidthCharUnits

        public int getColumnWidthCharUnits​(Columns columns,
                                           int columnIndex)
        Получить ширину колонки в символах. Без учета скрытости колонки.
      • isAutoWidthCalculation

        public boolean isAutoWidthCalculation​(Columns columns,
                                              int columnIndex)
        Check if column has automatic width.
        Parameters:
        columns - Columns, must not be null
        columnIndex - column index
        Returns:
        true if column has automatic width, false otherwise
      • getWidthWeightFactor

        public int getWidthWeightFactor​(Columns columns,
                                        int columnIndex)
        Get column width weight factor.
        Parameters:
        columns - Columns, must not be null
        columnIndex - column index
        Returns:
        column width weight factor
      • getDefaultFormatIndex

        public int getDefaultFormatIndex()
        Получить индекс формата по умолчанию.
      • setDefaultFormatIndex

        public void setDefaultFormatIndex​(int formatIndex)
        Установить формат табличного документа по умолчанию.
      • getFontByKey

        public Font getFontByKey​(int fontKey)
        Получить шрифт по индексу.
      • getFontKey

        public int getFontKey​(Font font)
        Получить индекс шрифта.
      • getFont

        public Font getFont​(Format format)
        Получить шрифт для формата.
      • getFont

        public Font getFont​(ReadOnlyFormat format)
        Получить шрифт для формата.
      • getSpreadsheetLineKey

        public int getSpreadsheetLineKey​(SpreadsheetLine line)
        Get line index
        Parameters:
        line -
        Returns:
        line index
      • getLeftBorder

        public CellLine getLeftBorder​(ReadOnlyFormat selectionFormat)
        Получить левую линию ячейки для формата.
        Parameters:
        selectionFormat - - настройки формата
        Returns:
        линия ячейки
      • getTopBorder

        public CellLine getTopBorder​(ReadOnlyFormat selectionFormat)
        Получить верхнюю линию ячейки для формата.
        Parameters:
        selectionFormat - - настройки формата
        Returns:
        линия ячейки
      • getRightBorder

        public CellLine getRightBorder​(ReadOnlyFormat selectionFormat)
        Получить правую линию ячейки для формата.
        Parameters:
        selectionFormat - - настройки формата
        Returns:
        линия ячейки
      • getBottomBorder

        public CellLine getBottomBorder​(ReadOnlyFormat selectionFormat)
        Получить нижнюю линию ячейки для формата.
        Parameters:
        selectionFormat - - настройки формата
        Returns:
        линия ячейки
      • getLeftBorder

        public CellLine getLeftBorder​(Format cellFormat)
        Получить левую линию ячейки для формата.
      • getTopBorder

        public CellLine getTopBorder​(Format cellFormat)
        Получить верхнюю линию ячейки для формата.
      • getRightBorder

        public CellLine getRightBorder​(Format cellFormat)
        Получить правую линию ячейки для формата.
      • getBottomBorder

        public CellLine getBottomBorder​(Format cellFormat)
        Получить нижнюю линию ячейки для формата.
      • getDrawingLine

        public DrawingLine getDrawingLine​(ReadOnlyFormat drawingFormat)
        Get drawing line from format.
        Parameters:
        drawingFormat - Format
        Returns:
        drawing line
      • getDrawingLineColor

        public Color getDrawingLineColor​(ReadOnlyFormat drawingFormat)
        Получить цвет линии рисунка.
      • getDrawingBackgroundColor

        public Color getDrawingBackgroundColor​(ReadOnlyFormat drawingFormat)
        Получить цвет фона рисунка.
      • getDrawingPatternColor

        public Color getDrawingPatternColor​(ReadOnlyFormat drawingFormat)
        Получить цвет шаблона рисунка.
      • getDrawingTextColor

        public Color getDrawingTextColor​(ReadOnlyFormat drawingFormat)
        Получить цвет текста рисунка.
      • getDrawingPattern

        public Pattern getDrawingPattern​(ReadOnlyFormat drawingFormat)
        Получить шаблон заливки рисунка.
      • getBorderColor

        public Color getBorderColor​(Format format)
        Получить цвет границы.
      • getBorderColor

        public Color getBorderColor​(ReadOnlyFormat format)
        Получить цвет границы.
      • getPatternColor

        public Color getPatternColor​(Format format)
        Получить цвет узора.
      • getPatternColor

        public Color getPatternColor​(ReadOnlyFormat format)
        Получить цвет узора.
      • lookupMerge

        public org.eclipse.swt.graphics.Rectangle lookupMerge​(int rowIndex,
                                                              int columnIndex)
        Получить прямоугольник объединения.
        Parameters:
        rowIndex -
        columnIndex -
        Returns:
        Rect, если объединение в ячейке найдено. null в противном случае.
      • getMerge

        public org.eclipse.swt.graphics.Rectangle getMerge​(int rowIndex,
                                                           int columnIndex)
        Получить прямоугольник объединения.
        Parameters:
        rowIndex -
        columnIndex -
        Returns:
        Rect, если объединение в ячейке найдено. Если объединение не найдено, возвращается прямоугольник из одной ячейки.
      • getMergesInRect

        public List<org.eclipse.swt.graphics.Rectangle> getMergesInRect​(int beginRowIndex,
                                                                        int beginColumnIndex,
                                                                        int endRowIndex,
                                                                        int endColumnIndex)
        Получить объединения, которые находятся в указанной области.
      • getRealMergesInRows

        public List<org.eclipse.swt.graphics.Rectangle> getRealMergesInRows​(int begin,
                                                                            int end)
        Получить объединения ячеек в строках.
      • getRealMergesAboveRow

        public List<org.eclipse.swt.graphics.Rectangle> getRealMergesAboveRow​(int beginRowIndex,
                                                                              int lastRowIndex,
                                                                              int beginColumn,
                                                                              int endColumn)
        Получить объединения ячеек в строках.
      • getRealMergesRightToColumn

        public List<org.eclipse.swt.graphics.Rectangle> getRealMergesRightToColumn​(Columns columns,
                                                                                   int begin,
                                                                                   int beginRowIndex,
                                                                                   int endRowIndex)
        Получить объединения ячеек в колонках правее или равной указанной.
      • haveRealMergesInRect

        public boolean haveRealMergesInRect​(int beginRowIndex,
                                            int beginColumnIndex,
                                            int endRowIndex,
                                            int endColumnIndex)
      • getUnmergesInRows

        public List<org.eclipse.swt.graphics.Rectangle> getUnmergesInRows​(int begin,
                                                                          int end)
        Получить антиобъединения в строках.
      • getUnmergesAboveRow

        public List<org.eclipse.swt.graphics.Rectangle> getUnmergesAboveRow​(int begin,
                                                                            int beginColumn,
                                                                            int endColumn)
        Получить антиобъединения выше указанной строки.
      • getUnmergesRightToColumn

        public List<org.eclipse.swt.graphics.Rectangle> getUnmergesRightToColumn​(Columns columns,
                                                                                 int begin,
                                                                                 int beginRowIndex,
                                                                                 int endRowIndex)
        Получить антиобъединения правее или равно указанной колонки.
      • lookupColFormatIndex

        public int lookupColFormatIndex​(Columns columns,
                                        int columnIndex)
        Получить индекс формата колонки.
        Parameters:
        columns -
        columnIndex -
        Returns:
        индекс формата колонки. SheetAcessor.ABSENT_INDEX если колонка отсутствует.
      • lookupColFormatIndex

        public int lookupColFormatIndex​(int row,
                                        int columnIndex)
        Получить индекс формата колонки.
        Parameters:
        row -
        columnIndex -
        Returns:
        индекс формата колонки. SheetAcessor.ABSENT_INDEX если колонка отсутствует.
      • setColumnFormatIndex

        public void setColumnFormatIndex​(Columns columns,
                                         int columnIndex,
                                         int formatIndex)
        Установить формат колонке.
      • deleteColumn

        public void deleteColumn​(Columns columns,
                                 int columnIndex)
      • deleteColumnWithCells

        public void deleteColumnWithCells​(Columns columns,
                                          int columnIndex)
        Удалить колонку с ячейками, в нее входящую.
      • getCellFullFormat

        public Format getCellFullFormat​(int rowIndex,
                                        int columnIndex,
                                        boolean applyHorizontalAlign)
        Получить полный формат ячейки. С учетом формата строки, колонки, таблицы.
        Parameters:
        rowIndex - - индекс строки.
        columnIndex - - индекс колонки.
        applyHorizontalAlign - - нужно ли вычислять горизонтальное выравнивание в зависимости от содержимого.
        Returns:
      • getReadOnlyCellFullFormat

        public ReadOnlyFormat getReadOnlyCellFullFormat​(int rowIndex,
                                                        int columnIndex,
                                                        boolean applyHorizontalAlign)
        Gets ReadOnlyFormat by row and column index
        Parameters:
        rowIndex - index of the row
        columnIndex - index of the column
        applyHorizontalAlign - true if need apply horizontal align, false otherwise
        Returns:
      • getCellFullFormatByMask

        public Format getCellFullFormatByMask​(int rowIndex,
                                              int columnIndex,
                                              long propertyMask,
                                              boolean applyHorizontalAlign)
        Get full format of spreadsheet cell with only properties, specified by mask
        Parameters:
        rowIndex - - cell y coordinate
        columnIndex - - cell x coordinate
        propertyMask - - properties mask
        applyHorizontalAlign - - need apply horizontal alignment
        Returns:
        Format
      • lookupCellFormat

        public ReadOnlyFormat lookupCellFormat​(int rowIndex,
                                               int columnIndex)
        Получить формат ячейки.
        Returns:
        Если есть ячейка, то ее формат (чисто ее, без учета строк/колонок). Если ячейки нет, то null.
      • getHorizontalAlign

        public HorizontalAlignment getHorizontalAlign​(ReadOnlyFormat format)
        Получить горизонтальное выравнивание.
      • getVerticalAlign

        public VerticalAlignment getVerticalAlign​(ReadOnlyFormat format)
        Получить вертикальное выравнивание.
      • getTextOrientation

        public int getTextOrientation​(ReadOnlyFormat format)
        Получить ориентацию текста для формата.
      • getProtection

        public boolean getProtection​(ReadOnlyFormat format)
      • getBackColor

        public Color getBackColor​(ReadOnlyFormat format)
        Получить цвет фона.
      • getBackColor

        public Color getBackColor​(Format format)
        Получить цвет фона.
      • getDefaultBackColor

        public Color getDefaultBackColor()
        Get default color for drawing cells' background
        Returns:
        default background color
      • getDefaultBorderColor

        public Color getDefaultBorderColor()
        Get default color for painting borders
        Returns:
        default color for painting borders
      • getDefaultPatternColor

        public Color getDefaultPatternColor()
        Get default color for painting pattern
        Returns:
        default color for painting pattern
      • getTextColor

        public Color getTextColor​(Format format)
        Get text color.
        Parameters:
        format - Format, must not be null
        Returns:
        Color
      • getFillType

        public FillType getFillType​(ReadOnlyFormat format)
        Получить тип заполнения ячейки.
      • getTextPlacement

        public TextPlacement getTextPlacement​(ReadOnlyFormat format)
        Получить тип вывода текста.
      • getMarkNegatives

        public boolean getMarkNegatives​(ReadOnlyFormat format)
        Получить признак "Выделять отрицательные".
      • getAutoMarkIncomplete

        public boolean getAutoMarkIncomplete​(ReadOnlyFormat format)
        Получить признак "Автоматическая отметка незаполненного".
      • getMarkIncomplete

        public boolean getMarkIncomplete​(ReadOnlyFormat format)
        Получить признак "Отметка незаполненного".
      • getDrawingIndention

        public int getDrawingIndention​(ReadOnlyFormat format)
        Получить отступ в рисунке.
      • getIdention

        public int getIdention​(ReadOnlyFormat format,
                               int rowIndex)
        Get indention for specified row
        Parameters:
        format - - ReadOnlyFormat
        rowIndex - - row index
        Returns:
        indention for specified row
      • needWrap

        public boolean needWrap​(ReadOnlyFormat format)
        Получить признак того, что нужно переносить по словам.
      • isCellHaveTextOrValue

        public boolean isCellHaveTextOrValue​(Cell cell)
        Проверить, содержит ли ячейка текст.
      • isCellDrawable

        public boolean isCellDrawable​(Cell cell)
        Проверить, выводится ли ячейка.
      • getLinesCountOfString

        public int getLinesCountOfString​(String string)
        Получить количество строк в строке.
      • getCellText

        public String getCellText​(Cell cell)
        Получить текст ячейки. На текущем языке.
      • setCellText

        public void setCellText​(Cell cell,
                                String text)
        Установить текст в ячейке.
      • getDrawingText

        public String getDrawingText​(TextDrawing textDrawing)
        Get drawing text
        Parameters:
        textDrawing - TextDrawing
        Returns:
        drawing text
      • getCurrentLanguage

        public String getCurrentLanguage()
        Get current editing language code for spreadsheet
        Returns:
        current editing language code
      • setCurrentLanguage

        public void setCurrentLanguage​(String language)
        Set current editing language.
        Parameters:
        language - editing language code, must not be null
      • getConfiguration

        public Configuration getConfiguration()
        Get configuration curretn sheet belongs to
        Returns:
        Configuration or null if document doesn't belong to configuration
      • getString

        public String getString​(LocalString localString)
        Получить текст на текущем языке.
      • setString

        public void setString​(LocalString localString,
                              String text)
        Установить текст.
      • getHorizontalSize

        public int getHorizontalSize​(int rowIndex)
        Получить размер табличного документа в указанной строке.
      • getAcrossFormattingRect

        public org.eclipse.swt.graphics.Rectangle getAcrossFormattingRect​(int rowIndex,
                                                                          int columnIndex)
        Получить прямоугольник ячейки с учетом объединений и свойства "По выделенным ячейкам".
        Returns:
        Всегда возвращает прямоугольник, в котором нужно выводить ячейку.
      • findRowGroup

        public GroupInfo findRowGroup​(int rowIndex,
                                      int level)
        Найти группировку в указанной строке с указанным уровнем.
        Returns:
        индекс группировки. -1 если группировка не найдена.
      • getGroupsAboveRow

        public List<Group> getGroupsAboveRow​(int begin)
        Найти группировки выше строки.
      • getGroupsRightToColumn

        public List<Group> getGroupsRightToColumn​(Columns columns,
                                                  int begin)
        Найти группировки выше строки.
      • getRowGroupLevel

        public int getRowGroupLevel​(int groupIndex)
        Get level of rows group
        Parameters:
        groupIndex - - group index
        Returns:
        group level
      • findGroup

        public GroupInfo findGroup​(ObjectPosition type,
                                   int rowOrColumnIndex,
                                   int level,
                                   Columns columns)
        Find gorup in specified row/column index with level <= specified
        Parameters:
        type - - group type
        rowOrColumnIndex - - row/column index
        level - - group level
        columns - - column type
        Returns:
        GroupInfo
      • getColorByIndex

        public Color getColorByIndex​(int colorIndex)
        Get color by index
        Parameters:
        colorIndex - color index
        Returns:
        Color
      • getColorIndex

        public int getColorIndex​(Color color)
        Get color index
        Parameters:
        color - Color
        Returns:
        color index
      • getPictureByIndex

        public Picture getPictureByIndex​(int pictureIndex)
        Get picture by index
        Parameters:
        pictureIndex - - picture index
        Returns:
        picture
      • getPictureIndex

        public int getPictureIndex​(Picture picture)
        Get index of specified picture
        Parameters:
        picture - - picture
        Returns:
        picture index
      • getLineCountOfString

        public int getLineCountOfString​(String text)
        Получить количество строк в строке.
      • getDefaultTextColor

        public Color getDefaultTextColor()
        Get default color for painting text
        Returns:
        default color for painting text
      • getNegativesColor

        public Color getNegativesColor()
        Get color for highlighting negative values
        Returns:
        color for highlighting negative values
      • getHorizontalSize

        public int getHorizontalSize()
        Get max horizontal size of document
        Returns:
        document's horizontal size
      • getCellLineIndex

        public int getCellLineIndex​(CellLine line)
        Get cell line index
        Parameters:
        line -
        Returns:
        line index
      • getDrawingLineIndex

        public int getDrawingLineIndex​(DrawingLine line)
        Get drawing line index
        Parameters:
        line -
        Returns:
      • getVerticalSize

        public int getVerticalSize()
        Получить вертикальный размер табличного документа.
      • setVerticalSize

        public void setVerticalSize​(int savedVerticalSize)
        Установить вертиальный размер.
      • getNamedRowsDepth

        public int getNamedRowsDepth()
        Получить глубину вложенных друг в друга именованных строк.
        Returns:
      • getNamedColumnsDepth

        public int getNamedColumnsDepth()
        Получить глубину вложенных друг в друга именованных колонок.
      • getGroupedRowsDepth

        public int getGroupedRowsDepth()
        Получить глубину вложенных сгруппированных строк.
      • getGroupedColumnsDepth

        public int getGroupedColumnsDepth()
        Получить глубину вложенных сгруппированных колонок.
      • getGroupsInRows

        public List<GroupInfo> getGroupsInRows​(int beginRowIndex,
                                               int endRowIndex,
                                               boolean getHidden)
        Получить группировки, которые находятся в строках.
        Parameters:
        beginRowIndex - - Начальная стока, в которых нужно получить группировку.
        endRowIndex - - Конечная строка, в котрых нужно получить группировку.
        getHidden - - Нужно ли получать скрытые.
        Returns:
      • isGroupHidden

        public boolean isGroupHidden​(GroupInfo groupInfo)
      • getGroupsInColumns

        public List<GroupInfo> getGroupsInColumns​(Columns columns,
                                                  int beginColumnIndex,
                                                  int endColumnIndex,
                                                  boolean getHidden)
        Получить группировки, которые находятся в колонках.
        Parameters:
        beginColumnIndex - - Начальная колонка, в которых нужно получить группировку.
        endColumnIndex - - Конечная колонка, в котрых нужно получить группировку.
        Returns:
      • getAllGroupsInAllColumns

        public TreeMap<UUID,​List<GroupInfo>> getAllGroupsInAllColumns()
        Получить группировки во всех колонках.
      • getAllGroupsInRows

        public List<GroupInfo> getAllGroupsInRows()
        Получить все группировки строк.
      • isGroupHeaderAtBegin

        public boolean isGroupHeaderAtBegin​(Group group)
        Узнать выводится ли у группы итоговая запись в начале.
      • getDrawingsInRows

        public List<Drawing> getDrawingsInRows​(int beginRowIndex,
                                               int endRowIndex,
                                               boolean includeComments)
        Получить рисунки в указанной области.
      • findRowGroupInfo

        public GroupInfo findRowGroupInfo​(int groupBegin,
                                          int groupEnd)
        Найти группировку строк.
      • expandCollapseRowsGroup

        public void expandCollapseRowsGroup​(int groupBegin,
                                            int groupEnd,
                                            boolean expand,
                                            boolean withChildren)
      • showHideRows

        public void showHideRows​(int beginIndex,
                                 int endIndex,
                                 boolean show)
      • expandCollapseGroupOlnyState

        public void expandCollapseGroupOlnyState​(GroupInfo groupInfo,
                                                 boolean expand,
                                                 boolean withChildren)
      • expandCollapseRowsGroup

        public void expandCollapseRowsGroup​(GroupInfo groupInfo,
                                            boolean expand,
                                            boolean withChildren)
      • findColumnsGroupInfo

        public GroupInfo findColumnsGroupInfo​(Columns columns,
                                              int groupBegin,
                                              int groupEnd)
        Найти группировку колонок.
      • expandCollapseColumnsGroup

        public void expandCollapseColumnsGroup​(Columns columns,
                                               int groupBegin,
                                               int groupEnd,
                                               boolean expand,
                                               boolean withChildren)
        Свернуть/развернуть группировки колонок.
      • showHideColumns

        public void showHideColumns​(Columns columns,
                                    int beginIndex,
                                    int endIndex,
                                    boolean show)
      • expandCollapseColumnsGroup

        public void expandCollapseColumnsGroup​(Columns columns,
                                               GroupInfo groupInfo,
                                               boolean expand,
                                               boolean withChildren)
      • addChangeListener

        public void addChangeListener​(ISheetAcessorChangeListener listener)
        Добавить слушателя изменений.
      • notifyChange

        public void notifyChange()
        Нотифицировать об изменении.
      • notifyChangeDirty

        public void notifyChangeDirty()
        Нотифицировать об изменении признака измененности.
      • findGroupToExpandCollapse

        public GroupInfo findGroupToExpandCollapse​(int y,
                                                   int x,
                                                   boolean expand)
        Найти группировку для скрытия/раскрытия.
      • storeColumnsState

        public int[] storeColumnsState​(Columns columns,
                                       int columnIndexBegin,
                                       int columnIndexEnd)
      • storeRowsState

        public int[] storeRowsState​(int rowIndexBegin,
                                    int rowIndexEnd)
      • restoreColumnsState

        public void restoreColumnsState​(Columns columns,
                                        int columnIndexBegin,
                                        int columnIndexEnd,
                                        int[] state)
      • restoreRowsState

        public void restoreRowsState​(int rowIndexBegin,
                                     int rowIndexEnd,
                                     int[] state)
      • storeGroupChildrenState

        public boolean[] storeGroupChildrenState​(List<GroupInfo> groups)
        Сохранить состояние группировок.
      • restoreChildrenState

        public void restoreChildrenState​(boolean[] state,
                                         List<GroupInfo> groups)
        Восстановить состояние.
      • collapseColumnsToLevel

        public void collapseColumnsToLevel​(Columns columns,
                                           int level)
        Свернуть группировки колонок вплоть до указаного уровня.
      • collapseRowsToLevel

        public void collapseRowsToLevel​(int level)
        Свернуть группировки строк вплоть до указанного уровня.
      • addColumnsGroup

        public void addColumnsGroup​(Columns columns,
                                    int begin,
                                    int end,
                                    LocalString groupName,
                                    GroupHeaderPlacement headerPlacement)
        Добавить группировку в колонки.
      • addRowsGroup

        public void addRowsGroup​(int begin,
                                 int end,
                                 LocalString groupName,
                                 GroupHeaderPlacement headerPlacement)
        Добавить группировку строк.
      • removeColumnsGroup

        public void removeColumnsGroup​(Columns columns,
                                       int begin,
                                       int end)
        Удалить группировку колонок.
      • removeRowsGroup

        public void removeRowsGroup​(int begin,
                                    int end)
        Удалить группировку строк.
      • changeGroup

        public void changeGroup​(GroupInfo groupInfo,
                                int newBegin,
                                int newEnd)
        Изменить группировку.
      • getNamedItemsInRows

        public List<NamedItemInfo> getNamedItemsInRows​(int beginRowIndex,
                                                       int endRowIndex)
        Получить именованные области, которые находятся в строках.
        Parameters:
        beginRowIndex - - Начальная стока, в которых нужно получить именованные области.
        endRowIndex - - Конечная строка, в котрых нужно получить именованные области.
        Returns:
      • getNamedItemsInColumns

        public List<NamedItemInfo> getNamedItemsInColumns​(Columns columns,
                                                          int beginColumnIndex,
                                                          int endColumnIndex)
        Получить именованные области, которые находятся в колонках.
        Parameters:
        beginColumnIndex - - Начальная колонка, в которых нужно получить именованные области.
        endColumnIndex - - Конечная колонка, в котрых нужно получить именованные области.
        Returns:
      • getNamedCellItemsInCells

        public List<NamedItemInfo> getNamedCellItemsInCells​(int beginRowIndex,
                                                            int endRowIndex)
        Получить именованные области ячеек.
      • getSelectionName

        public String getSelectionName​(Selection selection)
        Получить имя области.
      • getAreaByName

        public Selection getAreaByName​(String newName)
        Получить область по имени.
      • checkDrawingName

        public boolean checkDrawingName​(String newName)
        Check if drawing name is correct
        Parameters:
        newName - - name to check
        Returns:
        check result
      • setAreaName

        public void setAreaName​(Selection selection,
                                String newName)
        Установить имя области.
      • getAreaForSelection

        public Area getAreaForSelection​(Selection selection)
        Получить область для выделения.
      • getSelectionForArea

        public Selection getSelectionForArea​(Area area)
        Create spreadsheet Selection for specified area
        Parameters:
        area - - Area
        Returns:
        selection for area, or null in case of unsupported selection type
      • removeName

        public void removeName​(String name)
        Удалить имя.
      • getAlias

        public int getAlias()
      • getNewAreaName

        public String getNewAreaName()
        Получить новое имя области.
      • removeColumn

        public void removeColumn​(Columns columns,
                                 int columnIndex)
        Удалить колонку.
      • createColumnsCopy

        public Columns createColumnsCopy​(Columns currentColumns)
        Создать копию массива колонок.
      • isRowHeightSet

        public boolean isRowHeightSet​(int rowIndex)
        Устанолвена ли высота строки.
      • getAllColumns

        public HashSet<Columns> getAllColumns()
        Получить все колонки.
      • getSelectionFormat

        public long getSelectionFormat​(Selection selection,
                                       Format resultFormat,
                                       long mask,
                                       boolean first)
        Получить формат выделения.
        Parameters:
        first - - получается для первого выделения. Т.е. не нужно сравнивать значения.
        Returns:
        маску одинаковых значений. Если в свойстве 1, значит значения одинаковые.
      • getSelectionCellsProperties

        public int getSelectionCellsProperties​(Selection selection,
                                               Cell resultCell,
                                               int mask,
                                               boolean first)
        Получить формат выделения.
        Parameters:
        first - - получается для первого выделения. Т.е. не нужно сравнивать значения.
        Returns:
        маску одинаковых значений. Если в свойстве 1, значит значения одинаковые.
      • addCellsMerge

        public void addCellsMerge​(org.eclipse.swt.graphics.Rectangle selectionRect)
        Добавить объедиение ячеек.
      • addUnmerge

        public void addUnmerge​(org.eclipse.swt.graphics.Rectangle selectionRect)
        Добавить анти объедиение ячеек.
      • removeCellsMerge

        public void removeCellsMerge​(org.eclipse.swt.graphics.Rectangle mergeRect)
        Удалить объединение ячеек.
      • changeCellsMerge

        public void changeCellsMerge​(org.eclipse.swt.graphics.Rectangle originalPosition,
                                     org.eclipse.swt.graphics.Rectangle resultPosition)
        Изменить объединение.
      • removeUnmerge

        public void removeUnmerge​(org.eclipse.swt.graphics.Rectangle mergeRect)
        Удалить объединение ячеек.
      • changeUnmerge

        public void changeUnmerge​(org.eclipse.swt.graphics.Rectangle originalPosition,
                                  org.eclipse.swt.graphics.Rectangle resultPosition)
        Изменить анти объединение.
      • removeCell

        public void removeCell​(int rowIndex,
                               int columnIndex)
        Удалить ячейку с указанными координатами.
      • addRowsMerge

        public void addRowsMerge​(int selectionBegin,
                                 int selectionEnd)
        Добавить объединение строк.
      • isMergeReal

        public boolean isMergeReal​(org.eclipse.swt.graphics.Rectangle mergeRect)
        Проверить, является ли объединение настоящим, или оно получилось из объединения строк/колонок.
      • haveRowMerges

        public boolean haveRowMerges​(int rowBeginIndex,
                                     int rowEndIndex)
        Есть ли объединения строк в указанном диапазоне.
      • getRowMerges

        public List<Interval> getRowMerges​(int rowBeginIndex,
                                           int rowEndIndex)
        Получить все объединения строк, которые есть в указанном интервале.
      • getRowMergesAboveRow

        public List<Interval> getRowMergesAboveRow​(int rowBeginIndex)
        Получить все объединения строк выше указанной строки.
      • getColumnMergesRightToColumn

        public List<Interval> getColumnMergesRightToColumn​(Columns columns,
                                                           int columnBeginIndex)
        Получить все объединения колонок правее или равно указанной колонки.
      • removeRowsMerge

        public void removeRowsMerge​(int begin,
                                    int end)
        Удалить объединение строк.
      • findRowMerge

        public RowMerge findRowMerge​(int begin,
                                     int end)
        Найти объединение строк.
      • haveColumnMerges

        public boolean haveColumnMerges​(Columns columns,
                                        int beginColumnIndex,
                                        int endColumnIndex)
        Проверить, есть ли в колонках объединения.
      • addColumnsMerge

        public void addColumnsMerge​(Columns columns,
                                    int selectionBegin,
                                    int selectionEnd)
        Добавить объедиение колонок.
      • getColumnsMerges

        public List<Interval> getColumnsMerges​(Columns columns,
                                               int selectionBegin,
                                               int selectionEnd)
        Получить объединения колонок в указанных позициях.
      • removeColumnsMerge

        public void removeColumnsMerge​(Columns columns,
                                       int begin,
                                       int end)
        Удалить объединения колонок.
      • getUnmergesInColumns

        public List<org.eclipse.swt.graphics.Rectangle> getUnmergesInColumns​(Columns columns,
                                                                             int begin,
                                                                             int end)
        Получить антиобъединения в колонках.
      • getDrawingsAboveRow

        public List<Drawing> getDrawingsAboveRow​(int begin,
                                                 int lastRowIndex,
                                                 int beginColumn,
                                                 int endColumn)
        Получить рисунки, расположенные выше строки.
      • getDrawingsRightToColumn

        public List<Drawing> getDrawingsRightToColumn​(Columns columns,
                                                      int begin,
                                                      int beginRowIndex,
                                                      int endRowIndex)
        Получить рисунки, расположенные правее колонки.
      • changeDrawingPosition

        public void changeDrawingPosition​(Drawing drawing,
                                          SpreadsheetRect resultPosition)
        Изменить позицию рисунка.
      • removeDrawing

        public void removeDrawing​(Drawing drawing)
        Удалить рисунок.
      • getDrawingsCount

        public int getDrawingsCount()
        Получить общее количество рисунков.
      • addDrawing

        public void addDrawing​(Drawing drawing)
        Добавить рисунок.
      • changeDrawingZOrder

        public void changeDrawingZOrder​(Drawing drawing,
                                        int newPos)
      • setDrawingPosition

        public void setDrawingPosition​(Drawing drawing,
                                       SpreadsheetRect position)
        Изменить поизицию рисунка.
      • changeRowMerge

        public void changeRowMerge​(Interval originalPosition,
                                   Interval resultPosition)
        Изменить объединение строк.
      • changeColumnMerge

        public void changeColumnMerge​(Columns columns,
                                      Interval originalPosition,
                                      Interval resultPosition)
        Изменить объединение колонок.
      • changeRowGroup

        public void changeRowGroup​(int begin,
                                   int end,
                                   int newBegin,
                                   int newEnd)
        Изменить группировку строк.
      • changeColumnGroup

        public void changeColumnGroup​(Columns columns,
                                      int begin,
                                      int end,
                                      int newBegin,
                                      int newEnd)
        Изменить группировку колонок.
      • getNamedItemCellsAboveRow

        public List<Map.Entry<String,​NamedItem>> getNamedItemCellsAboveRow​(int begin,
                                                                                 int lastRowIndex,
                                                                                 int beginColumn,
                                                                                 int endColumn)
        Получить именованные области ячеек выше указанной строки.
      • getNamedItemCellsRightToColumn

        public List<Map.Entry<String,​NamedItem>> getNamedItemCellsRightToColumn​(Columns columns,
                                                                                      int begin,
                                                                                      int beginRowIndex,
                                                                                      int endRowIndex)
        Получить именованные области ячеек выше указанной строки.
      • changeNamedCells

        public void changeNamedCells​(NamedItem namedItem,
                                     org.eclipse.swt.graphics.Rectangle resultPosition)
        Изменить положение именованных ячеек.
      • addName

        public void addName​(String key,
                            NamedItem value)
        Добавить имя.
      • getNamedItemRowAboveRow

        public List<Map.Entry<String,​NamedItem>> getNamedItemRowAboveRow​(int begin)
        Найти именованные строки выше указанной строки.
      • getNamedItemColumnRightToColumn

        public List<Map.Entry<String,​NamedItem>> getNamedItemColumnRightToColumn​(Columns columns,
                                                                                       int begin)
        Найти именованные строки выше указанной строки.
      • changeNamedRowColumn

        public void changeNamedRowColumn​(NamedItem namedItem,
                                         int begin,
                                         int end)
        Изменить именованные строки.
      • setMaxSizeToSelection

        public void setMaxSizeToSelection​(Selection selection)
        Установтиь размер в соотвтствии с размерами выделения
      • getAllRealMerges

        public List<org.eclipse.swt.graphics.Rectangle> getAllRealMerges()
        Получить все объединения.
      • getAllUnmerges

        public List<org.eclipse.swt.graphics.Rectangle> getAllUnmerges()
        Получить все антиобъединения.
      • getAllRowMerges

        public List<Interval> getAllRowMerges()
        Получить все объединения строк.
      • getAllColumnMerges

        public List<ColumnMerge> getAllColumnMerges()
        Получить все объединения колонок.
      • getAllDrawings

        public List<Drawing> getAllDrawings()
        Получить все рисунки.
      • getAllRowGroups

        public List<Group> getAllRowGroups()
        Получить все группировки строк.
      • getAllColumnGroups

        public List<Group> getAllColumnGroups()
        Получить все группировки колонок.
      • getAllNamedItems

        public List<Map.Entry<String,​NamedItem>> getAllNamedItems()
        Получить все именованные ячейки.
      • getAllNamedItemsSorted

        public List<Map.Entry<String,​NamedItem>> getAllNamedItemsSorted()
        Get list of named items sorted by name
        Returns:
        sorted list of named items
      • removeAllRealMerges

        public void removeAllRealMerges()
        Удалить все реальные объединения.
      • removeAllUnmerges

        public void removeAllUnmerges()
        Удалить антиобъединения.
      • removeAllRowMerges

        public void removeAllRowMerges()
        Удалить все объединения строк.
      • removeAllColumnMerges

        public void removeAllColumnMerges()
        Удалить все объединения колонок.
      • removeAllDrawings

        public void removeAllDrawings()
        Удалить все рисунки.
      • removeAllRowGroups

        public void removeAllRowGroups()
        Удалить все группировки строк.
      • removeAllColumnGroups

        public void removeAllColumnGroups()
        Удалить все группировки колонок.
      • removeAllNames

        public void removeAllNames()
        Удалить все имена.
      • removeAllRows

        public void removeAllRows()
        Удалить все строки.
      • removeAllColumns

        public void removeAllColumns()
        Удалить все колонки.
      • removeAllFormats

        public void removeAllFormats()
        Remove all formats and clear formats map
      • removeAllFonts

        public void removeAllFonts()
        Remove all fonts and clear fonts map
      • addRealMerges

        public void addRealMerges​(List<org.eclipse.swt.graphics.Rectangle> merges)
        Установить все объединения.
      • addUnmerges

        public void addUnmerges​(List<org.eclipse.swt.graphics.Rectangle> unmerges)
        Установить все антиобъединения.
      • addRowMerges

        public void addRowMerges​(List<Interval> merges)
        Добавить объединения строк.
      • addColumnMerges

        public void addColumnMerges​(List<ColumnMerge> merges)
        Добавить объединения колонок.
      • addDrawings

        public void addDrawings​(List<Drawing> drawings)
        Добавить рисунки.
      • addRowGroups

        public void addRowGroups​(List<Group> groups)
        Добавить группировки строк.
      • addColumnGroups

        public void addColumnGroups​(List<Group> removedColumnsGroups)
        Добавить группировки колонок.
      • removeCells

        public void removeCells​(int rowIndexBegin,
                                int rowIndexEnd,
                                int columnIndexBegin,
                                int columnIndexEnd)
        Удалить ячейки.
      • lookupDrawingName

        public String lookupDrawingName​(Drawing drawing)
        Lookup drawing name.
        Parameters:
        drawing - Drawing, must not be null
        Returns:
        drawing name or null if no drawing has no name.
      • getDrawingName

        public String getDrawingName​(Drawing drawing)
        Get drawing name
        Parameters:
        drawing - - Drawing
        Returns:
        drawing's name
      • setDrawingName

        public void setDrawingName​(Drawing drawing,
                                   String newName)
        Set up drawing's name
        Parameters:
        drawing - - Drawing
        newName - - name to set up
      • unsetDrawingName

        public void unsetDrawingName​(String name)
        Unset drawing's name
        Parameters:
        name - - name to be unset
      • getLeftHeader

        public Cell getLeftHeader()
        Получить левый заголовок. Создать его, если он еще не получался.
      • getCenterHeader

        public Cell getCenterHeader()
        Получить центральный заголовок. Создать его, если он еще не получался.
      • getRightHeader

        public Cell getRightHeader()
        Получить правый заголовок. Создать его, если он еще не получался.
      • getLeftFooter

        public Cell getLeftFooter()
        Получить левый подвал. Создать его, если он еще не получался.
      • getCenterFooter

        public Cell getCenterFooter()
        Получить центральный подвал. Создать его, если он еще не получался.
      • getRightFooter

        public Cell getRightFooter()
        Получить правый подвал. Создать его, если он еще не получался.
      • createEmptyCellLine

        public CellLine createEmptyCellLine()
        Создать новую линию для ячейки со свойствами по умолчанию
        Returns:
        новая линия
      • createEmptyDrawingLine

        public DrawingLine createEmptyDrawingLine()
        Создать новую линию для фигуры со свойствами по умолчанию
        Returns:
        новая линия
      • resetPageBreaksCache

        public void resetPageBreaksCache()
        Сбросить кэш разрывов страниц.
      • getRowsPageBreaks

        public List<Integer> getRowsPageBreaks()
        Получить разрывы страниц в строках.
      • getColumnsPageBreak

        public HashMap<Columns,​List<Integer>> getColumnsPageBreak()
        Получить разрывы страниц в колонках.
      • getRowParagraphProperties

        public int getRowParagraphProperties​(int rowIndex)
        Получить свойства параграфа для строки.
      • setRowParagraphProperties

        public void setRowParagraphProperties​(int rowIndex,
                                              int paragraphProperties)
        Установить свойства параграфа для строки.
      • getColumnParagraphProperties

        public int getColumnParagraphProperties​(Columns columns,
                                                int columnIndex)
        Получить свойства параграфа для колонки.
      • setColumnParagraphProperties

        public void setColumnParagraphProperties​(Columns columns,
                                                 int columnIndex,
                                                 int paragraphProperties)
        Установить свойства параграфа для колонки.
      • getVerticalMergesInRow

        public void getVerticalMergesInRow​(TreeSet<org.eclipse.swt.graphics.Rectangle> mergesRects,
                                           int rowIndex)
        Получить вертикальные объединения в строке.
      • getCellCommentDrawing

        public CommentDrawing getCellCommentDrawing​(int rowIndex,
                                                    int columnIndex)
        Получить рисунок примечания для ячейки.
      • getDefaultCommentColor

        public int getDefaultCommentColor()
        Получить цвет комментария по умолчанию.
      • resetCommentDrawings

        public void resetCommentDrawings()
        Сбросить закешированные позиции рисунков примечаиний.
      • getCommentDrawingsInRows

        public List<CommentDrawing> getCommentDrawingsInRows​(int beginRowIndex,
                                                             int endRowIndex)
        Получить рисунки примечаний в указанной области.
      • findInCell

        public List<FoundPlace> findInCell​(Cell cell,
                                           SearchParameters searchParameters,
                                           int places)
        Найти текст в ячейке.
        Parameters:
        cell - - ячейка, в которой ищем.
        searchParameters - - параметры поиска.
        places - - места, в которых нужно искать. Побитовая маска SearchPlaces.
        Returns:
        места, в которых бала найдена строка.
      • replaceInCell

        public void replaceInCell​(Cell cell,
                                  Format format,
                                  SearchParameters searchParameters,
                                  int places,
                                  String replaceString)
        Заменить текст в ячейке.
        Parameters:
        cell - - ячейка, в которой ищем.
        searchParameters - - параметры поиска.
        places - - места, в которых нужно искать. Побитовая маска SearchPlaces.
      • findInString

        public boolean findInString​(String string,
                                    SearchParameters searchParameters)
        Checks if string matches serach parameters
        Parameters:
        string - - string being checked, must not be null
        searchParameters - - search parameters, must not be null
        Returns:
        true if string matches specified search parameters, false otherwise
      • getNextCell

        public Object getNextCell​(Selection selection,
                                  SearchDirection direction,
                                  Object currentObject,
                                  boolean cycle,
                                  boolean forward)
        Получить следующую ячейку в области.
        Parameters:
        selection - - область, в которой нужно искать.
        direction - - направление перехода.
        currentObject - - текущая точка. Point или Drawing.
        cycle - - нужно ли начинать с начала, когда обход полностью завершен.
        forward - - переходить вперед.
        Returns:
        координаты следующей точки. Point или Drawing.
      • findInDrawing

        public Object findInDrawing​(Drawing drawing,
                                    SearchParameters searchParameters,
                                    int places)
        Найти в рисунке.
        Parameters:
        drawing - - в каком рисунке искать.
        searchParameters - - что искать.
        places - - где искать. Составялется из SearchPlaces.
        Returns:
      • replaceInDrawing

        public void replaceInDrawing​(Drawing drawing,
                                     Format format,
                                     SearchParameters searchParameters,
                                     int places,
                                     String replaceString)
        Заменить в рисунке.
        Parameters:
        drawing - - в каком рисунке искать.
        searchParameters - - что искать.
        places - - где искать. Составялется из SearchPlaces.
      • getLineByKey

        public SpreadsheetLine getLineByKey​(int index)
        Получить линию по индексу.
      • clearAll

        public void clearAll()
        Clear whole documet contents.
      • clearCalculatedMerges

        public void clearCalculatedMerges()
        Clear collection of calculated merges.
      • getRuntimeVersion

        public Version getRuntimeVersion()
        Get runtime version.
        Returns:
        runtime version
      • getCurrentCompatibilityMode

        public CompatibilityMode getCurrentCompatibilityMode()
        Get current compatibility mode.
        Returns:
        compatibility mode, never null
      • setExtesionMethod

        public void setExtesionMethod​(ExtensionAlgorithm extensionMethod)
        Set extension algorithm value.
        Parameters:
        extensionMethod - ExtensionAlgorithm, must not be null
      • getSelectionFont

        public int getSelectionFont​(Selection selection,
                                    int mask,
                                    Font[] font)
        Получить шрифт выделеной области