@Override public ICellStyle getStyle(int row, int column) { int index = cellIndexes[row - region.getTop()][column - region.getLeft()]; return new OpenLCellStyle(index, extendedFormats.get(index), palette, customFormats); }
private void saveStyleIndex(CellValueRecordInterface r, int row, short column) { short styleIndex = r.getXFIndex(); int internalRow = row - tableRegion.getTop(); int internalCol = column - tableRegion.getLeft(); cellIndexes[internalRow][internalCol] = styleIndex; }
public IGridRegion getRegionStartingAt(int colFrom, int rowFrom) { IGridRegion reg = getRegionContaining(colFrom, rowFrom); if (reg != null && reg.getLeft() == colFrom && reg.getTop() == rowFrom) { return reg; } return null; }
public int getWidth() { if (region == null){ return delegate.getWidth(); } return region.getRight() - region.getLeft() + 1; }
public static boolean intersects(IGridRegion i1, IGridRegion i2) { int left = Math.max(i1.getLeft(), i2.getLeft()); int right = Math.min(i1.getRight(), i2.getRight()); if (right < left) { return false; } int top = Math.max(i1.getTop(), i2.getTop()); int bottom = Math.min(i1.getBottom(), i2.getBottom()); return top <= bottom; }
public void remove(IGridRegion region) { if (region != null) { for (int row = region.getTop(); row <= region.getBottom(); row++) { Map<DisjointInterval, IGridRegion> regionsMap = pool.get(row); regionsMap.remove(new DisjointInterval(region.getLeft(), region.getRight())); if (regionsMap.isEmpty()) { pool.remove(row); } } } }
@Override public ICell getTopLeftCellFromRegion() { IGridRegion region = getRegion(); return region == null ? this : grid.getCell(region.getLeft(), region.getTop()); }
public static IUndoableGridTableAction removeRows(int nRows, int startRow, IGridRegion region, IGrid grid, MetaInfoWriter metaInfoWriter) { int w = IGridRegion.Tool.width(region); int h = IGridRegion.Tool.height(region); int firstToMove = region.getTop() + startRow + nRows; ArrayList<IUndoableGridTableAction> actions = new ArrayList<>(w * (h - startRow)); // resize merged regions -> shift cells by row -> clear cells actions.addAll(resizeMergedRegions(grid, startRow, nRows, REMOVE, ROWS, region, metaInfoWriter)); actions.addAll(shiftRows(firstToMove, nRows, REMOVE, region, grid, metaInfoWriter)); actions.addAll(clearCells(region.getLeft(), w, region.getBottom() + 1 - nRows, nRows, grid, metaInfoWriter)); return new UndoableCompositeAction(actions); } }
public synchronized void setFontItalic(int row, int col, boolean italic) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetItalicAction( region.getLeft() + col, region.getTop() + row, italic); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setAlignment(int row, int col, HorizontalAlignment alignment) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetAlignmentAction( region.getLeft() + col, region.getTop() + row, alignment); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setFontUnderline(int row, int col, boolean underlined) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetUnderlineAction( region.getLeft() + col, region.getTop() + row, underlined); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setIndent(int row, int col, int indent) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetIndentAction( region.getLeft() + col, region.getTop() + row, indent); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setFontBold(int row, int col, boolean bold) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetBoldAction( region.getLeft() + col, region.getTop() + row, bold); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setFillColor(int row, int col, short[] color) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetFillColorAction( region.getLeft() + col, region.getTop() + row, color); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setFontColor(int row, int col, short[] color) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetColorAction( region.getLeft() + col, region.getTop() + row, color); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setAlignment(int row, int col, HorizontalAlignment alignment) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetAlignmentAction( region.getLeft() + col, region.getTop() + row, alignment, getMetaInfoWriter()); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setFontBold(int row, int col, boolean bold) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetBoldAction( region.getLeft() + col, region.getTop() + row, bold, getMetaInfoWriter()); ua.doAction(gridTable); actions.addNewAction(ua); }
public synchronized void setFillColor(int row, int col, short[] color) { IGridRegion region = getOriginalTableRegion(); IUndoableGridTableAction ua = new SetFillColorAction( region.getLeft() + col, region.getTop() + row, color, getMetaInfoWriter()); ua.doAction(gridTable); actions.addNewAction(ua); }
public void moveRegion(boolean isInsert, boolean isColumns, int rowsOrColumns, IGridRegion r) { int inc = isInsert ? rowsOrColumns : -rowsOrColumns; if (isColumns) { ((GridRegion) r).setLeft(r.getLeft() + inc); ((GridRegion) r).setRight(r.getRight() + inc); } else { ((GridRegion) r).setTop(r.getTop() + inc); ((GridRegion) r).setBottom(r.getBottom() + inc); } } }
private boolean isSpecialRow(int rowNum) { ColumnMatch columnMatch = getBoundNode().getColumnMatch(); IGrid grid = columnMatch.getSyntaxNode().getTableBody().getSource().getGrid(); int firstNameRowNum = getSpecialRowCount(columnMatch); IGridRegion firstNameRegion = columnMatch.getRows().get(firstNameRowNum).get(NAMES)[0].getGridRegion(); ICell cell = grid.getCell(firstNameRegion.getLeft(), firstNameRegion.getTop()); return rowNum < cell.getAbsoluteRow(); }