public LogicalTable(IGridTable table, int[] columnOffset, int[] rowOffset) { super(table); if (columnOffset == null) { int width = LogicalTableHelper.calcLogicalColumns(table); this.columnOffset = LogicalTableHelper.calculateColumnOffsets(width, table); } else this.columnOffset = columnOffset; if (rowOffset == null) { int height = LogicalTableHelper.calcLogicalRows(table); this.rowOffset = LogicalTableHelper.calculateRowOffsets(height, table); } else this.rowOffset = rowOffset; }
return table; int[] columnOffsets = getColumnOffsets(table); return new LogicalTable(gt, newColumnOffsets, getRowOffsets(table));
public void setTable(IGridTable gridTable) { table = LogicalTableHelper.logicalTable(gridTable); }
public LogicalTable(IGridTable table, int width, int height) { super(table); this.rowOffset = LogicalTableHelper.calculateRowOffsets(height, table); this.columnOffset = LogicalTableHelper.calculateColumnOffsets(width, table); }
/** * If there is no merged cells in the top row and left column - returns {@link SimpleLogicalTable} * in other case return {@link LogicalTable} * * @param table Original source grid table. * @return {@link ILogicalTable} table with correctly calculated height and width. */ public static ILogicalTable logicalTable(IGridTable table) { int width = calcLogicalColumns(table); int height = calcLogicalRows(table); if (width == table.getWidth() && height == table.getHeight()) { return new SimpleLogicalTable(table); } return new LogicalTable(table, width, height); }
valuesTable = LogicalTableHelper.make1ColumnTable(valuesTable); field == null ? RuleRowHelper.CONSTRUCTOR : field.getName(), null, LogicalTableHelper.logicalTable(valuesTable.getSource().getSubtable(0, 0, 1, 1)) .getSubtable(0, 0, 1, 1), toolAdapter);
private int calculateNonEmptyCells(SpreadsheetHeaderDefinition headerDefinition) { int fromRow = 0; int toRow = cellsHeaderExtractor.getHeight(); int fromColumn = 0; int toColumn = cellsHeaderExtractor.getWidth(); if (headerDefinition.isRow()) { fromRow = headerDefinition.getRow(); toRow = fromRow + 1; } else { fromColumn = headerDefinition.getColumn(); toColumn = fromColumn + 1; } int nonEmptyCellsCount = 0; for (int columnIndex = fromColumn; columnIndex < toColumn; columnIndex++) { for (int rowIndex = fromRow; rowIndex < toRow; rowIndex++) { ILogicalTable cell = LogicalTableHelper.mergeBounds(cellsHeaderExtractor.getRowNamesTable().getRow(rowIndex), cellsHeaderExtractor.getColumnNamesTable().getColumn(columnIndex)); String value = cell.getSource().getCell(0, 0).getStringValue(); if (value != null && value.trim().length() > 0) { nonEmptyCellsCount += 1; } } } return nonEmptyCellsCount; }
valuesTable = LogicalTableHelper.make1ColumnTable(valuesTable);
private ILogicalTable unmergeFirstRow(ILogicalTable toParse) { ILogicalTable unmerged = LogicalTableHelper.unmergeColumns(toParse, IDecisionTableConstants.SERVICE_COLUMNS_NUMBER, toParse.getWidth()); return unmerged; }
private static int[] getRowOffsets(ILogicalTable table) { if (table instanceof LogicalTable) { return ((LogicalTable)table).getRowOffset(); } return calculateRowOffsets(table.getHeight(), table.getSource()); }
private static int[] getColumnOffsets(ILogicalTable table) { if (table instanceof LogicalTable) { return ((LogicalTable)table).getColumnOffset(); } return calculateColumnOffsets(table.getWidth(), table.getSource()); }
data = LogicalTableHelper.mergeBounds(leftRows, colTable);
boolean valuesAnArray = isValuesAnArray(paramType); valuesTable = LogicalTableHelper.make1ColumnTable(valuesTable);
public TableSyntaxNode(String type, GridLocation pos, XlsSheetSourceCodeModule module, IGridTable gridtable, HeaderSyntaxNode header) { super(type, pos, null, module); table = LogicalTableHelper.logicalTable(gridtable); headerNode = header; header.setParent(this); }
Map<Integer, SpreadsheetHeaderDefinition> rowHeaders = componentsBuilder.getRowHeaders(); ILogicalTable cell = LogicalTableHelper.mergeBounds( componentsBuilder.getCellsHeadersExtractor().getRowNamesTable().getRow(rowIndex), componentsBuilder.getCellsHeadersExtractor().getColumnNamesTable().getColumn(columnIndex));
dataTable = LogicalTableHelper.make1ColumnTable(dataTable);
public ILogicalTable getSubtable(int column, int row, int width, int height) { if (width == 0 || height == 0) { return null; } int startRow = rowOffset[row]; int endRow = rowOffset[row + height]; int startColumn = columnOffset[column]; int endColumn = columnOffset[column + width]; return LogicalTableHelper.logicalTable( getSource().getSubtable(startColumn, startRow, endColumn - startColumn, endRow - startRow)); }
ILogicalTable cell = LogicalTableHelper.mergeBounds( componentsBuilder.getCellsHeadersExtractor().getRowNamesTable().getRow(rowIndex), componentsBuilder.getCellsHeadersExtractor().getColumnNamesTable().getColumn(columnIndex));
public ILogicalTable transpose() { return LogicalTableHelper.logicalTable(getSource().transpose()); }
public static ILogicalTable logicalTable( IGridTable table, ILogicalTable columnOffsetsTable, ILogicalTable rowOffsetsTable) { int[] columnOffsets = null; if (columnOffsetsTable != null && columnOffsetsTable instanceof LogicalTable) { columnOffsets = ((LogicalTable)columnOffsetsTable).getColumnOffset(); } int[] rowOffsets = null; if (rowOffsetsTable != null && rowOffsetsTable instanceof LogicalTable) { rowOffsets = ((LogicalTable)rowOffsetsTable).getRowOffset(); } if (rowOffsets == null && columnOffsets == null) return LogicalTableHelper.logicalTable(table); return new LogicalTable(table, columnOffsets, rowOffsets); }