public static boolean intersects(XlsUrlParser p1, XlsUrlParser p2) { if (!p1.getWbPath().equals(p2.getWbPath()) || !p1.getWbName().equals(p2.getWbName()) || !p1.getWsName() .equals(p2.getWsName())) { return false; } if (p1.getRange() == null || p2.getRange() == null) { return false; } return IGridRegion.Tool.intersects(IGridRegion.Tool.makeRegion(p1.getRange()), IGridRegion.Tool.makeRegion(p2.getRange())); } }
public static boolean canInsertColumns(IGridTable table, int nCols) { IGridRegion region = getOriginalRegion(table); GridRegion newRegion = new GridRegion(region.getTop() - 1, region.getRight() + 1, region.getBottom() + 1, region.getRight() + 1 + nCols); IGridTable[] allGridTables = table.getGrid().getTables(); for (IGridTable allGridTable : allGridTables) { if (!table.getUri().equals(allGridTable.getUri()) && IGridRegion.Tool.intersects(newRegion, allGridTable.getRegion())) { return false; } } return true; }
public static boolean canInsertRows(IGridTable table, int nRows) { IGridRegion region = getOriginalRegion(table); GridRegion newRegion = new GridRegion(region.getBottom() + 1, region.getLeft() - 1, region.getBottom() + 1 + nRows, region.getRight() + 1); IGridTable[] allGridTables = table.getGrid().getTables(); for (IGridTable allGridTable : allGridTables) { if (!table.getUri().equals(allGridTable.getUri()) && IGridRegion.Tool.intersects(newRegion, allGridTable.getRegion())) { return false; } } return true; }