public XlsSheetSourceCodeModule(int sheetIndex, XlsWorkbookSourceCodeModule workbookSource) { this(workbookSource.getWorkbookLoader().getSheetLoader(sheetIndex), workbookSource); }
public SpreadsheetConstants getSpreadsheetConstants() { return sheetSource.getWorkbookSource().getWorkbookLoader().getSpreadsheetConstants(); }
protected void stopEditing() { if (isEditing()) { sheetSource.getWorkbookSource().getWorkbookLoader().setCanUnload(true); writableGrid = null; } }
protected IWritableGrid getWritableGrid() { if (writableGrid == null) { sheetSource.getWorkbookSource().getWorkbookLoader().setCanUnload(false); writableGrid = new XlsSheetGridModel(sheetSource); // Prepare workbook for edit (load it to memory before editing starts) sheetSource.getSheet(); } return writableGrid; }
protected WorksheetSyntaxNode[] createWorksheetNodes(TablePartProcessor tablePartProcessor, XlsWorkbookSourceCodeModule workbookSourceModule) { int nsheets = workbookSourceModule.getWorkbookLoader().getNumberOfSheets(); WorksheetSyntaxNode[] sheetNodes = new WorksheetSyntaxNode[nsheets]; for (int i = 0; i < nsheets; i++) { XlsSheetSourceCodeModule sheetSource = new XlsSheetSourceCodeModule(i, workbookSourceModule); IGridTable[] tables = new XlsSheetGridModel(sheetSource).getTables(); sheetNodes[i] = createWorksheetSyntaxNode(tablePartProcessor, sheetSource, tables); } return sheetNodes; }
/** * Gets all grid tables from the sheet. */ protected IGridTable[] getAllGridTables(XlsSheetSourceCodeModule sheetSource, ExtensionModule module, LazyWorkbook workbook, Sheet sheet, XmlRulesModuleSourceCodeModule sourceCodeModule, List<ParseError> parseErrors, Collection<OpenLMessage> messages) { String uri = sheetSource.getUri(); LazyXmlRulesWorkbookLoader workbookLoader = (LazyXmlRulesWorkbookLoader) sheetSource.getWorkbookSource() .getWorkbookLoader(); StringGridBuilder gridBuilder = new StringGridBuilder(uri, workbookLoader.getExtensionModule().getFileName()); if (workbook.getXlsFileName().equals(ExtensionDescriptor.TYPES_WORKBOOK)) { TypeGridBuilder.build(gridBuilder, sheet, messages); } else { DataInstanceGridBuilder.build(gridBuilder, module, sheet, messages); TableGridBuilder.build(gridBuilder, module, sheet, messages); FunctionGridBuilder.build(gridBuilder, module, sheet, messages); CellExpressionGridBuilder.build(sheetSource, gridBuilder, sheet, parseErrors, messages); ArrayCellExpressionGridBuilder.build(gridBuilder, sheet, parseErrors, messages); if (sheet.getId() == ExtensionDescriptor.MAIN_SHEET_NUMBER) { EnvironmentGridBuilder.build(gridBuilder, sourceCodeModule, messages); } } return gridBuilder.build().getTables(); }
if (moduleSyntaxNode != null) { for (WorkbookSyntaxNode workbookSyntaxNode : moduleSyntaxNode.getWorkbookSyntaxNodes()) { workbookSyntaxNode.getWorkbookSourceCodeModule().getWorkbookLoader().setCanUnload(true); boolean currentModule = this.moduleInfo.getRulesRootPath() == null || module.getSourceFile().getName().equals(FileUtils.getName(this.moduleInfo.getRulesRootPath().getPath())); module.getWorkbookLoader().setCanUnload(!currentModule);