summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/sheet
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 09:06:44 +0000
commited5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch)
tree7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /offapi/com/sun/star/sheet
parentInitial commit. (diff)
downloadlibreoffice-upstream/4%7.4.7.tar.xz
libreoffice-upstream/4%7.4.7.zip
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'offapi/com/sun/star/sheet')
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCell.idl111
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCsvCell.idl61
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCsvRuler.idl60
-rw-r--r--offapi/com/sun/star/sheet/AccessibleCsvTable.idl67
-rw-r--r--offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl127
-rw-r--r--offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl129
-rw-r--r--offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl146
-rw-r--r--offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl158
-rw-r--r--offapi/com/sun/star/sheet/ActivationEvent.idl49
-rw-r--r--offapi/com/sun/star/sheet/AddIn.idl139
-rw-r--r--offapi/com/sun/star/sheet/AddressConvention.idl61
-rw-r--r--offapi/com/sun/star/sheet/Border.idl58
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotation.idl66
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotationShape.idl45
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotations.idl58
-rw-r--r--offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/CellAreaLink.idl95
-rw-r--r--offapi/com/sun/star/sheet/CellAreaLinks.idl66
-rw-r--r--offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/CellDeleteMode.idl63
-rw-r--r--offapi/com/sun/star/sheet/CellFlags.idl94
-rw-r--r--offapi/com/sun/star/sheet/CellFormatRanges.idl62
-rw-r--r--offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/CellInsertMode.idl63
-rw-r--r--offapi/com/sun/star/sheet/Cells.idl49
-rw-r--r--offapi/com/sun/star/sheet/CellsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/ColorScale.idl32
-rw-r--r--offapi/com/sun/star/sheet/ColorScaleEntryType.idl35
-rw-r--r--offapi/com/sun/star/sheet/ComplexReference.idl49
-rw-r--r--offapi/com/sun/star/sheet/ConditionEntryType.idl34
-rw-r--r--offapi/com/sun/star/sheet/ConditionFormatEntry.idl37
-rw-r--r--offapi/com/sun/star/sheet/ConditionFormatOperator.idl73
-rw-r--r--offapi/com/sun/star/sheet/ConditionOperator.idl88
-rw-r--r--offapi/com/sun/star/sheet/ConditionOperator2.idl87
-rw-r--r--offapi/com/sun/star/sheet/ConditionalFormat.idl48
-rw-r--r--offapi/com/sun/star/sheet/ConsolidationDescriptor.idl48
-rw-r--r--offapi/com/sun/star/sheet/DDEItemInfo.idl54
-rw-r--r--offapi/com/sun/star/sheet/DDELink.idl69
-rw-r--r--offapi/com/sun/star/sheet/DDELinkInfo.idl66
-rw-r--r--offapi/com/sun/star/sheet/DDELinkMode.idl58
-rw-r--r--offapi/com/sun/star/sheet/DDELinks.idl76
-rw-r--r--offapi/com/sun/star/sheet/DDELinksEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/DataBar.idl63
-rw-r--r--offapi/com/sun/star/sheet/DataBarAxis.idl29
-rw-r--r--offapi/com/sun/star/sheet/DataBarEntryType.idl37
-rw-r--r--offapi/com/sun/star/sheet/DataImportMode.idl58
-rw-r--r--offapi/com/sun/star/sheet/DataPilotDescriptor.idl126
-rw-r--r--offapi/com/sun/star/sheet/DataPilotField.idl215
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl69
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldFilter.idl53
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroup.idl109
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl121
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl51
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl141
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl47
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroups.idl105
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl51
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl54
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl73
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl63
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldReference.idl75
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl55
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl161
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl52
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl60
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl67
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFields.idl65
-rw-r--r--offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/DataPilotItem.idl70
-rw-r--r--offapi/com/sun/star/sheet/DataPilotItems.idl61
-rw-r--r--offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl61
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSource.idl99
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceDimension.idl138
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl49
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl51
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl55
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceLevel.idl87
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceLevels.idl50
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceMember.idl79
-rw-r--r--offapi/com/sun/star/sheet/DataPilotSourceMembers.idl50
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTable.idl59
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl69
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablePositionData.idl78
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablePositionType.idl65
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTableResultData.idl73
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTables.idl60
-rw-r--r--offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/DataResult.idl51
-rw-r--r--offapi/com/sun/star/sheet/DataResultFlags.idl56
-rw-r--r--offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl77
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRange.idl135
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRanges.idl64
-rw-r--r--offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/DateCondition.idl34
-rw-r--r--offapi/com/sun/star/sheet/DateType.idl49
-rw-r--r--offapi/com/sun/star/sheet/DimensionFlags.idl60
-rw-r--r--offapi/com/sun/star/sheet/DocumentSettings.idl122
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLink.idl46
-rw-r--r--offapi/com/sun/star/sheet/ExternalDocLinks.idl46
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkInfo.idl64
-rw-r--r--offapi/com/sun/star/sheet/ExternalLinkType.idl63
-rw-r--r--offapi/com/sun/star/sheet/ExternalReference.idl81
-rw-r--r--offapi/com/sun/star/sheet/ExternalSheetCache.idl46
-rw-r--r--offapi/com/sun/star/sheet/FillDateMode.idl61
-rw-r--r--offapi/com/sun/star/sheet/FillDirection.idl59
-rw-r--r--offapi/com/sun/star/sheet/FillMode.idl78
-rw-r--r--offapi/com/sun/star/sheet/FilterConnection.idl49
-rw-r--r--offapi/com/sun/star/sheet/FilterFieldType.idl40
-rw-r--r--offapi/com/sun/star/sheet/FilterFieldValue.idl62
-rw-r--r--offapi/com/sun/star/sheet/FilterFormulaParser.idl42
-rw-r--r--offapi/com/sun/star/sheet/FilterOperator.idl98
-rw-r--r--offapi/com/sun/star/sheet/FilterOperator2.idl133
-rw-r--r--offapi/com/sun/star/sheet/FormulaLanguage.idl83
-rw-r--r--offapi/com/sun/star/sheet/FormulaMapGroup.idl67
-rw-r--r--offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl202
-rw-r--r--offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl51
-rw-r--r--offapi/com/sun/star/sheet/FormulaOpCodeMapper.idl37
-rw-r--r--offapi/com/sun/star/sheet/FormulaParser.idl101
-rw-r--r--offapi/com/sun/star/sheet/FormulaResult.idl53
-rw-r--r--offapi/com/sun/star/sheet/FormulaToken.idl52
-rw-r--r--offapi/com/sun/star/sheet/FunctionAccess.idl77
-rw-r--r--offapi/com/sun/star/sheet/FunctionArgument.idl56
-rw-r--r--offapi/com/sun/star/sheet/FunctionCategory.idl95
-rw-r--r--offapi/com/sun/star/sheet/FunctionDescription.idl72
-rw-r--r--offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/FunctionDescriptions.idl71
-rw-r--r--offapi/com/sun/star/sheet/GeneralFunction.idl105
-rw-r--r--offapi/com/sun/star/sheet/GeneralFunction2.idl111
-rw-r--r--offapi/com/sun/star/sheet/GlobalSheetSettings.idl42
-rw-r--r--offapi/com/sun/star/sheet/GoalResult.idl47
-rw-r--r--offapi/com/sun/star/sheet/HeaderFooterContent.idl47
-rw-r--r--offapi/com/sun/star/sheet/IconSet.idl40
-rw-r--r--offapi/com/sun/star/sheet/IconSetFormatEntry.idl36
-rw-r--r--offapi/com/sun/star/sheet/IconSetType.idl62
-rw-r--r--offapi/com/sun/star/sheet/LabelRange.idl49
-rw-r--r--offapi/com/sun/star/sheet/LabelRanges.idl67
-rw-r--r--offapi/com/sun/star/sheet/LabelRangesEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/LocalizedName.idl51
-rw-r--r--offapi/com/sun/star/sheet/MemberResult.idl67
-rw-r--r--offapi/com/sun/star/sheet/MemberResultFlags.idl62
-rw-r--r--offapi/com/sun/star/sheet/MoveDirection.idl59
-rw-r--r--offapi/com/sun/star/sheet/NameToken.idl31
-rw-r--r--offapi/com/sun/star/sheet/NamedRange.idl90
-rw-r--r--offapi/com/sun/star/sheet/NamedRangeFlag.idl58
-rw-r--r--offapi/com/sun/star/sheet/NamedRanges.idl77
-rw-r--r--offapi/com/sun/star/sheet/NamedRangesEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/NoConvergenceException.idl40
-rw-r--r--offapi/com/sun/star/sheet/PasteOperation.idl64
-rw-r--r--offapi/com/sun/star/sheet/RangeSelectionArguments.idl62
-rw-r--r--offapi/com/sun/star/sheet/RangeSelectionEvent.idl45
-rw-r--r--offapi/com/sun/star/sheet/RecentFunctions.idl38
-rw-r--r--offapi/com/sun/star/sheet/ReferenceFlags.idl79
-rw-r--r--offapi/com/sun/star/sheet/ResultEvent.idl50
-rw-r--r--offapi/com/sun/star/sheet/Scenario.idl93
-rw-r--r--offapi/com/sun/star/sheet/Scenarios.idl62
-rw-r--r--offapi/com/sun/star/sheet/ScenariosEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/Shape.idl74
-rw-r--r--offapi/com/sun/star/sheet/SheetCell.idl262
-rw-r--r--offapi/com/sun/star/sheet/SheetCellCursor.idl67
-rw-r--r--offapi/com/sun/star/sheet/SheetCellRange.idl296
-rw-r--r--offapi/com/sun/star/sheet/SheetCellRanges.idl187
-rw-r--r--offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/SheetFilterDescriptor.idl129
-rw-r--r--offapi/com/sun/star/sheet/SheetLink.idl85
-rw-r--r--offapi/com/sun/star/sheet/SheetLinkMode.idl57
-rw-r--r--offapi/com/sun/star/sheet/SheetLinks.idl70
-rw-r--r--offapi/com/sun/star/sheet/SheetLinksEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/SheetRangesQuery.idl51
-rw-r--r--offapi/com/sun/star/sheet/SheetSortDescriptor.idl81
-rw-r--r--offapi/com/sun/star/sheet/SheetSortDescriptor2.idl94
-rw-r--r--offapi/com/sun/star/sheet/SingleReference.idl73
-rw-r--r--offapi/com/sun/star/sheet/Solver.idl38
-rw-r--r--offapi/com/sun/star/sheet/SolverConstraint.idl51
-rw-r--r--offapi/com/sun/star/sheet/SolverConstraintOperator.idl52
-rw-r--r--offapi/com/sun/star/sheet/Spreadsheet.idl202
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetDocument.idl192
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl238
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl75
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetView.idl103
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl48
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewPane.idl55
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl169
-rw-r--r--offapi/com/sun/star/sheet/Spreadsheets.idl70
-rw-r--r--offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/StatusBarFunction.idl74
-rw-r--r--offapi/com/sun/star/sheet/SubTotalColumn.idl52
-rw-r--r--offapi/com/sun/star/sheet/SubTotalDescriptor.idl119
-rw-r--r--offapi/com/sun/star/sheet/SubTotalField.idl50
-rw-r--r--offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormat.idl110
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormatField.idl282
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormats.idl66
-rw-r--r--offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/TableCellStyle.idl79
-rw-r--r--offapi/com/sun/star/sheet/TableConditionalEntry.idl53
-rw-r--r--offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl49
-rw-r--r--offapi/com/sun/star/sheet/TableConditionalFormat.idl82
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField.idl74
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField2.idl81
-rw-r--r--offapi/com/sun/star/sheet/TableFilterField3.idl46
-rw-r--r--offapi/com/sun/star/sheet/TableOperationMode.idl63
-rw-r--r--offapi/com/sun/star/sheet/TablePageBreakData.idl50
-rw-r--r--offapi/com/sun/star/sheet/TablePageStyle.idl185
-rw-r--r--offapi/com/sun/star/sheet/TableValidation.idl117
-rw-r--r--offapi/com/sun/star/sheet/TableValidationVisibility.idl54
-rw-r--r--offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl63
-rw-r--r--offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl50
-rw-r--r--offapi/com/sun/star/sheet/ValidationAlertStyle.idl60
-rw-r--r--offapi/com/sun/star/sheet/ValidationType.idl78
-rw-r--r--offapi/com/sun/star/sheet/VolatileResult.idl51
-rw-r--r--offapi/com/sun/star/sheet/XActivationBroadcaster.idl68
-rw-r--r--offapi/com/sun/star/sheet/XActivationEventListener.idl59
-rw-r--r--offapi/com/sun/star/sheet/XAddIn.idl199
-rw-r--r--offapi/com/sun/star/sheet/XAreaLink.idl70
-rw-r--r--offapi/com/sun/star/sheet/XAreaLinks.idl78
-rw-r--r--offapi/com/sun/star/sheet/XArrayFormulaRange.idl55
-rw-r--r--offapi/com/sun/star/sheet/XArrayFormulaTokens.idl51
-rw-r--r--offapi/com/sun/star/sheet/XCalculatable.idl79
-rw-r--r--offapi/com/sun/star/sheet/XCellAddressable.idl50
-rw-r--r--offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl59
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeAddressable.idl50
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeData.idl57
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeFormula.idl67
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeMovement.idl103
-rw-r--r--offapi/com/sun/star/sheet/XCellRangeReferrer.idl52
-rw-r--r--offapi/com/sun/star/sheet/XCellRangesAccess.idl125
-rw-r--r--offapi/com/sun/star/sheet/XCellRangesQuery.idl149
-rw-r--r--offapi/com/sun/star/sheet/XCellSeries.idl87
-rw-r--r--offapi/com/sun/star/sheet/XColorScaleEntry.idl44
-rw-r--r--offapi/com/sun/star/sheet/XCompatibilityNames.idl70
-rw-r--r--offapi/com/sun/star/sheet/XConditionEntry.idl32
-rw-r--r--offapi/com/sun/star/sheet/XConditionalFormat.idl39
-rw-r--r--offapi/com/sun/star/sheet/XConditionalFormats.idl39
-rw-r--r--offapi/com/sun/star/sheet/XConsolidatable.idl70
-rw-r--r--offapi/com/sun/star/sheet/XConsolidationDescriptor.idl117
-rw-r--r--offapi/com/sun/star/sheet/XDDELink.idl60
-rw-r--r--offapi/com/sun/star/sheet/XDDELinkResults.idl64
-rw-r--r--offapi/com/sun/star/sheet/XDDELinks.idl74
-rw-r--r--offapi/com/sun/star/sheet/XDataBarEntry.idl38
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl61
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotDescriptor.idl118
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotField.idl51
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl155
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotMemberResults.idl54
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotResults.idl57
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTable.idl56
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTable2.idl106
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTables.idl85
-rw-r--r--offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl50
-rw-r--r--offapi/com/sun/star/sheet/XDatabaseRange.idl100
-rw-r--r--offapi/com/sun/star/sheet/XDatabaseRanges.idl55
-rw-r--r--offapi/com/sun/star/sheet/XDimensionsSupplier.idl50
-rw-r--r--offapi/com/sun/star/sheet/XDocumentAuditing.idl49
-rw-r--r--offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl68
-rw-r--r--offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl74
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLink.idl88
-rw-r--r--offapi/com/sun/star/sheet/XExternalDocLinks.idl57
-rw-r--r--offapi/com/sun/star/sheet/XExternalSheetCache.idl92
-rw-r--r--offapi/com/sun/star/sheet/XExternalSheetName.idl66
-rw-r--r--offapi/com/sun/star/sheet/XFillAcrossSheet.idl47
-rw-r--r--offapi/com/sun/star/sheet/XFilterFormulaParser.idl47
-rw-r--r--offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl132
-rw-r--r--offapi/com/sun/star/sheet/XFormulaParser.idl56
-rw-r--r--offapi/com/sun/star/sheet/XFormulaQuery.idl83
-rw-r--r--offapi/com/sun/star/sheet/XFormulaTokens.idl51
-rw-r--r--offapi/com/sun/star/sheet/XFunctionAccess.idl106
-rw-r--r--offapi/com/sun/star/sheet/XFunctionDescriptions.idl64
-rw-r--r--offapi/com/sun/star/sheet/XGlobalSheetSettings.idl154
-rw-r--r--offapi/com/sun/star/sheet/XGoalSeek.idl64
-rw-r--r--offapi/com/sun/star/sheet/XHeaderFooterContent.idl68
-rw-r--r--offapi/com/sun/star/sheet/XHierarchiesSupplier.idl52
-rw-r--r--offapi/com/sun/star/sheet/XIconSetEntry.idl40
-rw-r--r--offapi/com/sun/star/sheet/XLabelRange.idl68
-rw-r--r--offapi/com/sun/star/sheet/XLabelRanges.idl63
-rw-r--r--offapi/com/sun/star/sheet/XLevelsSupplier.idl52
-rw-r--r--offapi/com/sun/star/sheet/XMembersAccess.idl56
-rw-r--r--offapi/com/sun/star/sheet/XMembersSupplier.idl51
-rw-r--r--offapi/com/sun/star/sheet/XMultiFormulaTokens.idl78
-rw-r--r--offapi/com/sun/star/sheet/XMultipleOperation.idl80
-rw-r--r--offapi/com/sun/star/sheet/XNamedRange.idl90
-rw-r--r--offapi/com/sun/star/sheet/XNamedRanges.idl117
-rw-r--r--offapi/com/sun/star/sheet/XPrintAreas.idl140
-rw-r--r--offapi/com/sun/star/sheet/XRangeSelection.idl79
-rw-r--r--offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl49
-rw-r--r--offapi/com/sun/star/sheet/XRangeSelectionListener.idl52
-rw-r--r--offapi/com/sun/star/sheet/XRecentFunctions.idl68
-rw-r--r--offapi/com/sun/star/sheet/XResultListener.idl48
-rw-r--r--offapi/com/sun/star/sheet/XScenario.idl73
-rw-r--r--offapi/com/sun/star/sheet/XScenarioEnhanced.idl55
-rw-r--r--offapi/com/sun/star/sheet/XScenarios.idl67
-rw-r--r--offapi/com/sun/star/sheet/XScenariosSupplier.idl48
-rw-r--r--offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl33
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotation.idl71
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl49
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl50
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotations.idl73
-rw-r--r--offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl48
-rw-r--r--offapi/com/sun/star/sheet/XSheetAuditing.idl102
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellCursor.idl95
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellRange.idl56
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl105
-rw-r--r--offapi/com/sun/star/sheet/XSheetCellRanges.idl71
-rw-r--r--offapi/com/sun/star/sheet/XSheetCondition.idl106
-rw-r--r--offapi/com/sun/star/sheet/XSheetCondition2.idl48
-rw-r--r--offapi/com/sun/star/sheet/XSheetConditionalEntries.idl84
-rw-r--r--offapi/com/sun/star/sheet/XSheetConditionalEntry.idl55
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl53
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl58
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl46
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterable.idl64
-rw-r--r--offapi/com/sun/star/sheet/XSheetFilterableEx.idl55
-rw-r--r--offapi/com/sun/star/sheet/XSheetLinkable.idl112
-rw-r--r--offapi/com/sun/star/sheet/XSheetOperation.idl68
-rw-r--r--offapi/com/sun/star/sheet/XSheetOutline.idl116
-rw-r--r--offapi/com/sun/star/sheet/XSheetPageBreak.idl76
-rw-r--r--offapi/com/sun/star/sheet/XSheetPastable.idl73
-rw-r--r--offapi/com/sun/star/sheet/XSolver.idl69
-rw-r--r--offapi/com/sun/star/sheet/XSolverDescription.idl53
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheet.idl61
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheetDocument.idl50
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheetView.idl53
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheets.idl78
-rw-r--r--offapi/com/sun/star/sheet/XSpreadsheets2.idl59
-rw-r--r--offapi/com/sun/star/sheet/XSubTotalCalculatable.idl77
-rw-r--r--offapi/com/sun/star/sheet/XSubTotalDescriptor.idl63
-rw-r--r--offapi/com/sun/star/sheet/XSubTotalField.idl68
-rw-r--r--offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl62
-rw-r--r--offapi/com/sun/star/sheet/XUnnamedDatabaseRanges.idl45
-rw-r--r--offapi/com/sun/star/sheet/XUsedAreaCursor.idl64
-rw-r--r--offapi/com/sun/star/sheet/XViewFreezable.idl61
-rw-r--r--offapi/com/sun/star/sheet/XViewPane.idl70
-rw-r--r--offapi/com/sun/star/sheet/XViewPanesSupplier.idl48
-rw-r--r--offapi/com/sun/star/sheet/XViewSplitable.idl84
-rw-r--r--offapi/com/sun/star/sheet/XVolatileResult.idl56
-rw-r--r--offapi/com/sun/star/sheet/opencl/OpenCLDevice.idl37
-rw-r--r--offapi/com/sun/star/sheet/opencl/OpenCLPlatform.idl33
-rw-r--r--offapi/com/sun/star/sheet/opencl/XOpenCLSelection.idl106
340 files changed, 24948 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sheet/AccessibleCell.idl b/offapi/com/sun/star/sheet/AccessibleCell.idl
new file mode 100644
index 000000000..24a841c35
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCell.idl
@@ -0,0 +1,111 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_AccessibleCell_idl__
+#define __com_sun_star_sheet_AccessibleCell_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleValue.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible view of a spreadsheet document
+
+ @since OOo 1.1.2
+
+ */
+service AccessibleCell
+{
+ /** This interface gives access to the whole content of the cell.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible spreadsheet.</li>
+ <li>This object has no children.</li>
+ <li>The description is ???.</li>
+ <li>The name is something like A10 or B23 or so on.</li>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::TABLE_CELL</li>
+ <li>There are relations between the cell and the shapes with an anchor
+ on this cell.</li>
+ <li>The following states are supported:
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is always false if the
+ parent table is showed, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is false if the cell
+ or the table is protected, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is false if the cell
+ has no background color or graphic, otherwise it is
+ true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is false if the
+ table is protected, otherwise is it true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is true, if the cell is selected.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::TRANSIENT
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is true if the
+ Bounding Box lies in Bounding Box of the parent. Otherwise
+ it is false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is false if the
+ column/row with this cell is filtered or hidden.
+ Otherwise is true.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the cell.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to the value of the cell.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleValue;
+
+ /** This interface gives access to the text representation of the cell content.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AccessibleCsvCell.idl b/offapi/com/sun/star/sheet/AccessibleCsvCell.idl
new file mode 100644
index 000000000..1cf8c47f6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCsvCell.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_AccessibleCsvCell_idl__
+#define __com_sun_star_sheet_AccessibleCsvCell_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible object of a cell in the CSV import dialog.
+ @see ::com::sun::star::sheet::AccessibleCsvTable
+
+ @since OOo 1.1.2
+ */
+service AccessibleCsvCell
+{
+
+ /** This interface gives access to the whole content of the cell.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+
+ /** This interface gives access to the visibility of the cell.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+
+ /** This interface gives access to the text representation of the cell
+ content.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl b/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl
new file mode 100644
index 000000000..61342b0e8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCsvRuler.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_AccessibleCsvRuler_idl__
+#define __com_sun_star_sheet_AccessibleCsvRuler_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleText.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible object of the ruler in the CSV import dialog.
+ @see ::com::sun::star::sheet::AccessibleCsvTable
+
+ @since OOo 1.1.2
+ */
+service AccessibleCsvRuler
+{
+
+ /** This interface gives access to the whole content of the ruler.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+
+ /** This interface gives access to the visibility of the ruler.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+
+ /** This interface gives access to the text representation of the ruler.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleText;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AccessibleCsvTable.idl b/offapi/com/sun/star/sheet/AccessibleCsvTable.idl
new file mode 100644
index 000000000..581a6ef92
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleCsvTable.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_AccessibleCsvTable_idl__
+#define __com_sun_star_sheet_AccessibleCsvTable_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleTable.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible object of the data table in the CSV import dialog.
+ @see ::com::sun::star::sheet::AccessibleCsvRuler
+ @see ::com::sun::star::sheet::AccessibleCsvCell
+
+ @since OOo 1.1.2
+ */
+service AccessibleCsvTable
+{
+
+ /** This interface gives access to the whole content of the table.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+
+ /** This interface gives access to the visibility of the table.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+
+ /** This interface gives access to functionality specific for a table.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleTable;
+
+
+ /** This interface gives access to selection functionality.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl b/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl
new file mode 100644
index 000000000..248b02747
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessiblePageHeaderFooterAreasView.idl
@@ -0,0 +1,127 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_AccessiblePageHeaderFooterAreasView_idl__
+#define __com_sun_star_sheet_AccessiblePageHeaderFooterAreasView_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible view of the Header/Footer in a spreadsheet page preview
+
+ @since OOo 1.1.2
+
+ */
+service AccessiblePageHeaderFooterAreasView
+{
+ /** This interface gives access to the three Header/Footer areas in the
+ page preview.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible spreadsheet page preview.</li>
+ <li>The children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ all support the interface
+ ::com::sun::star::accessibility::XAccessible.
+ Calling
+ ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
+ for these children
+ returns an object that supports one of the following services.</li>
+ <ul>
+ <li>::com::sun::star::text::AccessibleHeaderFooterView:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned for
+ every header and footer that is at least partially visible.</li>
+ </ul>
+ <p>The following rules apply to the children order.</p>
+ <ul>
+ <li>The first is the left area, then the center area and the last
+ is the right area.</li>
+ </ul>
+ <li>The description is ???.</li>
+ <li>The name is Header or Footer respectively.</li>
+ <li>The role is ::com::sun::star::accessibility::AccessibleRole::HEADER
+ or ::com::sun::star::accessibility::AccessibleRole::FOOTER.</li>
+ <li>There are no relations.</li>
+ <li>The following states are supported:
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is always false until the preview is closed.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is always false,
+ because the document is not editable in the page preview.
+ So it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ makes no sense on
+ a document and so it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is always
+ false, because in a page preview a selection is not
+ possible. So it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is always false,
+ because you can resize the window of the page preview, but
+ not the page preview itself. So it is left out of the
+ list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always false,
+ because in the page preview is no selection possible. So it
+ is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is always false,
+ because in the page preview is no selection possible. So it
+ is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always true.</li>
+ </ul>
+ </li>
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the document.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This is the interface for listeners */
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl
new file mode 100644
index 000000000..86422f264
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheet.idl
@@ -0,0 +1,129 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheet_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheet_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleTable.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible view of a spreadsheet document
+
+ @since OOo 1.1.2
+*/
+service AccessibleSpreadsheet
+{
+ /** This interface gives access to any object in the currently visible table
+ on the desktop.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the accessible spreadsheet document view.</li>
+ <li>The children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ all support the interface XAccessible. Calling
+ ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
+ for these children
+ returns an object that supports the following service.</li>
+ <ul>
+ <li>::com::sun::star::sheet::AccessibleCell:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned for
+ every cell in this table.</li>
+ </ul>
+ <p>The following rules apply to the children order.</p>
+ <ul>
+ <li>All the children are cells. The order of this cells is to
+ the order on the screen. This means that the first cell is the
+ cell in the left top edge of the table and the last one is the
+ cell in the right bottom edge of the table. The second is the
+ cell in the first row and second column and so on.</li>
+ </ul>
+ <li>The description is ???.</li>
+ <li>The name is the given table name.</li>
+ <li>The role is ::com::sun::star::accessibility::AccessibleRole::TABLE
+ </li>
+ <li>There are relations between the table and the shapes with an anchor
+ on this table (not with an anchor on a cell in this table).</li>
+ <li>The following states are supported:
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is always false if the
+ table is not deleted and the document is open, otherwise it
+ is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is false if the
+ table is protected, otherwise it is true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is always false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is true if the complete table (all cells) is selected.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always true.</li>
+ </ul>
+ </li>
+ </ul>
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the table.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface gives access to any cell that is at least partially
+ visible on the screen. So this interface gives access to the same
+ things like the XAccessibleContext interface. Therefore it use more
+ usable methods. Also it gives access to some table specific data.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleTable;
+
+ /** This interface is for selecting the cells.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+ /** This is the interface for listeners */
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl
new file mode 100644
index 000000000..6a594e4ed
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheetDocumentView.idl
@@ -0,0 +1,146 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheetDocumentView_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleSelection.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible view of a spreadsheet document
+
+ @since OOo 1.1.2
+
+ */
+service AccessibleSpreadsheetDocumentView
+{
+ /** This interface gives access to any object that is contained in this
+ document.
+
+ <ul>
+ <li>The parent returned by getAccessibleParent()
+ is the window which contains the view of these document.</li>
+ <li>The children returned by getAccessibleChild() all
+ support the interface XAccessible. Calling
+ getAccessibleContext() for these children returns
+ an object that supports one of the following services.</li>
+ <ul>
+ <li>::com::sun::star::sheet::AccessibleSpreadsheet:
+ A child where calling getAccessibleChild()
+ an object that supports this service is returned for
+ the current spreadsheet which is showing in this document
+ window. There is every time one child which supports this
+ service, because it is only possible to have one spreadsheet
+ in the current document window.</li>
+ <li>::com::sun::star::drawing::AccessibleShape:
+ A child where calling getAccessibleChild()
+ an object that supports this service is returned
+ for every shape that is at the current table. These
+ objects are children of the
+ AccessibleSpreadsheetDocumentView regardless
+ whether they are bound to a table or a cell.</li>
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child where calling getAccessibleChild()
+ an object that supports this service is returned for
+ the current cell in edit mode. This is necessary to
+ have an object which allows event listeners. It exists
+ only if a cell is in edit mode.</li>
+ <li>::com::sun::star::accessibility::AccessibleContext:
+ A child where calling getAccessibleChild()
+ an object that supports this service is returned for
+ the current OLE object in edit mode. It exists
+ only if an OLE object is in edit mode.</li>
+ </ul>
+ <p>The following rules apply to the children order. General it
+ represents the paint order. The object in the background came
+ first and then all over lying objects. The last painted object
+ is also the last child.</p>
+ <ul>
+ <li>Graphics, embedded objects and shapes appear
+ before the other children if they are painted in the
+ background. Their order reflects the z order.</li>
+ <li>The current table is painted after the background and so it
+ comes after all background objects.</li>
+ <li>Graphics, embedded objects and shapes appear
+ behind any other children except controls if they are
+ painted in the foreground. Their order reflects the z order.</li>
+ <li>Controls appear behind the other graphic objects. Their order
+ reflects the z order.</li>
+ <li>The temporary object for the cell or OLE in edit mode (only
+ one can exist in the same time) is the last object.</li>
+ </ul>
+ <li>The description is ???.</li>
+ <li>The name is Spreadsheet Document View with a unique number.</li>
+ <li>The role is ::com::sun::star::accessibility::AccessibleRole::DOCUMENT_SPREADSHEET</li>
+ <li>There are no relations.</li>
+ <li>The following states are supported:
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC is always false until the document is
+ closed.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE makes no sense in on a document and
+ so it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE is always false, because a
+ document is not selectable. Only the children are
+ selectable. So it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE is always false, because you can
+ resize the window, but not the document. So it is left out
+ of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE is always false, because a
+ document is not selectable. Only the children are
+ selectable. So it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED is always false, because a
+ document is not selectable. Only the children are
+ selectable. So it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING is true if the Bounding Box lies in
+ the Bounding Box of the parent. Otherwise it is false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE is always true.</li>
+ </ul>
+ </li>
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the document.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This interface is for selecting the document's children like
+ shapes or the whole table.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleSelection;
+
+ /** This is the interface for listeners */
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl b/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl
new file mode 100644
index 000000000..cb884f1e3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AccessibleSpreadsheetPageView.idl
@@ -0,0 +1,158 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__
+#define __com_sun_star_sheet_AccessibleSpreadsheetPageView_idl__
+
+#include <com/sun/star/accessibility/XAccessibleContext.idl>
+#include <com/sun/star/accessibility/XAccessibleComponent.idl>
+#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** The accessible view of a spreadsheet page preview
+
+ @since OOo 1.1.2
+
+ */
+service AccessibleSpreadsheetPageView
+{
+ /** This interface gives access to any object that is at least partially
+ visible on the screen in the page preview.
+
+ <ul>
+ <li>The parent returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
+ is the window which contains the view of these page preview.</li>
+ <li>The children returned by
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ all support the interface XAccessible. Calling
+ ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
+ for these children returns
+ an object that supports one of the following services.</li>
+ <ul>
+ <li>::com::sun::star::sheet::AccessiblePageHeaderFooterAreasView:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned for
+ every header and footer that is at least partially visible.</li>
+ <li>::com::sun::star::table::AccessibleTableView:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned for
+ every table fragment that is contained in the document body
+ and is at least partially visible. A table fragment is the
+ part of a table that is displayed on a certain page.</li>
+ <li>::com::sun::star::drawing::AccessibleShape:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned
+ for every shape that is at least partially visible. These
+ objects are children of the
+ AccessibleSpreadsheetPageView regardless
+ whether they are bound to a table or a cell.</li>
+ <li>::com::sun::star::text::AccessibleParagraphView:
+ A child where calling
+ ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
+ an object that supports this service is returned for
+ every note (its paragraphs) and its location (which is
+ represented as a paragraph with the cell name as content).</li>
+ </ul>
+ <p>The following rules apply to the children order. General it
+ represents the paint order. The object in the background came
+ first and then all over lying objects. The last painted object
+ is also the last child.</p>
+ <ul>
+ <li>The logical order of paragraph and table fragments is never
+ changed.</li>
+ <li>Headers appear immediately before the first table fragment
+ of the header's page.</li>
+ <li>Footers appear immediately after the last table fragment.</li>
+ <li>Shapes appear before any other children if they are painted
+ in the background. Their order reflects the z order.</li>
+ <li>Shapes appear behind any other children except controls if
+ they are painted in the foreground. Their order reflects the
+ z order.</li>
+ <li>Controls appear behind any other objects. Their order
+ reflects the z order.</li>
+ </ul>
+ <li>The description is ???.</li>
+ <li>The name is Spreadsheet Document Page Preview.</li>
+ <li>The role is
+ ::com::sun::star::accessibility::AccessibleRole::DOCUMENT_SPREADSHEET</li>
+ <li>There are no relations.</li>
+ <li>The following states are supported:
+ <ul>
+ <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
+ is always false until the preview is closed.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
+ is always false,
+ because the document is not editable in the page preview.
+ So it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_LINE
+ makes no sense on a
+ document and so it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::MULTI_SELECTABLE
+ is always false, because in a page preview a selection is
+ not possible. So it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
+ is always true.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::RESIZABLE
+ is always false,
+ because you can resize the window of the page preview, but
+ not the page preview itself. So it is left out of the
+ list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTABLE
+ is always false,
+ because in the page preview is no selection possible. So
+ it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SELECTED
+ is always false,
+ because in the page preview is no selection possible. So
+ it is left out of the list.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
+ is true if the
+ Bounding Box lies in the Bounding Box of the parent.
+ Otherwise it is false.</li>
+ <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
+ is always true.</li>
+ </ul>
+ </li>
+ </ul>
+
+ */
+ interface ::com::sun::star::accessibility::XAccessibleContext;
+
+ /** This interface gives access to the visibility of the document.
+ */
+ interface ::com::sun::star::accessibility::XAccessibleComponent;
+
+ /** This is the interface for listeners */
+ interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ActivationEvent.idl b/offapi/com/sun/star/sheet/ActivationEvent.idl
new file mode 100644
index 000000000..f488b933d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ActivationEvent.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_ActivationEvent_idl__
+#define __com_sun_star_sheet_ActivationEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+#include <com/sun/star/sheet/XSpreadsheet.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** describes a change of the active sheet. The new active sheet is given
+ with this event.
+
+ @since OOo 2.0
+
+ */
+published struct ActivationEvent: com::sun::star::lang::EventObject
+{
+
+ /** specifies the new active Spreadsheet.
+ */
+ com::sun::star::sheet::XSpreadsheet ActiveSheet;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AddIn.idl b/offapi/com/sun/star/sheet/AddIn.idl
new file mode 100644
index 000000000..873f33050
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AddIn.idl
@@ -0,0 +1,139 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_AddIn_idl__
+#define __com_sun_star_sheet_AddIn_idl__
+
+#include <com/sun/star/lang/XServiceName.idl>
+#include <com/sun/star/sheet/XAddIn.idl>
+#include <com/sun/star/sheet/XCompatibilityNames.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is the base for AddIn services that supply functions which can be called
+ by other components.
+
+ <p>Any AddIn implementation must implement a service describing its
+ specific set of functions.
+ That service must contain the AddIn service, and the
+ functions that are implemented, in one or more interfaces.
+ The com::sun::star::lang::XServiceName interface
+ must describe that service, and the XAddIn interface
+ must describe the individual functions.</p>
+
+ <p>Each AddIn function can take parameters of the following types:</p>
+
+ <dl>
+ <dt>`long`</dt>
+ <dd>for integer values.</dd>
+
+ <dt>`double`</dt>
+ <dd>for floating point values.</dd>
+
+ <dt>`string`</dt>
+ <dd>for text strings.</dd>
+
+ <dt>`long[][]`</dt>
+ <dd>for (two-dimensional) arrays of integer values.</dd>
+
+ <dt>`double[][]`</dt>
+ <dd>for (two-dimensional) arrays of floating point values.</dd>
+
+ <dt>`string[][]`</dt>
+ <dd>for (two-dimensional) arrays of text strings.</dd>
+
+ <dt>`any[][]`</dt>
+ <dd>for (two-dimensional) arrays of mixed contents. Each `any`
+ will contain a `double` or a `string`, depending on
+ the data.</dd>
+
+ <dt>`any`</dt>
+ <dd>Depending on the data, a `double`, a `string`,
+ or an `any[][]` will be passed. If no argument is specified in
+ the function call, `VOID` will be passed. This allows for optional
+ parameters.</dd>
+
+ <dt>com::sun::star::table::XCellRange</dt>
+ <dd>for a com::sun::star::table::XCellRange interface
+ to the source data.</dd>
+
+ <dt>com::sun::star::beans::XPropertySet</dt>
+ <dd>for a com::sun::star::beans::XPropertySet
+ interface to the SpreadsheetDocument making the function
+ call. Only one parameter of this type is allowed in each function. It
+ can be used to query document settings like
+ SpreadsheetDocumentSettings::NullDate.</dd>
+
+ <dt>`any[]`</dt>
+ <dd>for varying parameters. Only the last parameter of a function may
+ have this type. It will be filled with the remaining arguments of the
+ function call that were not used for the previous parameters. Each
+ element of the sequence will be filled as in the case of `any`
+ above.</dd>
+ </dl>
+
+ <p>Each AddIn function must have one of the following return types:</p>
+
+ <ul>
+ <li>`long`</li>
+ <li>`double`</li>
+ <li>`string`</li>
+ <li>`long[][]`</li>
+ <li>`double[][]`</li>
+ <li>`string[][]`</li>
+ <li>`any[][]`</li>
+ <li>XVolatileResult</li>
+ <li>`any`</li>
+ </ul>
+
+ <p>The sequences must contain arrays as described above for the
+ parameter types.
+ An XVolatileResult return value must contain an object
+ implementing the VolatileResult service, that contains
+ a volatile result. Subsequent calls with the same parameters must
+ return the same object.
+ An `any` return value can contain any of the other types.</p>
+ */
+published service AddIn
+{
+
+ /** contains a method that returns the service name of the add-in.
+ */
+ interface com::sun::star::lang::XServiceName;
+
+
+ /** provides access to function descriptions and localized names
+ and descriptions.
+ */
+ interface com::sun::star::sheet::XAddIn;
+
+
+ /** provides access to compatibility names for the functions.
+ */
+ [optional] interface com::sun::star::sheet::XCompatibilityNames;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/AddressConvention.idl b/offapi/com/sun/star/sheet/AddressConvention.idl
new file mode 100644
index 000000000..b60514fa6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/AddressConvention.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_AddressConvention_idl__
+#define __com_sun_star_sheet_AddressConvention_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** These constants specify which address convention to use in the formula
+ parser. Each variation specifies a different cell and cell range address
+ syntax.
+
+ @see com::sun::star::sheet::FormulaParser
+ */
+constants AddressConvention
+{
+
+ const short UNSPECIFIED = -1;
+
+
+ const short OOO = 0;
+
+
+ const short XL_A1 = 1;
+
+
+ const short XL_R1C1 = 2;
+
+
+ const short XL_OOX = 3;
+
+
+ const short LOTUS_A1 = 4;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Border.idl b/offapi/com/sun/star/sheet/Border.idl
new file mode 100644
index 000000000..abd236955
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Border.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_Border_idl__
+#define __com_sun_star_sheet_Border_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to select one of the four borders of a cell range.
+ */
+published enum Border
+{
+
+ /** selects the top border.
+ */
+ TOP,
+
+
+ /** selects the bottom border.
+ */
+ BOTTOM,
+
+
+ /** selects the right border.
+ */
+ RIGHT,
+
+
+ /** selects the left border.
+ */
+ LEFT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellAnnotation.idl b/offapi/com/sun/star/sheet/CellAnnotation.idl
new file mode 100644
index 000000000..068dd42e9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotation.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellAnnotation_idl__
+#define __com_sun_star_sheet_CellAnnotation_idl__
+
+#include <com/sun/star/sheet/XSheetAnnotation.idl>
+#include <com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl>
+#include <com/sun/star/container/XChild.idl>
+#include <com/sun/star/text/XSimpleText.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a cell annotation object attached to a spreadsheet cell.
+
+ @see com::sun::star::sheet::SheetCell
+ */
+published service CellAnnotation
+{
+
+ /** provides methods to query data of the annotation
+ and to show and hide it.
+ */
+ interface com::sun::star::sheet::XSheetAnnotation;
+
+
+ /** provides access to the parent of this object.
+
+ <p>The parent of a cell annotation is the cell that contains it.</p>
+ */
+ interface com::sun::star::container::XChild;
+
+
+ /** provides access to the text contents of the annotation.
+ */
+ interface com::sun::star::text::XSimpleText;
+
+
+ [optional] interface com::sun::star::sheet::XSheetAnnotationShapeSupplier;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellAnnotationShape.idl b/offapi/com/sun/star/sheet/CellAnnotationShape.idl
new file mode 100644
index 000000000..8db8b4605
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotationShape.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellAnnotationShape_idl__
+#define __com_sun_star_sheet_CellAnnotationShape_idl__
+
+#include <com/sun/star/drawing/CaptionShape.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the shape of a cell annotation object attached to a spreadsheet cell.
+
+ @see com::sun::star::sheet::CellAnnotation
+ */
+published service CellAnnotationShape
+{
+ /** provides all functionality of a CaptionShape.
+ */
+ service com::sun::star::drawing::CaptionShape;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellAnnotations.idl b/offapi/com/sun/star/sheet/CellAnnotations.idl
new file mode 100644
index 000000000..5bb0e7704
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotations.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellAnnotations_idl__
+#define __com_sun_star_sheet_CellAnnotations_idl__
+
+#include <com/sun/star/sheet/XSheetAnnotations.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of cell annotations.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+published service CellAnnotations
+{
+
+ /** provides methods to access cell annotations via index and to
+ insert and remove annotations.
+
+ @see com::sun::star::sheet::CellAnnotation
+ */
+ interface com::sun::star::sheet::XSheetAnnotations;
+
+
+ /** creates an enumeration of all cell annotations.
+
+ @see com::sun::star::sheet::CellAnnotationsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl b/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl
new file mode 100644
index 000000000..e0a1f55d1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAnnotationsEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellAnnotationsEnumeration_idl__
+#define __com_sun_star_sheet_CellAnnotationsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of cell annotations in a spreadsheet document.
+
+ @see com::sun::star::sheet::CellAnnotations
+ */
+published service CellAnnotationsEnumeration
+{
+
+ /** provides methods to access the cell annotations in the enumeration.
+
+ @see com::sun::star::sheet::CellAnnotation
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellAreaLink.idl b/offapi/com/sun/star/sheet/CellAreaLink.idl
new file mode 100644
index 000000000..2433bd84d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAreaLink.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellAreaLink_idl__
+#define __com_sun_star_sheet_CellAreaLink_idl__
+
+#include <com/sun/star/sheet/XAreaLink.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a linked cell range.
+
+ <p>A linked cell range is a range which is linked to an equal-sized
+ range in an external document. The contents of the external range is
+ copied into the range of this document.</p>
+
+ @see com::sun::star::sheet::CellAreaLinks
+ */
+published service CellAreaLink
+{
+
+ /** provides methods to change the settings of the linked cell range.
+ */
+ interface com::sun::star::sheet::XAreaLink;
+
+
+ /** provides methods to reload the external data.
+ */
+ interface com::sun::star::util::XRefreshable;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the URL of the source document.
+ */
+ [property] string Url;
+
+
+ /** specifies the name of the filter used to load the source document.
+ */
+ [property] string Filter;
+
+
+ /** specifies the filter options needed to load the source document.
+ */
+ [property] string FilterOptions;
+
+
+ /** specifies the delay time between two refresh actions in seconds.
+
+ @deprecated
+
+ */
+ [property] long RefreshDelay;
+
+
+ /** specifies the time between two refresh actions in seconds.
+
+ @since OOo 2.0
+ */
+ [optional, property] long RefreshPeriod;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellAreaLinks.idl b/offapi/com/sun/star/sheet/CellAreaLinks.idl
new file mode 100644
index 000000000..26f0d08da
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAreaLinks.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellAreaLinks_idl__
+#define __com_sun_star_sheet_CellAreaLinks_idl__
+
+#include <com/sun/star/sheet/XAreaLinks.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of area links.
+
+ @see com::sun::star::sheet::CellAreaLink
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service CellAreaLinks
+{
+
+ /** provides access via index to a collection of area links and inserting
+ and removing area links.
+ */
+ interface com::sun::star::sheet::XAreaLinks;
+
+
+ /** provides access to the area links via index.
+
+ @see com::sun::star::sheet::CellAreaLink
+
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all area links.
+
+ @see com::sun::star::sheet::CellAreaLinksEnumeration
+
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl b/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl
new file mode 100644
index 000000000..5314b9fd2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellAreaLinksEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellAreaLinksEnumeration_idl__
+#define __com_sun_star_sheet_CellAreaLinksEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of cell area links.
+
+ @see com::sun::star::sheet::CellAreaLink
+ */
+published service CellAreaLinksEnumeration
+{
+
+ /** provides methods to access the cell area links in the enumeration.
+
+ @see com::sun::star::sheet::CellAreaLink
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellDeleteMode.idl b/offapi/com/sun/star/sheet/CellDeleteMode.idl
new file mode 100644
index 000000000..f8d1fd54d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellDeleteMode.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellDeleteMode_idl__
+#define __com_sun_star_sheet_CellDeleteMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to specify how remaining cells are moved when cells are deleted.
+ */
+published enum CellDeleteMode
+{
+
+ /** no cells are moved.
+ */
+ NONE,
+
+
+ /** the cells below the deleted cells are moved up.
+ */
+ UP,
+
+
+ /** the cells to the right of the deleted cells are moved left.
+ */
+ LEFT,
+
+
+ /** entire rows below the deleted cells are moved up.
+ */
+ ROWS,
+
+
+ /** entire columns to the right of the deleted cells are moved left.
+ */
+ COLUMNS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellFlags.idl b/offapi/com/sun/star/sheet/CellFlags.idl
new file mode 100644
index 000000000..68d05eb29
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellFlags.idl
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellFlags_idl__
+#define __com_sun_star_sheet_CellFlags_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** These constants select different types of cell contents.
+
+ <P>The values can be combined. They are used to insert, copy, or
+ delete contents.</P>
+ */
+published constants CellFlags
+{
+
+ /** selects constant numeric values that are not formatted
+ as dates or times.
+ */
+ const long VALUE = 1;
+
+
+ /** selects constant numeric values that have a date or time
+ number format.
+ */
+ const long DATETIME = 2;
+
+
+ /** selects constant strings.
+ */
+ const long STRING = 4;
+
+
+ /** selects cell annotations.
+ */
+ const long ANNOTATION = 8;
+
+
+ /** selects formulas.
+ */
+ const long FORMULA = 16;
+
+
+ /** selects all explicit formatting, but not the formatting which is
+ applied implicitly through style sheets.
+ */
+ const long HARDATTR = 32;
+
+
+ /** selects cell styles.
+ */
+ const long STYLES = 64;
+
+
+ /** selects drawing objects.
+ */
+ const long OBJECTS = 128;
+
+
+ /** selects formatting within parts of the cell contents.
+ */
+ const long EDITATTR = 256;
+
+
+ /** selects cells with formatting within the cells or cells with more than
+ one paragraph within the cells.
+ */
+ const long FORMATTED = 512;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellFormatRanges.idl b/offapi/com/sun/star/sheet/CellFormatRanges.idl
new file mode 100644
index 000000000..4daa6d19e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellFormatRanges.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellFormatRanges_idl__
+#define __com_sun_star_sheet_CellFormatRanges_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of equal-formatted cell ranges.
+
+ <p>All cells inside a cell range of this collection have the same
+ formatting attributes.</p>
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ @see com::sun::star::sheet::UniqueCellFormatRanges
+ */
+published service CellFormatRanges
+{
+
+ /** provides methods to access the contained cell ranges by index.
+
+ @see com::sun::star::sheet::SheetCellRange
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all cell ranges.
+
+ @see com::sun::star::sheet::CellFormatRangesEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl b/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl
new file mode 100644
index 000000000..df81e2d6c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellFormatRangesEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellFormatRangesEnumeration_idl__
+#define __com_sun_star_sheet_CellFormatRangesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of equal-formatted cell ranges.
+
+ @see com::sun::star::sheet::CellFormatRanges
+ */
+published service CellFormatRangesEnumeration
+{
+
+ /** provides methods to access the cell ranges in the enumeration.
+
+ @see com::sun::star::sheet::SheetCellRange
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellInsertMode.idl b/offapi/com/sun/star/sheet/CellInsertMode.idl
new file mode 100644
index 000000000..f85983b16
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellInsertMode.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellInsertMode_idl__
+#define __com_sun_star_sheet_CellInsertMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to specify how cells are moved when new cells are inserted.
+ */
+published enum CellInsertMode
+{
+
+ /** no cells are moved.
+ */
+ NONE,
+
+
+ /** the cells below the inserted cells are moved down.
+ */
+ DOWN,
+
+
+ /** the cells to the right of the inserted cells are moved right.
+ */
+ RIGHT,
+
+
+ /** entire rows below the inserted cells are moved down.
+ */
+ ROWS,
+
+
+ /** entire columns to the right of the inserted cells are moved right.
+ */
+ COLUMNS
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Cells.idl b/offapi/com/sun/star/sheet/Cells.idl
new file mode 100644
index 000000000..dc5f1fac6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Cells.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_Cells_idl__
+#define __com_sun_star_sheet_Cells_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of used cells in a spreadsheet document.
+
+ @see com::sun::star::sheet::SheetCell
+ */
+published service Cells
+{
+
+ /** creates an enumeration of all used cells.
+
+ @see com::sun::star::sheet::CellsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/CellsEnumeration.idl b/offapi/com/sun/star/sheet/CellsEnumeration.idl
new file mode 100644
index 000000000..afa4d5f6f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/CellsEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_CellsEnumeration_idl__
+#define __com_sun_star_sheet_CellsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of spreadsheet cells.
+
+ @see com::sun::star::sheet::Cells
+ */
+published service CellsEnumeration
+{
+
+ /** provides methods to access the cells in the enumeration.
+
+ @see com::sun::star::sheet::SheetCell
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ColorScale.idl b/offapi/com/sun/star/sheet/ColorScale.idl
new file mode 100644
index 000000000..b7d79e214
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ColorScale.idl
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_Colorscale_idl__
+#define __com_sun_star_sheet_Colorscale_idl__
+
+#include <com/sun/star/sheet/XConditionEntry.idl>
+#include <com/sun/star/sheet/XColorScaleEntry.idl>
+
+module com { module sun { module star { module sheet {
+
+service ColorScale
+{
+ interface XConditionEntry;
+
+ [property] sequence<XColorScaleEntry> ColorScaleEntries;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
+
diff --git a/offapi/com/sun/star/sheet/ColorScaleEntryType.idl b/offapi/com/sun/star/sheet/ColorScaleEntryType.idl
new file mode 100644
index 000000000..bab3d8c4a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ColorScaleEntryType.idl
@@ -0,0 +1,35 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_ColorScaleEntryType_idl__
+#define __com_sun_star_sheet_ColorScaleEntryType_idl__
+
+module com { module sun { module star { module sheet {
+
+constants ColorScaleEntryType
+{
+ const long COLORSCALE_MIN = 0;
+
+ const long COLORSCALE_MAX = 1;
+
+ const long COLORSCALE_PERCENTILE = 2;
+
+ const long COLORSCALE_VALUE = 3;
+
+ const long COLORSCALE_PERCENT = 4;
+
+ const long COLORSCALE_FORMULA = 5;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ComplexReference.idl b/offapi/com/sun/star/sheet/ComplexReference.idl
new file mode 100644
index 000000000..24551b920
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ComplexReference.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ComplexReference_idl__
+#define __com_sun_star_sheet_ComplexReference_idl__
+
+#include <com/sun/star/sheet/SingleReference.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains a reference to a cell range.
+ */
+struct ComplexReference
+{
+
+ /** is the first reference.
+ */
+ SingleReference Reference1;
+
+
+ /** is the second reference.
+ */
+ SingleReference Reference2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ConditionEntryType.idl b/offapi/com/sun/star/sheet/ConditionEntryType.idl
new file mode 100644
index 000000000..43148cff3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionEntryType.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_ConditionEntryType_idl__
+#define __com_sun_star_sheet_ConditionEntryType_idl__
+
+module com { module sun { module star { module sheet {
+
+constants ConditionEntryType
+{
+ const long CONDITION = 0;
+
+ const long COLORSCALE = 1;
+
+ const long DATABAR = 2;
+
+ const long ICONSET = 3;
+
+ const long DATE = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ConditionFormatEntry.idl b/offapi/com/sun/star/sheet/ConditionFormatEntry.idl
new file mode 100644
index 000000000..a0928339c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionFormatEntry.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_ConditionFormatEntry_idl__
+#define __com_sun_star_sheet_ConditionFormatEntry_idl__
+
+module com { module sun { module star { module sheet {
+
+service ConditionFormatEntry
+{
+ interface XConditionEntry;
+
+ /**
+ * See com.sun.star.sheet.ConditionFormatOperator for valid values
+ */
+ [property] long Operator;
+
+ [property] string StyleName;
+
+ [optional, property] string Formula1;
+
+ [optional, property] string Formula2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/sheet/ConditionFormatOperator.idl b/offapi/com/sun/star/sheet/ConditionFormatOperator.idl
new file mode 100644
index 000000000..68ac0e279
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionFormatOperator.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_ConditionFormatOperator_idl__
+#define __com_sun_star_sheet_ConditionFormatOperator_idl__
+
+module com { module sun { module star { module sheet {
+
+constants ConditionFormatOperator
+{
+ const long EQUAL = 0;
+
+ const long LESS = 1;
+
+ const long GREATER = 2;
+
+ const long LESS_EQUAL = 3;
+
+ const long GREATER_EQUAL = 4;
+
+ const long NOT_EQUAL = 5;
+
+ const long BETWEEN = 6;
+
+ const long NOT_BETWEEN = 7;
+
+ const long DUPLICATE = 8;
+
+ const long UNIQUE = 9;
+
+ const long TOP_N_ELEMENTS = 10;
+
+ const long BOTTOM_N_ELEMENTS = 11;
+
+ const long TOP_N_PERCENT = 12;
+
+ const long BOTTOM_N_PERCENT = 13;
+
+ const long ABOVE_AVERAGE = 14;
+
+ const long BELOW_AVERAGE = 15;
+
+ const long ABOVE_EQUAL_AVERAGE = 16;
+
+ const long BELOW_EQUAL_AVERAGE = 17;
+
+ const long ERROR = 18;
+
+ const long NO_ERROR = 19;
+
+ const long BEGINS_WITH = 20;
+
+ const long ENDS_WITH = 21;
+
+ const long CONTAINS = 22;
+
+ const long NOT_CONTAINS = 23;
+
+ const long EXPRESSION = 24;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ConditionOperator.idl b/offapi/com/sun/star/sheet/ConditionOperator.idl
new file mode 100644
index 000000000..fa643bda2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionOperator.idl
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ConditionOperator_idl__
+#define __com_sun_star_sheet_ConditionOperator_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to specify the type of XSheetCondition.
+ */
+published enum ConditionOperator
+{
+
+ /** no condition is specified.
+ */
+ NONE,
+
+
+ /** value has to be equal to the specified value.
+ */
+ EQUAL,
+
+
+ /** the value must not be equal to the specified value.
+ */
+ NOT_EQUAL,
+
+
+ /** the value has to be greater than the specified value.
+ */
+ GREATER,
+
+
+ /** the value has to be greater than or equal to the specified value.
+ */
+ GREATER_EQUAL,
+
+
+ /** the value has to be less than the specified value.
+ */
+ LESS,
+
+
+ /** the value has to be less than or equal to the specified value.
+ */
+ LESS_EQUAL,
+
+
+ /** the value has to be between the two specified values.
+ */
+ BETWEEN,
+
+
+ /** the value has to be outside of the two specified values.
+ */
+ NOT_BETWEEN,
+
+
+ /** the specified formula has to give a non-zero result.
+ */
+ FORMULA
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ConditionOperator2.idl b/offapi/com/sun/star/sheet/ConditionOperator2.idl
new file mode 100644
index 000000000..e4d42d424
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionOperator2.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_ConditionOperator2_idl__
+#define __com_sun_star_sheet_ConditionOperator2_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to specify the type of XSheetCondition2.
+ */
+constants ConditionOperator2
+{
+
+ /** no condition is specified.
+ */
+ const long NONE = 0;
+
+
+ /** value has to be equal to the specified value.
+ */
+ const long EQUAL = 1;
+
+
+ /** the value must not be equal to the specified value.
+ */
+ const long NOT_EQUAL = 2;
+
+
+ /** the value has to be greater than the specified value.
+ */
+ const long GREATER = 3;
+
+
+ /** the value has to be greater than or equal to the specified value.
+ */
+ const long GREATER_EQUAL = 4;
+
+
+ /** the value has to be less than the specified value.
+ */
+ const long LESS = 5;
+
+
+ /** the value has to be less than or equal to the specified value.
+ */
+ const long LESS_EQUAL = 6;
+
+
+ /** the value has to be between the two specified values.
+ */
+ const long BETWEEN = 7;
+
+
+ /** the value has to be outside of the two specified values.
+ */
+ const long NOT_BETWEEN = 8;
+
+
+ /** the specified formula has to give a non-zero result.
+ */
+ const long FORMULA = 9;
+
+
+ /** Conditionally format duplicate values
+ */
+ const long DUPLICATE = 10;
+
+
+ /** Conditionally format non-duplicate values
+ */
+ const long NOT_DUPLICATE = 11;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ConditionalFormat.idl b/offapi/com/sun/star/sheet/ConditionalFormat.idl
new file mode 100644
index 000000000..953d3cff2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConditionalFormat.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_ConditionalFormat_idl__
+#define __com_sun_star_sheet_ConditionalFormat_idl__
+
+#include <com/sun/star/sheet/XConditionalFormat.idl>
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a conditional format
+ */
+service ConditionalFormat
+{
+ interface com::sun::star::beans::XPropertySet;
+ interface com::sun::star::sheet::XConditionalFormat;
+
+ /** represents the range for the conditional format
+ All ranges have to be in the same sheet.
+ */
+ [property] XSheetCellRanges Range;
+
+ [property] long ID;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl b/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl
new file mode 100644
index 000000000..e85457054
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ConsolidationDescriptor.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ConsolidationDescriptor_idl__
+#define __com_sun_star_sheet_ConsolidationDescriptor_idl__
+
+#include <com/sun/star/sheet/XConsolidationDescriptor.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains all settings of a data consolidation in a spreadsheet
+ document.
+
+ @see com::sun::star::sheet::XConsolidatable
+ */
+published service ConsolidationDescriptor
+{
+
+/** provides methods to access the settings of the descriptor.
+ */
+ interface com::sun::star::sheet::XConsolidationDescriptor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DDEItemInfo.idl b/offapi/com/sun/star/sheet/DDEItemInfo.idl
new file mode 100644
index 000000000..35e2e47cd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDEItemInfo.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_DDEItemInfo_idl__
+#define __com_sun_star_sheet_DDEItemInfo_idl__
+
+
+module com { module sun { module star { module sheet {
+
+/** describes an item of a DDE connection.
+
+ A DDE connection consists of the DDE service name, the DDE topic and a
+ list of DDE items which may contain cached result sets.
+
+ @since OOo 3.1
+ */
+struct DDEItemInfo
+{
+
+ /** The name of the DDE item.
+ */
+
+ string Item;
+
+
+ /** The results of the item cached from the last update of the DDE link if
+ available. This sequence may be empty.
+ */
+
+ sequence< sequence< any > > Results;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DDELink.idl b/offapi/com/sun/star/sheet/DDELink.idl
new file mode 100644
index 000000000..66b5b9d9a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELink.idl
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DDELink_idl__
+#define __com_sun_star_sheet_DDELink_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/sheet/XDDELink.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/sheet/XDDELinkResults.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a DDE link.
+
+ <p>A DDE link controls the results of a DDE spreadsheet formula.</p>
+ */
+published service DDELink
+{
+
+ /** provides access to the name of the DDE link.
+
+ <p>A DDE link has the form Application|Topic!Item.</p>
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** provides methods to change the settings of the DDE link.
+ */
+ interface com::sun::star::sheet::XDDELink;
+
+
+ /** provides methods to reload the external linked data.
+ */
+ interface com::sun::star::util::XRefreshable;
+
+
+ /** provides access to the DDE link results.
+
+ @since OOo 3.0
+ */
+ [optional] interface com::sun::star::sheet::XDDELinkResults;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DDELinkInfo.idl b/offapi/com/sun/star/sheet/DDELinkInfo.idl
new file mode 100644
index 000000000..9c24e7ab4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinkInfo.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_DDELinkInfo_idl__
+#define __com_sun_star_sheet_DDELinkInfo_idl__
+
+#include <com/sun/star/sheet/DDEItemInfo.idl>
+
+
+module com { module sun { module star { module sheet {
+
+/** describes all items of a DDE connection used in formulas.
+
+ <p>A DDE connection consists of the DDE service name, the DDE topic and a
+ list of DDE items which may contain results cached from the last update.</p>
+
+ <p>The formula that would need this information for example would contain
+ <code>=[1]!'R1C1'</code> or <code>=[2]!'Sheet1.A1'</code> where
+ <em>[1]</em> is an external link with DDE service name "excel" and the
+ topic "X:\PATH\[FILE.XLSX]Sheet1", and <em>[2]</em> contains service
+ "soffice" and topic "file:///X:/PATH/FILE.ODS". The service name is stored
+ in DDELinkInfo::Service, the topic is stored in
+ DDELinkInfo::Topic. Note that if the DDE item contains
+ single quotes they are escaped by doubling them, as usual, for example
+ <code>=[2]!'''Sheet name''.A1'</code> in a "soffice" service.</p>
+
+ @since OOo 3.1
+ */
+struct DDELinkInfo
+{
+ /** The DDE service name.
+ */
+ string Service;
+
+ /** The DDE topic.
+ */
+ string Topic;
+
+ /** A list of DDE items. Each item may contain its results from the last
+ update.
+ */
+ sequence< DDEItemInfo > Items;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DDELinkMode.idl b/offapi/com/sun/star/sheet/DDELinkMode.idl
new file mode 100644
index 000000000..f971537b1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinkMode.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DDELinkMode_idl__
+#define __com_sun_star_sheet_DDELinkMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify how the DDE server application converts its data into
+ numbers.
+
+ @see com::sun::star::sheet::XDDELinks
+
+ @since OOo 3.0
+ */
+published enum DDELinkMode
+{
+
+ /** numbers are converted into the default format.
+ */
+ DEFAULT,
+
+
+ /** numbers are converted into the English default format.
+ */
+ ENGLISH,
+
+
+ /** numbers are not converted, but treated as text.
+ */
+ TEXT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DDELinks.idl b/offapi/com/sun/star/sheet/DDELinks.idl
new file mode 100644
index 000000000..02cb47e90
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinks.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DDELinks_idl__
+#define __com_sun_star_sheet_DDELinks_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/sheet/XDDELinks.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of DDE links.
+
+ @see com::sun::star::sheet::DDELink
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service DDELinks
+{
+
+ /** provides access to the DDE links via the DDE link string.
+
+ <p>A DDE link has the form Application|Topic!Item.</p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ /** provides access to the DDE links via index.
+
+ @see com::sun::star::sheet::DDELink
+
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all DDE links.
+
+ @see com::sun::star::sheet::DDELinksEnumeration
+
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides a method to add a DDE link to a spreadsheet.
+
+ @since OOo 3.0
+ */
+ [optional] interface com::sun::star::sheet::XDDELinks;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DDELinksEnumeration.idl b/offapi/com/sun/star/sheet/DDELinksEnumeration.idl
new file mode 100644
index 000000000..0c9f0d643
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DDELinksEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DDELinksEnumeration_idl__
+#define __com_sun_star_sheet_DDELinksEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of DDE links.
+
+ @see com::sun::star::sheet::DDELink
+ */
+published service DDELinksEnumeration
+{
+
+ /** provides methods to access the DDE links in the enumeration.
+
+ @see com::sun::star::sheet::DDELink
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataBar.idl b/offapi/com/sun/star/sheet/DataBar.idl
new file mode 100644
index 000000000..6fbccb9dc
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataBar.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_Databar_idl__
+#define __com_sun_star_sheet_Databar_idl__
+
+#include <com/sun/star/sheet/XConditionEntry.idl>
+#include <com/sun/star/sheet/XColorScaleEntry.idl>
+#include <com/sun/star/sheet/DataBarAxis.idl>
+#include <com/sun/star/util/Color.idl>
+
+module com { module sun { module star { module sheet {
+
+service DataBar
+{
+ interface XConditionEntry;
+
+ [property] boolean ShowValue;
+
+ /**
+ * See com.sun.star.sheet.DataBarAxis for possible values
+ */
+ [property] long AxisPosition;
+
+ [property] boolean UseGradient;
+
+ [property] com::sun::star::util::Color Color;
+
+ [property] com::sun::star::util::Color AxisColor;
+
+ [property] boolean UseNegativeColor;
+
+ [property, optional] com::sun::star::util::Color NegativeColor;
+
+ [property] sequence<XDataBarEntry> DataBarEntries;
+
+ /**
+ * Minimum databar length in percent of cell width.
+ *
+ * Allowed values are [0, 100) but smaller than MaximumLength.
+ */
+ [property] double MinimumLength;
+
+ /**
+ * Maximum databar length in percent of cell width.
+ *
+ * Allowed values are (0, 1000) but larger than MinimumLength.
+ */
+ [property] double MaximumLength;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataBarAxis.idl b/offapi/com/sun/star/sheet/DataBarAxis.idl
new file mode 100644
index 000000000..011725934
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataBarAxis.idl
@@ -0,0 +1,29 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_DataBarAxis_idl__
+#define __com_sun_star_sheet_DataBarAxis_idl__
+
+module com { module sun { module star { module sheet {
+
+constants DataBarAxis
+{
+ const long AXIS_NONE = 0;
+
+ const long AXIS_MIDDLE = 1;
+
+ const long AXIS_AUTOMATIC = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataBarEntryType.idl b/offapi/com/sun/star/sheet/DataBarEntryType.idl
new file mode 100644
index 000000000..0e795a917
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataBarEntryType.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_DataBarEntryType_idl__
+#define __com_sun_star_sheet_DataBarEntryType_idl__
+
+module com { module sun { module star { module sheet {
+
+constants DataBarEntryType
+{
+ const long DATABAR_AUTO = 1;
+
+ const long DATABAR_MIN = 1;
+
+ const long DATABAR_MAX = 2;
+
+ const long DATABAR_PERCENTILE = 3;
+
+ const long DATABAR_VALUE = 4;
+
+ const long DATABAR_PERCENT = 5;
+
+ const long DATABAR_FORMULA = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataImportMode.idl b/offapi/com/sun/star/sheet/DataImportMode.idl
new file mode 100644
index 000000000..3f55b3019
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataImportMode.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataImportMode_idl__
+#define __com_sun_star_sheet_DataImportMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify which database contents are imported.
+ */
+published enum DataImportMode
+{
+
+ /** nothing is imported.
+ */
+ NONE,
+
+
+ /** a SQL query string is supplied.
+ */
+ SQL,
+
+
+ /** the name of a database table is supplied.
+ */
+ TABLE,
+
+
+ /** the name of a database query is supplied.
+ */
+ QUERY
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotDescriptor.idl b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl
new file mode 100644
index 000000000..0ab03b48c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotDescriptor.idl
@@ -0,0 +1,126 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotDescriptor_idl__
+#define __com_sun_star_sheet_DataPilotDescriptor_idl__
+
+#include <com/sun/star/sheet/XDataPilotDescriptor.idl>
+#include <com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the description of the layout of a data pilot table.
+
+ @see com::sun::star::sheet::DataPilotTable
+*/
+published service DataPilotDescriptor
+{
+
+ /** provides access to the layout settings of the data pilot table.
+ */
+ interface XDataPilotDescriptor;
+
+
+ /** provides access to the layout settings of the data pilot table.
+ */
+ [optional] interface com::sun::star::beans::XPropertySet;
+
+
+ /** Provides access to the DataPilotField used to layout
+ multiple data fields.
+ */
+ [optional] interface XDataPilotDataLayoutFieldSupplier;
+
+
+ /** specifies parameters to create the data pilot table from a database.
+
+ @see DatabaseImportDescriptor
+ @since OOo 3.3
+
+ */
+ [optional, property] sequence< com::sun::star::beans::PropertyValue > ImportDescriptor;
+
+
+ /** specifies the name of a DataPilotSource implementation
+ for the data pilot table.
+
+ @since OOo 3.3
+
+ */
+ [optional, property] string SourceServiceName;
+
+
+ /** specifies arguments that are passed to the implementation named by
+ #SourceServiceName.
+
+ @since OOo 3.3
+
+ */
+ [optional, property] sequence< com::sun::star::beans::PropertyValue > ServiceArguments;
+
+
+ /** specifies if empty rows in the source data are ignored.
+ */
+ [optional, property] boolean IgnoreEmptyRows;
+
+
+ /** specifies if empty category cells in the source data should be treated
+ as repetition of the content from the previous row.
+ */
+ [optional, property] boolean RepeatIfEmpty;
+
+
+ /** specifies if columns for grand total results are created.
+ */
+ [optional, property] boolean ColumnGrand;
+
+
+ /** specifies if rows for grand total results are created.
+ */
+ [optional, property] boolean RowGrand;
+
+
+ /** specifies whether the filter button is shown.
+ */
+ [optional, property] boolean ShowFilterButton;
+
+
+ /** specifies whether to drill down to details or go into edit mode.
+ */
+ [optional, property] boolean DrillDownOnDoubleClick;
+
+
+ /** specifies a label for grand total results.
+
+ @since OOo 3.4
+ */
+ [optional, property] string GrandTotalName;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotField.idl b/offapi/com/sun/star/sheet/DataPilotField.idl
new file mode 100644
index 000000000..ad6c88ac8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotField.idl
@@ -0,0 +1,215 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotField_idl__
+#define __com_sun_star_sheet_DataPilotField_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sheet/XDataPilotField.idl>
+#include <com/sun/star/sheet/XDataPilotFieldGrouping.idl>
+#include <com/sun/star/sheet/DataPilotFieldOrientation.idl>
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#include <com/sun/star/sheet/DataPilotFieldReference.idl>
+#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.idl>
+#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl>
+#include <com/sun/star/sheet/DataPilotFieldSortInfo.idl>
+#include <com/sun/star/sheet/DataPilotFieldGroupInfo.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a single field in a data pilot table.
+
+ <p>If the data pilot table is based on a spreadsheet cell range, a field
+ is represented by a column of the range and is named using the topmost
+ cell of the column.</p>
+ */
+published service DataPilotField
+{
+
+ /** provides access to the name of the data pilot field.
+ */
+ interface com::sun::star::container::XNamed;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ [optional] interface XDataPilotField;
+
+
+ [optional] interface XDataPilotFieldGrouping;
+
+
+ /** specifies the orientation of the field.
+
+ <p>If the orientation of a field has been changed using this property,
+ the field will be moved to the last position in the collection of all
+ fields with the specified orientation.</p>
+ */
+ [property] DataPilotFieldOrientation Orientation;
+
+
+ /** specifies the function used to calculate results for this field.
+
+ <p>For column and row fields, this is the function for subtotals
+ (GeneralFunction::NONE means no subtotals).
+ For data fields, this is the function shown in the data pilot
+ table.</p>
+ */
+ [property] GeneralFunction Function;
+
+
+ /** specifies the functions used to calculate subtotals for this field.
+
+ <p>This property is supported by column and row fields only.</p>
+
+ <p>An empty sequence means no subtotals. The same effect can be
+ achieved by setting the property #Function to the
+ value GeneralFunction::NONE. If the length of the
+ sequence is greater than 1, then the sequence MUST NOT contain one of
+ the values GeneralFunction::NONE or
+ GeneralFunction::AUTO.</p>
+
+ <p>The order of the functions in this sequence is reflected in the
+ DataPilot table. Multiple entries of the same function are ignored
+ when setting the property.</p>
+ */
+ [property, optional] sequence<GeneralFunction> Subtotals;
+
+ /** specifies the selected page which is used to filter the data pilot.
+ */
+ [property, optional] string SelectedPage;
+
+
+ /** specifies whether to use the selected page to filter the data pilot or
+ show all.
+ */
+ [property, optional] boolean UseSelectedPage;
+
+
+ /** specifies which hierarchy of the dimension is used.
+
+ @see com::sun::star::sheet::DataPilotSourceHierarchies
+ */
+ [property, optional] string UsedHierarchy;
+
+
+ /** specifies whether this field has sorting information.
+ */
+ [property, optional] boolean HasSortInfo;
+
+
+ /** controls how the field's items are sorted.
+ */
+ [property, optional] DataPilotFieldSortInfo SortInfo;
+
+
+ /** specifies whether this field has layout information.
+ */
+ [property, optional] boolean HasLayoutInfo;
+
+
+ /** controls how the field's items are laid out in the result table.
+ */
+ [property, optional] DataPilotFieldLayoutInfo LayoutInfo;
+
+
+ /** specifies whether this field has auto show information.
+ */
+ [property, optional] boolean HasAutoShowInfo;
+
+
+ /** enables the automatic inclusion of only a number of items with
+ the highest or lowest result values.
+ */
+ [property, optional] DataPilotFieldAutoShowInfo AutoShowInfo;
+
+
+ /** specifies whether this field has a reference.
+ */
+ [property, optional] boolean HasReference;
+
+
+ /** controls how the results are shown in relation to a selected
+ reference result.
+ */
+ [property, optional] DataPilotFieldReference Reference;
+
+
+ /** specifies whether this field is a group field.
+ */
+ [property, optional] boolean IsGroupField;
+
+
+ /** contains the grouping information of the DataPilot field.
+
+ <p>By changing the value of this property it is possible to modify the
+ grouping settings of this field.</p>
+ */
+ [property, optional] DataPilotFieldGroupInfo GroupInfo;
+
+
+ /** specifies whether to show this field also if it is empty or not.
+ */
+ [property, optional] boolean ShowEmpty;
+
+ /** specifies the function used to calculate results for this field.
+
+ <p>For column and row fields, this is the function for subtotals
+ (GeneralFunction2::NONE means no subtotals).
+ For data fields, this is the function shown in the data pilot
+ table.</p>
+
+ @since LibreOffice 5.3
+ */
+
+ [property, optional] short Function2;
+
+ /** specifies the functions used to calculate subtotals for this field.
+
+ <p>This property is supported by column and row fields only.</p>
+
+ <p>An empty sequence means no subtotals. The same effect can be
+ achieved by setting the property #Function2 to the
+ value GeneralFunction::NONE. If the length of the
+ sequence is greater than 1, then the sequence MUST NOT contain one of
+ the values GeneralFunction2::NONE or
+ GeneralFunction2::AUTO.</p>
+
+ <p>The order of the functions in this sequence is reflected in the
+ DataPilot table. Multiple entries of the same function are ignored
+ when setting the property.</p>
+
+ @since LibreOffice 5.3
+ */
+ [property, optional] sequence<short> Subtotals2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl
new file mode 100644
index 000000000..155ba09a9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldAutoShowInfo.idl
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldAutoShowInfo_idl__
+#define __com_sun_star_sheet_DataPilotFieldAutoShowInfo_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the auto show information of a DataPilotField.
+
+ <p>If enabled, only a number of items with the highest or lowest result
+ values are shown. The other items are hidden automatically.</p>
+
+ @see com::sun::star::sheet::DataPilotField
+ */
+published struct DataPilotFieldAutoShowInfo
+{
+
+ /** specifies whether the AutoShow feature is enabled or not.
+ */
+
+ boolean IsEnabled;
+
+
+ /** specifies the mode which items have to be shown.
+
+ @see com::sun::star::sheet::DataPilotFieldShowItemsMode
+
+ */
+
+ long ShowItemsMode;
+
+
+ /** specifies the number of the items to show.
+ */
+
+ long ItemCount;
+
+
+ /** specifies the field where the values to show and select are taken from.
+ */
+
+ string DataField;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl
new file mode 100644
index 000000000..c41cf395f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldFilter.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldFilter_idl__
+#define __com_sun_star_sheet_DataPilotFieldFilter_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+struct DataPilotFieldFilter
+{
+ /** Field name. */
+ string FieldName;
+
+ /** String value that needs to match against, locale dependent.
+
+ <p> This is the value as name/label as also displayed in the
+ filter popup dialog, maybe formatted by user applied number
+ formats. </p>
+ */
+ string MatchValueName;
+
+ /** String value that needs to match against, locale independent.
+
+ <p> This is the underlying value formatted in a standardized
+ way, for example ISO 8601 YYYY-MM-DD for dates.
+ */
+ string MatchValue;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl
new file mode 100644
index 000000000..a80d252f5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroup.idl
@@ -0,0 +1,109 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroup_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroup_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of members in a data pilot field group.
+
+ <p>The members (also called items) of this collection are instances of
+ DataPilotFieldGroupItem.</p>
+
+ @see DataPilotField
+ @see DataPilotFieldGroups
+ @see DataPilotFieldGroupItem
+ */
+published service DataPilotFieldGroup
+{
+
+ /** provides access to the name of the data pilot field group.
+
+ <p>It is possible to change the name of this field group as long as
+ the new name is not used in the collection of groups in the field.</p>
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** provides access to the data pilot field group members in the
+ collection via index.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all data pilot field group members.
+
+ @see DataPilotFieldGroupEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access to the data pilot field group members in the
+ collection via name.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ /** provides read/write access to the data pilot field group members in
+ the collection via name.
+
+ <p>The com::sun::star::container::XNameContainer
+ and com::sun::star::container::XNameReplace
+ interfaces can be used to manage the members that this group contains.
+ It is possible to insert, remove, and replace members.</p>
+
+ <p>The method com::sun::star::container::XNameReplace::replaceByName
+ can be used to rename the
+ specified member. To do so, the new name has to be passed as second
+ argument. An implementation should support the following data types:
+
+ <ul>
+ <li>a non-empty `string` specifying the new name of the
+ group member.</li>
+ <li>an object supporting the com::sun::star::container::XNamed
+ interface, for example an instance of
+ DataPilotFieldGroupItem received from another group.</li>
+ </ul></p>
+
+ <p>The method com::sun::star::container::XNameContainer::insertByName()
+ can be used to insert a new
+ member into this field group. An implementation should ignore the
+ second argument and insert the specified member name.</p>
+
+ <p>The method com::sun::star::container::XNameContainer::removeByName()
+ can be used to remove an existing member name.</p>
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl
new file mode 100644
index 000000000..0c0bf251e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupBy.idl
@@ -0,0 +1,121 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupBy_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupBy_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** These constants select different types for grouping members of a DataPilot
+ field by date or time.
+
+ @see DataPilotFieldGroupInfo
+ */
+published constants DataPilotFieldGroupBy
+{
+ /** Groups all members of a DataPilot field containing a date/time value
+ by their current value for seconds.
+
+ <p>Example: The group <em>:02</em> will contain all members that
+ contain a time with a seconds value of 2, regardless of the date,
+ hours and minutes of the member, e.g. <em>2002-Jan-03 00:00:02</em> or
+ <em>1999-May-02 12:45:02</em>.</p>
+ */
+ const long SECONDS = 1;
+
+ /** Groups all members of a DataPilot field containing a date/time value
+ by their current value for minutes.
+
+ <p>Example: The group <em>:02</em> will contain all members that
+ contain a time with a minutes value of 2, regardless of the date,
+ hours and seconds of the member, e.g. <em>2002-Jan-03 00:02:00</em> or
+ <em>1999-May-02 12:02:45</em>.</p>
+ */
+ const long MINUTES = 2;
+
+ /** Groups all members of a DataPilot field containing a date/time value
+ by their current value for hours.
+
+ <p>Example: The group <em>02</em> will contain all members that
+ contain a time with a hour value of 2, regardless of the date, minutes
+ and seconds of the member, e.g. <em>2002-Jan-03 02:00:00</em> or
+ <em>1999-May-02 02:12:45</em>.</p>
+ */
+ const long HOURS = 4;
+
+ /** Groups all members of a DataPilot field containing a date/time value
+ by their calendar day, or by ranges of days.
+
+ <p>Examples:
+ <ul>
+ <li>Calendar day grouping: The group <em>Jan 03</em> will contain all
+ members that contain the January 3rd, regardless of the year or time
+ of the member, e.g. <em>2002-Jan-03 00:00:00</em> or
+ <em>1999-Jan-03 02:12:45</em>.</li>
+
+ <li>Day range grouping: The group <em>2002-Jan-03 - 2002-Jan-09</em>
+ will contain all members with a date/time in the range from
+ 2002-Jan-03 00:00:00 through 2002-Jan-09 23:59:59.</li>
+ </ul></p>
+
+ <p>See descriptions for XDataPilotFieldGrouping::createDateGroup()
+ for more details about day grouping.</p>
+ */
+ const long DAYS = 8;
+
+ /** Groups all members of a DataPilot field containing a date/time value
+ by their month.
+
+ <p>Example: The group <em>Jan</em> will contain all members with a
+ date in the month January, regardless of the year, day, or time of the
+ member, e.g. <em>2002-Jan-03 00:00:00</em> or
+ <em>1999-Jan-02 02:12:45</em>.</p>
+ */
+ const long MONTHS = 16;
+
+ /** Groups all members of a DataPilot field containing a date/time value
+ by their quarter.
+
+ <p>Example: The group <em>Q1</em> will contain all members with a
+ date in the first quarter of a year (i.e. the months January,
+ February, and march), regardless of the year, day, or time of the
+ member, e.g. <em>2002-Jan-03 00:00:00</em> or
+ <em>1999-Mar-02 02:12:45</em>.</p>
+ */
+ const long QUARTERS = 32;
+
+ /** Groups all members of a DataPilot field containing a date/time value
+ by their year.
+
+ <p>Example: The group <em>1999</em> will contain all members with a
+ date in the year 1999, regardless of the month, day, or time of the
+ member, e.g. <em>1999-Jan-03 00:00:00</em> or
+ <em>1999-May-02 02:12:45</em>.</p>
+ */
+ const long YEARS = 64;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl
new file mode 100644
index 000000000..fa81edaba
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupEnumeration.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of members in a DataPilot field group.
+
+ @see DataPilotFieldGroupItem
+ @see DataPilotFieldGroup
+ */
+service DataPilotFieldGroupEnumeration
+{
+
+ /** provides methods to access the group members in the enumeration.
+
+ <p>The elements of the enumeration are instances of
+ DataPilotFieldGroupItem.</p>
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl
new file mode 100644
index 000000000..0af4d9767
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupInfo.idl
@@ -0,0 +1,141 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupInfo_idl__
+
+#include <com/sun/star/sheet/XDataPilotField.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the grouping information of a DataPilotField.
+ */
+published struct DataPilotFieldGroupInfo
+{
+
+ /** specifies whether the start value for the grouping is taken
+ automatically from the minimum of the item values.
+
+ <p><ul>
+ <li>If `FALSE` is set, the value from #Start will be
+ used as start value for the grouping.</li>
+ <li>If `TRUE` is set, the start value for the grouping will be
+ calculated automatically from the minimum of all member values of the
+ DataPilot field.</li>
+ </ul></p>
+ */
+ boolean HasAutoStart;
+
+
+ /** specifies whether the end value for the grouping is taken
+ automatically from the maximum of the item values.
+
+ <p><ul>
+ <li>If `FALSE` is set, the value from #End will be
+ used as end value for the grouping.</li>
+ <li>If `TRUE` is set, the end value for the grouping will be
+ calculated automatically from the maximum of all member values of the
+ DataPilot field.</li>
+ </ul></p>
+ */
+ boolean HasAutoEnd;
+
+
+ /** specifies whether date values are grouped by ranges of days.
+
+ <p><ul>
+ <li>If `FALSE` is set, and #GroupBy contains zero,
+ grouping is performed inplace on the item values.</li>
+ <li>If `FALSE` is set, and #GroupBy contains one or
+ more flags from DataPilotFieldGroupBy, grouping is
+ performed on date or time.</li>
+ <li>If `TRUE` is set, #Step contains a value greater
+ than or equal to 1, and #GroupBy set to
+ DataPilotFieldGroupBy::DAYS, grouping is performed on ranges
+ of days (see descriptions for
+ XDataPilotFieldGrouping::createDateGroup() for more details
+ about day grouping).</li>
+ </ul></p>
+ */
+ boolean HasDateValues;
+
+
+ /** specifies the start value for the grouping if #HasAutoStart
+ is set to `FALSE`.
+ */
+ double Start;
+
+
+ /** specifies the end value for the grouping if #HasAutoEnd
+ is set to `FALSE`.
+ */
+ double End;
+
+
+ /** specifies the size of the ranges for numeric or day grouping.
+
+ <p>Example: With #HasAutoStart set to `FALSE`,
+ #Start set to 2, and #Step set to 3,
+ the first group will contain all values greater than or equal to 2 and
+ less than 5. The second group will contain all values greater than or
+ equal to 5 and less than 8, and so on.</p>
+ */
+ double Step;
+
+
+ /** specifies the grouping of the date values.
+
+ @see DataPilotFieldGroupBy
+ */
+ long GroupBy;
+
+
+ /** contains the source DataPilot field grouping is based on. Will be
+ `NULL` if this field is not grouped or contains numeric grouping.
+
+ @see DataPilotField
+ */
+ XDataPilotField SourceField;
+
+
+ /** specifies the named groups in this field if there are some.
+
+ <p>The returned object is an instance of DataPilotFieldGroups
+ . The collection of groups can be modified by inserting,
+ removing, replacing, or renaming single groups or item names in the
+ groups. When writing back this struct containing such a changed
+ collection of groups to the DataPilotField::GroupInfo
+ property, the modified grouping settings are applied at the DataPilot
+ field.</p>
+
+ @see DataPilotField
+ @see DataPilotFieldGroups
+ */
+ com::sun::star::container::XNameAccess Groups;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl
new file mode 100644
index 000000000..5f7f34964
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupItem.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupItem_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupItem_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the member in a data pilot field group.
+
+ @see com::sun::star::sheet::DataPilotFieldGroup
+ */
+published service DataPilotFieldGroupItem
+{
+
+ /** provides access to the name of the data pilot field group member.
+ */
+ interface com::sun::star::container::XNamed;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl
new file mode 100644
index 000000000..5065d353d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroups.idl
@@ -0,0 +1,105 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroups_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroups_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of groups in a data pilot field.
+
+ <p>The members of this collection are instances of DataPilotFieldGroup
+ containing the names of all items in the group.</p>
+
+ @see DataPilotField
+ @see DataPilotFieldGroup
+ @see DataPilotFieldGroupInfo
+ */
+published service DataPilotFieldGroups
+{
+
+ /** provides access to the data pilot field groups in the collection via
+ index.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all data pilot field groups.
+
+ @see DataPilotFieldGroupsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access to the data pilot field groups in the collection via
+ name.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ /** provides read/write access to the data pilot field groups in the
+ collection via name.
+
+ <p>The com::sun::star::container::XNameContainer
+ and com::sun::star::container::XNameReplace
+ interfaces can be used to manage the item groups. It is possible to
+ insert, remove, and replace item groups.</p>
+
+ <p>The method com::sun::star::container::XNameReplace::replaceByName()
+ can be used to replace the item
+ names in an existing group with a new collection of item names. An
+ implementation should support the following data types:
+
+ <ul>
+ <li>an empty `any` to remove all items and leave the
+ group empty. The group can be filled later with new item names.</li>
+ <li>a `string[]` containing all item names that will
+ be part of the group.</li>
+ <li>an object supporting com::sun::star::container::XIndexAccess
+ containing elements that provide an item name per element via the
+ interface com::sun::star::container::XNamed,
+ for example an instance of DataPilotFieldGroup.</li>
+ </ul></p>
+
+ <p>The method com::sun::star::container::XNameContainer::insertByName()
+ can be used to insert a new
+ field group with the passed collection of item names. An
+ implementation should support the same data types as described above
+ for the method
+ com::sun::star::container::XNameReplace::replaceByName().</p>
+
+ <p>The method com::sun::star::container::XNameContainer::removeByName()
+ can be used to remove an existing field group.</p>
+ */
+ [optional] interface com::sun::star::container::XNameContainer;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl
new file mode 100644
index 000000000..69e351c17
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldGroupsEnumeration.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotFieldGroupsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of member groups in a DataPilot field.
+
+ @see DataPilotFieldGroup
+ @see DataPilotFieldGroups
+ */
+service DataPilotFieldGroupsEnumeration
+{
+
+ /** provides methods to access the field groups in the enumeration.
+
+ <p>The elements of the enumeration are instances of
+ DataPilotFieldGroup.</p>
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl
new file mode 100644
index 000000000..5e84303d4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldLayoutInfo.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldLayoutInfo_idl__
+#define __com_sun_star_sheet_DataPilotFieldLayoutInfo_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the layout information of a DataPilotField.
+ */
+published struct DataPilotFieldLayoutInfo
+{
+
+ /** specifies the layout mode.
+
+ @see com::sun::star::sheet::DataPilotFieldLayoutMode
+
+ */
+
+ long LayoutMode;
+
+
+ /** If `TRUE`, an empty row is inserted in the DataPilotTable
+ result table after the data
+ (including the subtotals) for each item of the field.
+ */
+
+ boolean AddEmptyLines;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl
new file mode 100644
index 000000000..e85fb6507
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldLayoutMode.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldLayoutMode_idl__
+#define __com_sun_star_sheet_DataPilotFieldLayoutMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes the layout mode of the data field
+
+@see com::sun::star::sheet::DataPilotFieldLayoutInfo
+
+ */
+constants DataPilotFieldLayoutMode
+{
+
+ /** Tabular layout mode is the layout, where each item's name is on the same
+ row as the first item from the following field. Subtotals are always shown below
+ an item's data in this mode.
+ */
+
+ const long TABULAR_LAYOUT = 0;
+
+
+ /** In outline layout mode, the items from the following field start in the row
+ below an item's name, like in traditional database reports.
+
+ <P>Subtotals are shown at the top (on the same row as the item's name). When
+ the subtotals take up more than one row (manually selected, or because there
+ are several data fields), they are always shown below the item's data,
+ regardless of the setting.</p>
+ */
+
+ const long OUTLINE_SUBTOTALS_TOP = 1;
+
+
+ /** In outline layout mode, the items from the following field start in the row
+ below an item's name, like in traditional database reports.
+
+ <P>Subtotals are shown at the bottom (below the item's data, as in tabular
+ layout mode). When the subtotals take up more than one row (manually
+ selected, or because there are several data fields), they are always shown
+ below the item's data, regardless of the setting.</p>
+ */
+
+ const long OUTLINE_SUBTOTALS_BOTTOM = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl b/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl
new file mode 100644
index 000000000..23b09e854
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldOrientation.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldOrientation_idl__
+#define __com_sun_star_sheet_DataPilotFieldOrientation_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify where a field in a data pilot table is laid out.
+ */
+published enum DataPilotFieldOrientation
+{
+
+ /** the field is not used in the table.
+ */
+ HIDDEN,
+
+
+ /** the field is used as a column field.
+ */
+ COLUMN,
+
+
+ /** the field is used as a row field.
+ */
+ ROW,
+
+
+ /** the field is used as a page field.
+ */
+ PAGE,
+
+
+ /** the field is used as a data field.
+ */
+ DATA
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReference.idl b/offapi/com/sun/star/sheet/DataPilotFieldReference.idl
new file mode 100644
index 000000000..a9a153f95
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldReference.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldReference_idl__
+#define __com_sun_star_sheet_DataPilotFieldReference_idl__
+
+#include <com/sun/star/sheet/DataPilotFieldReferenceItemType.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** controls how a data pilot field's results are shown in relation to
+ a selected reference result.
+
+ @see com::sun::star::sheet::DataPilotField
+ */
+published struct DataPilotFieldReference
+{
+
+ /** contains the type of the reference.
+
+ @see com::sun::star::sheet::DataPilotFieldReferenceType
+
+ */
+
+ long ReferenceType;
+
+
+ /** contains the reference field
+ */
+
+ string ReferenceField;
+
+
+ /** selects between a named reference item and using the previous or next
+ item for each item from the reference field.
+
+ @see com::sun::star::sheet::DataPilotFieldReferenceItemType
+
+ */
+
+ long ReferenceItemType;
+
+
+ /** contains the name of the reference item, when the
+ DataPilotFieldReference::ReferenceItemType is NAMED
+ otherwise is empty
+ */
+
+ string ReferenceItemName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl b/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl
new file mode 100644
index 000000000..cb51936fa
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldReferenceItemType.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldReferenceItemType_idl__
+#define __com_sun_star_sheet_DataPilotFieldReferenceItemType_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to select the reference item
+ */
+constants DataPilotFieldReferenceItemType
+{
+
+ /** the reference item is given by a name.
+ */
+
+ const long NAMED = 0;
+
+
+ /** the reference item is the previous one.
+ */
+
+ const long PREVIOUS = 1;
+
+
+ /** the reference item is the next one.
+ */
+
+ const long NEXT = 2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl b/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl
new file mode 100644
index 000000000..c312f42f5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldReferenceType.idl
@@ -0,0 +1,161 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldReferenceType_idl__
+#define __com_sun_star_sheet_DataPilotFieldReferenceType_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** These constants select different types of References to calculate
+ the data fields.
+ */
+constants DataPilotFieldReferenceType
+{
+
+ /** This type means, that the results in the data fields are displayed like they are.
+ */
+ const long NONE = 0;
+
+
+ /** From each result, its reference value (see below) is subtracted, and the difference is shown.
+ Totals outside of the base field are shown as empty results.
+
+ <p><b>Named Item</b></p>
+
+ <p>If a base item name is specified, the reference value for a combination of field items is the
+ result where the item in the base field is replaced by the specified base item.</p>
+
+ <p>If the reference value isn't shown in the DataPilot table because of hidden details for a
+ parent field, the difference isn't calculated and an error value is shown.</p>
+
+ <p>If the result for an item combination is empty, the value 0 is used for the difference, even
+ if the summary function is undefined without values, like average or variance. The difference
+ is shown in the result table even if the original result was empty.</p>
+
+ <p>The difference for item combinations containing the base item is shown as empty result.</p>
+
+ <p><b>Previous or Next</b></p>
+
+ <p>If "previous" or "next" is specified as the base item, the reference value is the result for
+ the next visible member of the base field, in the base field's sort order. If details for one
+ item in the base field are hidden, that item is skipped. The difference for the item with
+ hidden details isn't calculated, not even for the item's summary, to have a consistent order
+ of previous and next items.</p>
+
+ <p>Empty results are handled as for named items (see above).<p>
+
+ <p>The difference for the first (for
+ com::sun::star::sheet::DataPilotFieldReferenceItemType::PREVIOUS)
+ or last (for com::sun::star::sheet::DataPilotFieldReferenceItemType::NEXT
+ ) item of the base field is
+ shown as empty result.</p>
+ */
+
+ const long ITEM_DIFFERENCE = 1;
+
+
+ /** Each result is divided by its reference value. The reference value is determined in the
+ same way as for ::com::sun::star::sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE.
+ Totals outside of the base field are shown as empty results.
+
+ <p>Division by zero results in an error. Otherwise, empty results are shown as 0. Results for
+ the base item, first (for
+ com::sun::star::sheet::DataPilotFieldReferenceItemType::PREVIOUS)
+ or last (for
+ com::sun::star::sheet::DataPilotFieldReferenceItemType::NEXT)
+ item of the base field are shown
+ as 1 if not empty.</p>
+ */
+
+ const long ITEM_PERCENTAGE = 2;
+
+
+ /** From each result, its reference value is subtracted, and the difference divided by the
+ reference value. The reference value is determined in the same way as for
+ ::com::sun::star::sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE.
+ Totals outside of the base field are shown as empty results.
+
+ <p>Division by zero results in an error. Otherwise, the rules for ::com::sun::star::sheet::DataPilotFieldReferenceType::ITEM_DIFFERENCE apply.</p>
+ */
+
+ const long ITEM_PERCENTAGE_DIFFERENCE = 3;
+
+
+ /** Each result is added to the sum of the results for preceding items in the base field,
+ in the base field's sort order, and the total sum is shown.
+
+ <p>If details for one item in the base field are hidden, that item isn't included in
+ calculating the sum, and results for that item are shown as error, to ensure consistency
+ between details and subtotals for the following items.</p>
+
+ <p>Results are always summed, even if a different summary function was used to get each result.</p>
+
+ <p>Totals outside of the base field are shown as empty results.</p>
+ */
+
+ const long RUNNING_TOTAL = 4;
+
+
+ /** Each result is divided by the total result for its row in the DataPilot table.
+
+ <p>If there are several data fields, the total for the result's data field is used.</p>
+
+ <p>If there are subtotals with manually selected summary functions, still the total with
+ the data field's summary function is used.</p>
+
+ <p>Division by zero results in an error.</p>
+
+ <p>Otherwise, empty results remain empty.</p>
+ */
+
+ const long ROW_PERCENTAGE = 5;
+
+
+ /** Same as ::com::sun::star::sheet::DataPilotFieldReferenceType::ROW_PERCENTAGE, but the total for the result's column is used.
+ */
+
+ const long COLUMN_PERCENTAGE = 6;
+
+
+ /** Same as ::com::sun::star::sheet::DataPilotFieldReferenceType::ROW_PERCENTAGE, but the grand total for the result's data field is used.
+ */
+
+ const long TOTAL_PERCENTAGE = 7;
+
+
+ /** The row and column totals and the grand total, following the same rules as above, are used to calculate the following expression.
+
+ <p>( original result * grand total ) / ( row total * column total )</p>
+
+ <p>Division by zero results in an error. Otherwise, empty results remain empty.</p>
+ */
+
+ const long INDEX = 8;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl
new file mode 100644
index 000000000..a3451aad0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldShowItemsMode.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldShowItemsMode_idl__
+#define __com_sun_star_sheet_DataPilotFieldShowItemsMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** These constants select different types of showing a selection of items.
+
+@see com::sun::star::sheet::DataPilotFieldAutoShowInfo
+
+ */
+constants DataPilotFieldShowItemsMode
+{
+
+ /** The first items are shown.
+ */
+ const long FROM_TOP = 0;
+
+
+ /** The last items are shown.
+ */
+
+ const long FROM_BOTTOM = 1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl b/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl
new file mode 100644
index 000000000..70fc9443a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldSortInfo.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_DataPilotFieldSortInfo_idl__
+#define __com_sun_star_sheet_DataPilotFieldSortInfo_idl__
+
+#include <com/sun/star/sheet/DataPilotFieldSortMode.idl>
+
+
+module com { module sun { module star { module sheet {
+
+/** describes how to sort a single DataPilotField
+ */
+published struct DataPilotFieldSortInfo
+{
+
+ /** contains the data field to sort by if the Mode is DATA
+ */
+
+ string Field;
+
+
+ /** `TRUE` if data are sorted in ascending order,
+ `FALSE` if in descending order.
+ */
+
+ boolean IsAscending;
+
+
+ /** contains the sort mode
+
+ @see com::sun::star::sheet::DataPilotFieldSortMode
+
+ */
+
+ long Mode;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl b/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl
new file mode 100644
index 000000000..222ed6fde
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldSortMode.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldSortMode_idl__
+#define __com_sun_star_sheet_DataPilotFieldSortMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes the sort mode of the data field
+
+@see com::sun::star::sheet::DataPilotFieldSortInfo
+
+ */
+constants DataPilotFieldSortMode
+{
+
+ /** the data are taken as they come from the DataPilotSource.
+ */
+
+ const long NONE = 0;
+
+
+ /** the user can sort the fields
+ */
+
+ const long MANUAL = 1;
+
+
+ /** the field is sorted by its names
+ */
+
+ const long NAME = 2;
+
+
+ /** the field is sorted by the data in the given field
+
+ @see com::sun::star::sheet::DataPilotFieldSortInfo
+
+ */
+
+ const long DATA = 3;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFields.idl b/offapi/com/sun/star/sheet/DataPilotFields.idl
new file mode 100644
index 000000000..062541a49
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFields.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFields_idl__
+#define __com_sun_star_sheet_DataPilotFields_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of fields in a data pilot table.
+
+ <p>If the data pilot table is based on a spreadsheet cell range, the
+ fields are represented by the columns of the range and are named using
+ the first row of the range.</p>
+
+ @see com::sun::star::sheet::DataPilotField
+ */
+published service DataPilotFields
+{
+
+ /** provides access to the data pilot fields in the collection via index.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all data pilot fields.
+
+ @see com::sun::star::sheet::DataPilotItemsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access to the data pilot fields in the collection via name.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl
new file mode 100644
index 000000000..c74087598
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotFieldsEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotFieldsEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotFieldsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of data pilot fields.
+
+ @see com::sun::star::sheet::DataPilotField
+ */
+published service DataPilotFieldsEnumeration
+{
+
+ /** provides methods to access the data pilot fields in the enumeration.
+
+ @see com::sun::star::sheet::DataPilotField
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotItem.idl b/offapi/com/sun/star/sheet/DataPilotItem.idl
new file mode 100644
index 000000000..15a50328f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotItem.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotItem_idl__
+#define __com_sun_star_sheet_DataPilotItem_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a single item in a data pilot field.
+ */
+service DataPilotItem
+{
+
+ /** provides access to the name of the data pilot item.
+
+ <p>Only the <code>getName()</code> method is provided.</p>
+ */
+ interface com::sun::star::container::XNamed;
+
+
+//! service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies whether the item is showing detail.
+ */
+ [property] boolean ShowDetail;
+
+
+ /** specifies whether the item is hidden.
+ */
+ [property] boolean IsHidden;
+
+
+ /** specifies the item's position in its field if sorting is manual.
+
+ @since OOo 2.4
+ */
+ [optional, property] long Position;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotItems.idl b/offapi/com/sun/star/sheet/DataPilotItems.idl
new file mode 100644
index 000000000..1760bc916
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotItems.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotItems_idl__
+#define __com_sun_star_sheet_DataPilotItems_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of items in a data pilot field.
+
+ @see DataPilotItem
+ */
+service DataPilotItems
+{
+
+ /** provides access to the data pilot items in the collection via index.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all data pilot items.
+
+ @see com::sun::star::sheet::DataPilotItemsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access to the data pilot items in the collection via name.
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl
new file mode 100644
index 000000000..ab0d57750
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotItemsEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotItemsEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotItemsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of data pilot items.
+
+ @see com::sun::star::sheet::DataPilotItem
+ */
+service DataPilotItemsEnumeration
+{
+
+ /** provides methods to access the data pilot items in the enumeration.
+
+ @see com::sun::star::sheet::DataPilotItem
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl
new file mode 100644
index 000000000..893734562
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotOutputRangeType.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotOutputRangeType_idl__
+#define __com_sun_star_sheet_DataPilotOutputRangeType_idl__
+
+module com { module sun { module star { module sheet {
+
+
+/** specifies region type of DataPilot table range
+
+ <p>This constant set is used to indicate the type of output range desired when
+ XDataPilotTable2::getOutputRangeByType() is called, which
+ returns a different cell range depending upon the value passed to it as the argument.</p>
+
+ @see com::sun::star::sheet::XDataPilotTable2
+
+ @since OOo 3.0
+ */
+constants DataPilotOutputRangeType
+{
+
+ /** whole DataPilot output range including the header area above the table
+ where the filter and page field buttons are located. */
+ const long WHOLE = 0;
+
+
+ /** whole table but without the header area where the filter and page field
+ buttons are located. */
+ const long TABLE = 1;
+
+
+ /** result area where the result values are displayed. This also includes
+ the column and row subtotal areas when they are displayed. */
+ const long RESULT = 2;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSource.idl b/offapi/com/sun/star/sheet/DataPilotSource.idl
new file mode 100644
index 000000000..920c17d12
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSource.idl
@@ -0,0 +1,99 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSource_idl__
+#define __com_sun_star_sheet_DataPilotSource_idl__
+
+#include <com/sun/star/sheet/XDimensionsSupplier.idl>
+#include <com/sun/star/sheet/XDataPilotResults.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a data pilot source.
+
+ <p>A component that implements this service can be used as data source
+ for a data pilot table in a spreadsheet document.</p>
+ */
+service DataPilotSource
+{
+
+ /** provides access to the collection of the dimensions of the data
+ pilot source.
+ */
+ interface com::sun::star::sheet::XDimensionsSupplier;
+
+
+ /** gives access to the results of the data pilot table.
+ */
+ interface com::sun::star::sheet::XDataPilotResults;
+
+
+ /** provides methods to refresh the data pilot table, that means to
+ read the data again from the data pilot source.
+ */
+ interface com::sun::star::util::XRefreshable;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies if grand totals for the columns are inserted.
+ */
+ [property] boolean ColumnGrand;
+
+
+ /** specifies if grand totals for the rows are inserted.
+ */
+ [property] boolean RowGrand;
+
+
+ /** specifies the number of row fields.
+
+ @since OOo 3.0
+ */
+ [readonly, property, optional] long RowFieldCount;
+
+
+ /** specifies the number of column fields.
+
+ @since OOo 3.0
+ */
+ [readonly, property, optional] long ColumnFieldCount;
+
+
+ /** specifies the number of data fields.
+
+ @since OOo 3.0
+ */
+ [readonly, property, optional] long DataFieldCount;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl b/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl
new file mode 100644
index 000000000..5ef61f508
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceDimension.idl
@@ -0,0 +1,138 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceDimension_idl__
+#define __com_sun_star_sheet_DataPilotSourceDimension_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/sheet/XHierarchiesSupplier.idl>
+#include <com/sun/star/util/XCloneable.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sheet/DataPilotFieldOrientation.idl>
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#include <com/sun/star/sheet/TableFilterField.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** represents a dimension in a data pilot source.
+
+ <p>A dimension is equivalent to a column of a cell range in a spreadsheet
+ used for a data pilot field.</p>
+
+ <p>In more complex data sources, a dimension may contain several
+ hierarchies, which consolidate items of a complex data type, called
+ levels.</p>
+
+ <p>Example: In a database, a column contains date values. This column
+ will be a dimension of the data pilot source. One hierarchy may contain
+ the 3 levels year, month, day. Another hierarchy may contain the 2 levels
+ year and week number.</p>
+
+ @see com::sun::star::sheet::DataPilotSource
+ @see com::sun::star::sheet::DataPilotTable
+ */
+service DataPilotSourceDimension
+{
+
+ /** provides access to the name of the dimension, i.e. used in
+ collections.
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** provides access to the collection of hierarchies of this dimension.
+ */
+ interface com::sun::star::sheet::XHierarchiesSupplier;
+
+
+ /** supports duplicating the dimension.
+
+ <p>A dimension may be used several times in a data pilot table,
+ i.e. as row field and data field.</p>
+ */
+ interface com::sun::star::util::XCloneable;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** returns the name of the dimension from which this dimension was
+ cloned, or `NULL` if it was not cloned.
+ */
+ [readonly, property] com::sun::star::container::XNamed Original;
+
+
+ /** contains `TRUE` if this is the dimension used to layout the
+ different data dimensions.
+ */
+ [readonly, property] boolean IsDataLayoutDimension;
+
+
+ /** specifies where the dimension is used.
+ */
+ [property] com::sun::star::sheet::DataPilotFieldOrientation Orientation;
+
+
+ /** specifies the position of the dimension within its orientation.
+ */
+ [property] long Position;
+
+
+ /** specifies how data are aggregated.
+ */
+ [property] com::sun::star::sheet::GeneralFunction Function;
+
+
+ /** specifies which hierarchy of the dimension is used.
+
+ @see com::sun::star::sheet::DataPilotSourceHierarchies
+ */
+ [property] long UsedHierarchy;
+
+
+ /** specifies which values are used.
+ */
+ [property] sequence< com::sun::star::sheet::TableFilterField > Filter;
+
+
+ /** contains flags that control the usage of the dimension.
+
+ @see com::sun::star::sheet::DimensionFlags
+ */
+ [readonly, property, optional] long Flags;
+
+
+ /** specifies how data are aggregated.
+ @since LibreOffice 5.3
+ */
+ [property, optional] short Function2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl b/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl
new file mode 100644
index 000000000..f9fc47548
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceDimensions.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceDimensions_idl__
+#define __com_sun_star_sheet_DataPilotSourceDimensions_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the collection of dimensions in a data pilot source.
+
+ @see com::sun::star::sheet::DataPilotSource
+ */
+service DataPilotSourceDimensions
+{
+
+ /** provides access by name to the dimensions in the collection.
+
+ @see com::sun::star::sheet::DataPilotSourceDimension
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl b/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl
new file mode 100644
index 000000000..9e2701ac1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceHierarchies.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceHierarchies_idl__
+#define __com_sun_star_sheet_DataPilotSourceHierarchies_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the collection of hierarchies in a data pilot source
+ dimension.
+
+ @see com::sun::star::sheet::DataPilotSourceDimension
+ @see com::sun::star::sheet::DataPilotSource
+ */
+service DataPilotSourceHierarchies
+{
+
+ /** provides access by name to the hierarchies in the collection.
+
+ @see com::sun::star::sheet::DataPilotSourceHierarchy
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl b/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl
new file mode 100644
index 000000000..43d878851
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceHierarchy.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceHierarchy_idl__
+#define __com_sun_star_sheet_DataPilotSourceHierarchy_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/sheet/XLevelsSupplier.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a hierarchy in a data pilot source dimension.
+
+ @see com::sun::star::sheet::DataPilotSourceDimension
+ @see com::sun::star::sheet::DataPilotSource
+ */
+service DataPilotSourceHierarchy
+{
+
+ /** provides access to the name of the hierarchy, i.e. used in
+ collections.
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** provides access to the collection of levels of this hierarchy.
+ */
+ interface com::sun::star::sheet::XLevelsSupplier;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl b/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl
new file mode 100644
index 000000000..2485de517
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceLevel.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceLevel_idl__
+#define __com_sun_star_sheet_DataPilotSourceLevel_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/sheet/XMembersSupplier.idl>
+#include <com/sun/star/sheet/XDataPilotMemberResults.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sheet/GeneralFunction.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** represents a level in a data pilot source hierarchy.
+
+ @see com::sun::star::sheet::DataPilotSourceHierarchy
+ @see com::sun::star::sheet::DataPilotSource
+ */
+service DataPilotSourceLevel
+{
+
+ /** provides access to the name of the level, i.e. used in collections.
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** provides access to the collection of members of this level.
+ */
+ interface com::sun::star::sheet::XMembersSupplier;
+
+
+ /** provides access to a sequence of results of this level.
+ */
+ interface com::sun::star::sheet::XDataPilotMemberResults;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the subtotals that are inserted for the level.
+
+ <p>The subtotals are calculated with the members of this level.</p>
+ */
+ [property] sequence< com::sun::star::sheet::GeneralFunction > SubTotals;
+
+
+ /** specifies whether empty members are shown.
+ */
+ [property] boolean ShowEmpty;
+
+
+ /** specifies the subtotals that are inserted for the level.
+
+ <p>The subtotals are calculated with the members of this level.</p>
+ @since LibreOffice 5.3
+ */
+ [property, optional] sequence< short > SubTotals2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl b/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl
new file mode 100644
index 000000000..e81c46bb4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceLevels.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceLevels_idl__
+#define __com_sun_star_sheet_DataPilotSourceLevels_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the collection of levels in a data pilot source hierarchy.
+
+ @see com::sun::star::sheet::DataPilotSourceHierarchy
+ @see com::sun::star::sheet::DataPilotSource
+ */
+service DataPilotSourceLevels
+{
+
+ /** provides access by name to the levels in the collection.
+
+ @see com::sun::star::sheet::DataPilotSourceLevel
+ */
+ interface com::sun::star::container::XNameAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMember.idl b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl
new file mode 100644
index 000000000..1093e1b4f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceMember.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceMember_idl__
+#define __com_sun_star_sheet_DataPilotSourceMember_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a member in a data pilot source level.
+
+ <p>Members are the data items that will appear in a data pilot table
+ as row headers and column headers of the data range (if used in
+ row or column dimensions), or to calculate the values of the
+ data range (if used in data dimensions).</p>
+
+ @see com::sun::star::sheet::DataPilotSourceLevel
+ @see com::sun::star::sheet::DataPilotSource
+ */
+service DataPilotSourceMember
+{
+
+ /** provides access to the name of the member.
+
+ <p>This may be the textual representation of a numerical value.</p>
+ */
+ interface com::sun::star::container::XNamed;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies whether the member is visible.
+ */
+ [property] boolean IsVisible;
+
+
+ /** specifies whether details for the member are shown.
+ */
+ [property] boolean ShowDetails;
+
+
+ /** specifies the member's position in its hierarchy level if sorting
+ is manual.
+
+ @since OOo 2.4
+ */
+ [optional, property] boolean Position;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl
new file mode 100644
index 000000000..4e113ca33
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotSourceMembers.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotSourceMembers_idl__
+#define __com_sun_star_sheet_DataPilotSourceMembers_idl__
+
+#include <com/sun/star/sheet/XMembersAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the collection of members in a data pilot source level.
+
+ @see com::sun::star::sheet::DataPilotSourceLevel
+ @see com::sun::star::sheet::DataPilotSource
+ */
+service DataPilotSourceMembers
+{
+
+ /** provides access by name to the members in the collection.
+
+ @see com::sun::star::sheet::DataPilotSourceMember
+ */
+ interface com::sun::star::sheet::XMembersAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotTable.idl b/offapi/com/sun/star/sheet/DataPilotTable.idl
new file mode 100644
index 000000000..916fe1ac5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTable.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotTable_idl__
+#define __com_sun_star_sheet_DataPilotTable_idl__
+
+#include <com/sun/star/sheet/XDataPilotDescriptor.idl>
+#include <com/sun/star/sheet/XDataPilotTable.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a data pilot table on a spreadsheet.
+ */
+published service DataPilotTable
+{
+
+ /** provides access to the layout settings of the data pilot table.
+ */
+ interface com::sun::star::sheet::XDataPilotDescriptor;
+
+
+ /** provides methods to control a data pilot table.
+ */
+ interface com::sun::star::sheet::XDataPilotTable;
+
+
+ /** allows notification of modifications to the data pilot table.
+
+ @since OOo 3.3
+
+ */
+ [optional] interface com::sun::star::util::XModifyBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl
new file mode 100644
index 000000000..403d0eda2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTableHeaderData.idl
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotTableHeaderData_idl__
+#define __com_sun_star_sheet_DataPilotTableHeaderData_idl__
+
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+#include <com/sun/star/sheet/DataResult.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** information about a cell within the column or row header area of a DataPilot table.
+
+ This struct contains information about a particular cell located within the
+ column or row header area of a DataPilot table. This is the type that is
+ contained in DataPilotTablePositionData::PositionData when
+ the value of DataPilotTablePositionData::PositionType is
+ either DataPilotTablePositionType::ROW_HEADER or
+ DataPilotTablePositionType::COLUMN_HEADER.
+
+ @see com::sun::star::sheet::DataPilotTablePositionData
+ @see com::sun::star::sheet::DataPilotTablePositionType
+ @see com::sun::star::sheet::DataPilotFieldFilter
+ @see com::sun::star::sheet::DataResult
+
+ @since OOo 3.0
+ */
+struct DataPilotTableHeaderData
+{
+ /** number of dimensions */
+ long Dimension;
+
+ /** hierarchy */
+ long Hierarchy;
+
+ /** level */
+ long Level;
+
+ /** flag */
+ long Flags;
+
+ /** member name */
+ string MemberName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl
new file mode 100644
index 000000000..0cbcdecc2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTablePositionData.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotTablePositionData_idl__
+#define __com_sun_star_sheet_DataPilotTablePositionData_idl__
+
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** This structure contains information on a cell within a DataPilot table.
+
+ <p>This structure contains information on a particular cell within a DataPilot
+ table, and is used to retrieve its metadata. The #PositionType
+ member specifies in which sub-area of the table the cell is positioned, which
+ in turn determines the type of metadata contained in the #PositionData
+ member.</p>
+
+ @see com::sun::star::sheet::DataPilotTablePositionType
+ @see com::sun::star::sheet::DataPiotTableResultData
+ @see com::sun::star::sheet::DataPiotTableHeaderData
+
+ @since OOo 3.0
+ */
+struct DataPilotTablePositionData
+{
+
+ /** This parameter specifies which sub-area of a DataPilot table a given
+ cell is positioned. See DataPilotTablePositionType
+ for how to interpret the value of this parameter.
+
+ @see com::sun::star::sheet::DataPilotTablePositionType
+ */
+ long PositionType;
+
+
+ /** <p>This member contains a structure of different types depending on the
+ position type specified in #PositionType member.</p>
+
+ <p>When the value of #PositionType is
+ DataPilotTablePositionType::RESULT, DataPilotTablePositionData::PositionData
+ contains an instance of type DataPilotTableResultData,
+ whereas when the value of DataPilotTablePositionData::PositionType
+ is either DataPilotTablePositionType::ROW_HEADER
+ or DataPilotTablePositionType::COLUMN_HEADER, then the
+ #PositionData member contains an instance of type
+ DataPilotTableHeaderData.</p>
+
+ @see com::sun::star::sheet::DataPiotTableResultData
+ @see com::sun::star::sheet::DataPiotTableHeaderData
+ */
+ any PositionData;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl
new file mode 100644
index 000000000..f8fdbe077
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTablePositionType.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotTablePositionType_idl__
+#define __com_sun_star_sheet_DataPilotTablePositionType_idl__
+
+module com { module sun { module star { module sheet {
+
+
+/** specifies in which sub-area a cell is positioned within a DataPilot table.
+
+ @see com::sun::star::sheet::DataPilotTablePositionData
+ @see com::sun::star::sheet::DataPilotTableResultData
+ @see com::sun::star::sheet::DataPilotTableHeaderData
+
+ @since OOo 3.0
+ */
+constants DataPilotTablePositionType
+{
+
+ /** indicates that the specified cell is not in the DataPilot table. */
+ const long NOT_IN_TABLE = 0;
+
+
+ /** indicates that the specified cell is within the result area. */
+ const long RESULT = 1;
+
+
+ /** indicates that the specified cell is within the row header area. */
+ const long ROW_HEADER = 2;
+
+
+ /** indicates that the specified cell is within the column header area. */
+ const long COLUMN_HEADER = 3;
+
+
+ /** indicates that the specified cell is within the table but in areas
+ other than the result or header areas. */
+ const long OTHER = 4;
+};
+
+
+}; }; }; };
+
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotTableResultData.idl b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl
new file mode 100644
index 000000000..029966786
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTableResultData.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotTableResultData_idl__
+#define __com_sun_star_sheet_DataPilotTableResultData_idl__
+
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+#include <com/sun/star/sheet/DataResult.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** information about a cell positioned within the result area of a DataPilot table.
+
+ <p>DataPilotTableResultData contains information about a
+ particular cell positioned within the result area of a DataPilot table.</p>
+
+ @see com::sun::star::sheet::DataPilotTablePositionData
+ @see com::sun::star::sheet::DataPilotTablePositionType
+ @see com::sun::star::sheet::DataPilotFieldFilter
+ @see com::sun::star::sheet::DataResult
+
+ @since OOo 3.0
+ */
+struct DataPilotTableResultData
+{
+
+ /** This is a set of filter criteria that can be used to re-create those
+ data rows that contribute to the value shown in the cell.
+
+ @see com::sun::star::sheet::DataPilotFieldFilter
+ */
+ sequence< DataPilotFieldFilter > FieldFilters;
+
+
+ /** This is a 0-based index that specifies which data field the data displayed
+ in the cell is for; the value of 0 means the cell is for the first data
+ field, 1 for the second, and so on.
+ */
+ long DataFieldIndex;
+
+
+ /** more information about the result contained in the
+ DataResult type.
+
+ @see com::sun::star::sheet::DataResult
+ */
+ DataResult Result;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotTables.idl b/offapi/com/sun/star/sheet/DataPilotTables.idl
new file mode 100644
index 000000000..f177a4c0f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTables.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotTables_idl__
+#define __com_sun_star_sheet_DataPilotTables_idl__
+
+#include <com/sun/star/sheet/XDataPilotTables.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of data pilot tables.
+ */
+published service DataPilotTables
+{
+
+ /** provides access to the data pilot objects in this collection.
+ */
+ interface com::sun::star::sheet::XDataPilotTables;
+
+
+ /** creates an enumeration of all data pilot tables.
+
+ @see com::sun::star::sheet::DataPilotTablesEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides methods to access the contained data pilot tables by index.
+
+ @see com::sun::star::sheet::DataPilotTable
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl b/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl
new file mode 100644
index 000000000..c9591d942
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataPilotTablesEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataPilotTablesEnumeration_idl__
+#define __com_sun_star_sheet_DataPilotTablesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of data pilot tables.
+
+ @see com::sun::star::sheet::DataPilotTable
+ */
+published service DataPilotTablesEnumeration
+{
+
+ /** provides methods to access the data pilot tables in the enumeration.
+
+ @see com::sun::star::sheet::DataPilotTable
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataResult.idl b/offapi/com/sun/star/sheet/DataResult.idl
new file mode 100644
index 000000000..5c8a3ec68
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataResult.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataResult_idl__
+#define __com_sun_star_sheet_DataResult_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the result of one element in the data pilot data array.
+
+ @see com::sun::star::sheet::XDataPilotResults
+ */
+struct DataResult
+{
+ /** contains boolean flags describing the result.
+
+ @see com::sun::star::sheet::DataResultFlags
+ */
+ long Flags;
+
+
+ /** contains the result value.
+ */
+ double Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DataResultFlags.idl b/offapi/com/sun/star/sheet/DataResultFlags.idl
new file mode 100644
index 000000000..25641fb70
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DataResultFlags.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DataResultFlags_idl__
+#define __com_sun_star_sheet_DataResultFlags_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify the result type of one element in the data pilot
+ data array.
+
+ @see com::sun::star::sheet::DataResult
+ */
+constants DataResultFlags
+{
+
+ /** The element contains data.
+ */
+ const long HASDATA = 1;
+
+
+ /** The element contains a subtotal.
+ */
+ const long SUBTOTAL = 2;
+
+
+ /** The element has an error.
+ */
+ const long ERROR = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl
new file mode 100644
index 000000000..40355368a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseImportDescriptor.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DatabaseImportDescriptor_idl__
+#define __com_sun_star_sheet_DatabaseImportDescriptor_idl__
+
+#include <com/sun/star/sheet/DataImportMode.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a description of how data from an external database is
+ imported.
+
+ @see com::sun::star::sheet::XDatabaseRange
+ */
+published service DatabaseImportDescriptor
+{
+
+ /** enables importing and specifies from what type of source data is
+ imported.
+ */
+ [property] com::sun::star::sheet::DataImportMode SourceType;
+
+
+ /** specifies the name of the database from which data is imported.
+ */
+ [property] string DatabaseName;
+
+
+ /** specifies the table, query, or statement from which data is imported.
+
+ <p>The meaning of this is determined by the
+ DatabaseImportDescriptor::SourceType attribute.</p>
+ */
+ [property] string SourceObject;
+
+
+ /** specifies whether the SQL statement is given directly to the database
+ or is parsed before.
+
+ @since OOo 2.0
+
+ */
+ [optional, property] boolean IsNative;
+
+
+ /** indicates a connection URL, which locates a database driver.
+ @since OOo 2.0
+ */
+ [optional, property] string ConnectionResource;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DatabaseRange.idl b/offapi/com/sun/star/sheet/DatabaseRange.idl
new file mode 100644
index 000000000..0c4896579
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseRange.idl
@@ -0,0 +1,135 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_DatabaseRange_idl__
+#define __com_sun_star_sheet_DatabaseRange_idl__
+
+#include <com/sun/star/sheet/XDatabaseRange.idl>
+#include <com/sun/star/sheet/XCellRangeReferrer.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** represents a database range in a spreadsheet document.
+
+ <p>A database range is a name for a cell range that also stores filtering,
+ sorting, subtotal and data import settings and options.</p>
+
+ @see com::sun::star::sheet::DatabaseRanges
+ */
+published service DatabaseRange
+{
+ interface com::sun::star::sheet::XDatabaseRange;
+ interface com::sun::star::sheet::XCellRangeReferrer;
+ interface com::sun::star::beans::XPropertySet;
+ interface com::sun::star::container::XNamed;
+
+ [optional] interface com::sun::star::util::XRefreshable;
+
+ /** if this property is set, columns or rows are inserted or deleted
+ when the size of the range is changed by an update operation.
+ */
+ [property] boolean MoveCells;
+
+ /** if this property is set, cell formats are extended
+ when the size of the range is changed by an update operation.
+ */
+ [property] boolean KeepFormats;
+
+ /** if this property is set, the cell contents within the database
+ range are left out when the document is saved.
+ */
+ [property] boolean StripData;
+
+
+ /** specifies whether the AutoFilter is enabled or not.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean AutoFilter;
+
+
+ /** specifies whether the filter criteria should be taken from a CellRange.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] boolean UseFilterCriteriaSource;
+
+
+ /** specifies the range where the filter can find the filter criteria.
+ <p>This is only used if SheetFilterDescriptor::UseFilterCriteriaSource is `TRUE`.</p>
+
+ @since OOo 1.1.2
+ */
+ [optional, property] com::sun::star::table::CellRangeAddress FilterCriteriaSource;
+
+
+ /** specifies the time between two refresh actions in seconds.
+
+ @since OOo 2.0
+ */
+ [optional, property] long RefreshPeriod;
+
+
+ /** specifies whether the imported data is only a selection of the database.
+
+ @since OOo 2.0
+ */
+ [optional, property] boolean FromSelection;
+
+
+ /** returns the index used to refer to this range in token arrays.
+
+ <p>A token describing a database range shall contain the op-code
+ obtained from the FormulaMapGroupSpecialOffset::DB_AREA
+ and this index as data part.</p>
+
+ @see com::sun::star::sheet::FormulaToken
+ @see com::sun::star::sheet::FormulaMapGroupSpecialOffset::DB_AREA
+
+ @since OOo 3.0
+ */
+ [optional, readonly, property] long TokenIndex;
+
+
+ /** specifies whether this range includes a bottom row of totals.
+
+ @since LibreOffice 5.0
+ */
+ [optional, property] boolean TotalsRow;
+
+
+ /** specifies whether this range includes a top row of headers.
+
+ @since LibreOffice 5.0
+ */
+ [optional, property] boolean ContainsHeader;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DatabaseRanges.idl b/offapi/com/sun/star/sheet/DatabaseRanges.idl
new file mode 100644
index 000000000..a4652f717
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseRanges.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DatabaseRanges_idl__
+#define __com_sun_star_sheet_DatabaseRanges_idl__
+
+#include <com/sun/star/sheet/XDatabaseRanges.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of database ranges in a spreadsheet document.
+
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service DatabaseRanges
+{
+
+ /** provides access to the database ranges and to insert and remove them.
+ */
+ interface com::sun::star::sheet::XDatabaseRanges;
+
+
+ /** creates an enumeration of all database ranges.
+
+ @see com::sun::star::sheet::DatabaseRangesEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access to the database ranges in the collection via index.
+
+ @see com::sun::star::sheet::DatabaseRange
+
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl b/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl
new file mode 100644
index 000000000..e42b6ac05
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DatabaseRangesEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DatabaseRangesEnumeration_idl__
+#define __com_sun_star_sheet_DatabaseRangesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of database ranges.
+
+ @see com::sun::star::sheet::DatabaseRange
+ */
+published service DatabaseRangesEnumeration
+{
+
+ /** provides methods to access the database ranges in the enumeration.
+
+ @see com::sun::star::sheet::DatabaseRange
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DateCondition.idl b/offapi/com/sun/star/sheet/DateCondition.idl
new file mode 100644
index 000000000..0536b672c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DateCondition.idl
@@ -0,0 +1,34 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_DateCondition_idl__
+#define __com_sun_star_sheet_DateCondition_idl__
+
+#include <com/sun/star/sheet/XConditionEntry.idl>
+
+module com { module sun { module star { module sheet {
+
+service DateCondition
+{
+ interface XConditionEntry;
+
+ [property] string StyleName;
+
+ /**
+ * See com.sun.star.sheet.DateType for possible values
+ */
+ [property] long DateType;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DateType.idl b/offapi/com/sun/star/sheet/DateType.idl
new file mode 100644
index 000000000..9aed4a6c1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DateType.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_DateType_idl__
+#define __com_sun_star_sheet_DateType_idl__
+
+module com { module sun { module star { module sheet {
+
+constants DateType
+{
+ const long TODAY = 0;
+
+ const long YESTERDAY = 1;
+
+ const long TOMORROW = 2;
+
+ const long LAST7DAYS = 3;
+
+ const long THISWEEK = 4;
+
+ const long LASTWEEK = 5;
+
+ const long NEXTWEEK = 6;
+
+ const long THISMONTH = 7;
+
+ const long LASTMONTH = 8;
+
+ const long NEXTMONTH = 9;
+
+ const long THISYEAR = 10;
+
+ const long LASTYEAR = 11;
+
+ const long NEXTYEAR = 12;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DimensionFlags.idl b/offapi/com/sun/star/sheet/DimensionFlags.idl
new file mode 100644
index 000000000..a17b3d0d2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DimensionFlags.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_DimensionFlags_idl__
+#define __com_sun_star_sheet_DimensionFlags_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify flags for a dimension in a data pilot source.
+
+ @see com::sun::star::sheet::DataPilotSourceDimension
+ */
+published constants DimensionFlags
+{
+
+ /** The dimension cannot be used in column orientation.
+ */
+ const long NO_COLUMN_ORIENTATION = 1;
+
+
+ /** The dimension cannot be used in row orientation.
+ */
+ const long NO_ROW_ORIENTATION = 2;
+
+
+ /** The dimension cannot be used in page orientation.
+ */
+ const long NO_PAGE_ORIENTATION = 4;
+
+
+ /** The dimension cannot be used in data orientation.
+ */
+ const long NO_DATA_ORIENTATION = 8;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/DocumentSettings.idl b/offapi/com/sun/star/sheet/DocumentSettings.idl
new file mode 100644
index 000000000..b92f1037d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/DocumentSettings.idl
@@ -0,0 +1,122 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_DocumentSettings_idl__
+#define __com_sun_star_sheet_DocumentSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/document/Settings.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes properties that apply to the whole spreadsheet document.
+
+ <p>For settings that affect view properties, these settings apply to
+ subsequently created views and are saved with the document, while
+ SpreadsheetViewSettings can be used to alter a specific
+ view that is already open.</p>
+ */
+published service DocumentSettings
+{
+ service com::sun::star::document::Settings;
+
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** enables display of zero-values.
+ */
+ [optional, property] boolean ShowZeroValues;
+
+ /** controls whether a marker is shown for notes in cells.
+ */
+ [optional, property] boolean ShowNotes;
+
+ /** enables the display of the cell grid.
+ */
+ [optional, property] boolean ShowGrid;
+
+ /** specifies the color in which the cell grid is displayed.
+ */
+ [optional, property] com::sun::star::util::Color GridColor;
+
+ /** enables display of page breaks.
+ */
+ [optional, property] boolean ShowPageBreaks;
+
+ /** enables the column and row headers of the view.
+ */
+ [optional, property] boolean HasColumnRowHeaders;
+
+ /** enables the sheet tabs of the view.
+ */
+ [optional, property] boolean HasSheetTabs;
+
+ /** enables the display of outline symbols.
+ */
+ [optional, property] boolean IsOutlineSymbolsSet;
+
+ /** enables the restriction of object movement and resizing
+ of drawing objects to the raster.
+ */
+ [optional, property] boolean IsSnapToRaster;
+
+ /** enables the display of the drawing object raster.
+ */
+ [optional, property] boolean RasterIsVisible;
+
+ /** specifies the distance between horizontal grid elements
+ in 1/100 mm.
+ */
+ [optional, property] long RasterResolutionX;
+
+ /** specifies the distance between vertical grid elements
+ in 1/100 mm.
+ */
+ [optional, property] long RasterResolutionY;
+
+ /** specifies the number of subdivisions between two horizontal
+ grid elements.
+ */
+ [optional, property] long RasterSubdivisionX;
+
+ /** specifies the number of subdivisions between two vertical
+ grid elements.
+ */
+ [optional, property] long RasterSubdivisionY;
+
+ /** enables the synchronization of horizontal and vertical
+ grid settings in the user interface.
+ */
+ [optional, property] boolean IsRasterAxisSynchronized;
+
+ /** enables the document sharing feature (Tools->Share Spreadsheet)
+ */
+ [optional, property] boolean IsDocumentShared;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ExternalDocLink.idl b/offapi/com/sun/star/sheet/ExternalDocLink.idl
new file mode 100644
index 000000000..ef215edfd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalDocLink.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ExternalDocLink_idl__
+#define __com_sun_star_sheet_ExternalDocLink_idl__
+
+#include <com/sun/star/sheet/XExternalDocLink.idl>
+
+module com { module sun { module star { module sheet {
+
+
+/** Represents a single external document link.
+
+ <p>An external document link contains cached data used for external cell
+ and cell range references as well as external range names.</p>
+
+ @see com::sun::star::sheet::XExternalDocLink
+
+ @since OOo 3.1
+ */
+service ExternalDocLink : XExternalDocLink
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ExternalDocLinks.idl b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
new file mode 100644
index 000000000..058373c8b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalDocLinks.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ExternalDocLinks_idl__
+#define __com_sun_star_sheet_ExternalDocLinks_idl__
+
+#include <com/sun/star/sheet/XExternalDocLinks.idl>
+#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
+
+module com { module sun { module star { module sheet {
+
+/** Represents a collection of external document links.
+
+ <p>An external document link contains cached data used for external cell
+ and cell range references as well as external range names.</p>
+
+ @see com::sun::star::sheet::ExternalDocLink
+ @see com::sun::star::sheet::XExternalDocLinks
+
+ @since OOo 3.1
+ */
+service ExternalDocLinks : XExternalDocLinks
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ExternalLinkInfo.idl b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
new file mode 100644
index 000000000..667c42d15
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalLinkInfo.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_ExternalLinkInfo_idl__
+#define __com_sun_star_sheet_ExternalLinkInfo_idl__
+
+#include <com/sun/star/sheet/ExternalLinkType.idl>
+
+
+module com { module sun { module star { module sheet {
+
+/** describes an external link in a formula.
+
+ @since OOo 3.1
+ */
+struct ExternalLinkInfo
+{
+ /** Link type, one of ExternalLinkType constants.
+ */
+ long Type;
+
+ /** Location of this link type.
+
+ <p>Modes used:
+
+ <ol>
+ <li>If #Type is ExternalLinkType::EXTERNAL,
+ this member shall contain a `string` with the
+ <em>URI</em> of a document. The formula that would need this
+ information for example would contain <code>=[1]Sheet1!A1</code> or
+ <code>='[1]Sheet name'!A1</code> where <em>[1]</em> does resolve to
+ the URI contained in the member #Data. Note that the
+ quotes cover both, the document name and the sheet name.</li>
+
+ <li>If #Type is ExternalLinkType::DDE,
+ this member shall contain a DDELinkInfo describing
+ service name, topic, and all known items of a DDE link.</li>
+ </ol></p>
+ */
+ any Data;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ExternalLinkType.idl b/offapi/com/sun/star/sheet/ExternalLinkType.idl
new file mode 100644
index 000000000..295896a0a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalLinkType.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ExternalLinkType_idl__
+#define __com_sun_star_sheet_ExternalLinkType_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Constants designating the link type in
+ ExternalLinkInfo, used with
+ FormulaParser::ExternalLinks.
+
+ @since OOo 3.1
+ */
+constants ExternalLinkType
+{
+ /** Unknown element type
+ */
+ const long UNKNOWN = 0;
+
+ /** URL of an external document.
+ */
+ const long DOCUMENT = 1;
+
+ /** DDE link.
+ */
+ const long DDE = 2;
+
+ /** Reference to the own document.
+ */
+ const long SELF = 3;
+
+ /** For special use cases. Behaviour is dependent on the implementation of
+ the formula parser.
+ */
+ const long SPECIAL = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ExternalReference.idl b/offapi/com/sun/star/sheet/ExternalReference.idl
new file mode 100644
index 000000000..ea2225708
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalReference.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ExternalReference_idl__
+#define __com_sun_star_sheet_ExternalReference_idl__
+
+module com { module sun { module star { module sheet {
+
+
+/** Data structure to store information about an external reference. An
+ external reference can be either a single cell reference, a cell range
+ reference, or a named range.
+
+ @see FormulaMapGroupSpecialOffset::PUSH
+
+ @since OOo 3.1
+ */
+struct ExternalReference
+{
+
+ /** Index of an externally linked document. Each externally-linked document
+ has a unique index value.
+
+ <p>You can get the index value of an external document from the
+ corresponding com::sun::star::sheet::ExternalDocLink
+ instance through its attribute com::sun::star::sheet::ExternalDocLink::TokenIndex.</p>
+
+ @see com::sun::star::sheet::ExternalDocLink
+ @see com::sun::star::sheet::ExternalDocLink::TokenIndex
+ */
+ long Index;
+
+// /** Name of the sheet that the external reference points to.
+//
+// <p>In case of a cell range reference that spans across multiple
+// sheets, this is the name of the first sheet in that range.</p>
+//
+// <p>Note that an external range name ignores this value at the moment,
+// but <i>it may make use of this data in the future when Calc supports a
+// sheet-specific range name.</i></p>
+// */
+// string SheetName;
+
+ /** Reference data.
+
+ <p>This can store either SingleReference for a single
+ cell reference, ComplexReference for a cell range
+ reference, or simply a string for a defined name.</p>
+
+ <p>The SingleReference::Sheet member shall contain
+ the index of the external sheet cache containing the values of the
+ externally referenced cells.</p>
+
+ @see com::sun::star::sheet::SingleReference
+ @see com::sun::star::sheet::ComplexReference
+ */
+ any Reference;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ExternalSheetCache.idl b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
new file mode 100644
index 000000000..134b787b9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ExternalSheetCache.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ExternalSheetCache_idl__
+#define __com_sun_star_sheet_ExternalSheetCache_idl__
+
+#include <com/sun/star/sheet/XExternalSheetCache.idl>
+
+module com { module sun { module star { module sheet {
+
+/** A single sheet cache for an external document.
+
+ <p>This cached data is used for external cell and cell range references,
+ as well as external range names. A com::sun::star::sheet::ExternalDocLink
+ instance contains a set of these sheet caches.</p>
+
+ @see com::sun::star::sheet::ExternalDocLink
+ @see com::sun::star::sheet::XExternalSheetCache
+
+ @since OOo 3.1
+ */
+service ExternalSheetCache : XExternalSheetCache
+{
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FillDateMode.idl b/offapi/com/sun/star/sheet/FillDateMode.idl
new file mode 100644
index 000000000..78606238a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FillDateMode.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FillDateMode_idl__
+#define __com_sun_star_sheet_FillDateMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify how an arithmetic date series is calculated.
+
+ @see com::sun::star::sheet::FillMode
+ */
+published enum FillDateMode
+{
+
+ /** for every new value a single day is added.
+ */
+ FILL_DATE_DAY,
+
+
+ /** for every new value a single day is added, but Saturdays and
+ Sundays are skipped.
+ */
+ FILL_DATE_WEEKDAY,
+
+
+ /** for every new value one month is added (day keeps unchanged).
+ */
+ FILL_DATE_MONTH,
+
+
+ /** for every new value one year is added (day and month keep unchanged).
+ */
+ FILL_DATE_YEAR
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FillDirection.idl b/offapi/com/sun/star/sheet/FillDirection.idl
new file mode 100644
index 000000000..ed894dacf
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FillDirection.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FillDirection_idl__
+#define __com_sun_star_sheet_FillDirection_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify the direction of filling cells, for example,
+ with a series.
+ */
+published enum FillDirection
+{
+
+ /** specifies that rows are filled from top to bottom.
+ */
+ TO_BOTTOM,
+
+
+ /** specifies that columns are filled from left to right.
+ */
+ TO_RIGHT,
+
+
+ /** specifies that rows are filled from bottom to top.
+ */
+ TO_TOP,
+
+
+ /** specifies that columns are filled from right to left.
+ */
+ TO_LEFT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FillMode.idl b/offapi/com/sun/star/sheet/FillMode.idl
new file mode 100644
index 000000000..a945aa874
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FillMode.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FillMode_idl__
+#define __com_sun_star_sheet_FillMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify the series type used to fill cells.
+ */
+published enum FillMode
+{
+
+ /** specifies a constant series.
+
+ <p>All cells are filled with the same value.</p>
+ */
+ SIMPLE,
+
+
+ /** specifies an arithmetic series.
+
+ <p>Cell by cell, the value used to fill the cells is increased
+ by an additive value.</p>
+ */
+ LINEAR,
+
+
+ /** specifies a geometric series.
+
+ <p>Cell by cell, the value used to fill the cells is multiplied
+ by a specified value.</p>
+ */
+ GROWTH,
+
+
+ /** specifies an arithmetic series for date values.
+
+ <p>Cell by cell, the value used to fill the cells is increased
+ by a specified number of days</p>
+
+ @see com::sun::star::sheet::FillDateMode
+ */
+ DATE,
+
+
+ /** specifies the use of a user-defined list.
+
+ <p>The cells are filled using a user-defined series.</p>
+ */
+ AUTO
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FilterConnection.idl b/offapi/com/sun/star/sheet/FilterConnection.idl
new file mode 100644
index 000000000..b51772a6f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterConnection.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FilterConnection_idl__
+#define __com_sun_star_sheet_FilterConnection_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify how two conditions in a filter descriptor are
+ connected.
+ */
+published enum FilterConnection
+{
+
+ /** both conditions have to be fulfilled.
+ */
+ AND,
+
+
+ /** at least one of the conditions has to be fulfilled.
+ */
+ OR
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FilterFieldType.idl b/offapi/com/sun/star/sheet/FilterFieldType.idl
new file mode 100644
index 000000000..59a980737
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterFieldType.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_FilterFieldType_idl__
+#define __com_sun_star_sheet_FilterFieldType_idl__
+
+module com { module sun { module star { module sheet {
+
+/**
+ * @since LibreOffice 7.2
+ */
+constants FilterFieldType
+{
+ /** Filter by numeric value */
+ const long NUMERIC = 0;
+
+ /** Filter by string value */
+ const long STRING = 1;
+
+ /** Filter by date */
+ const long DATE = 2;
+
+ /** Filter by text color */
+ const long TEXT_COLOR = 3;
+
+ /** Filter by background color */
+ const long BACKGROUND_COLOR = 4;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FilterFieldValue.idl b/offapi/com/sun/star/sheet/FilterFieldValue.idl
new file mode 100644
index 000000000..a8930ee0f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterFieldValue.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_FilterFieldValue_idl__
+#define __com_sun_star_sheet_FilterFieldValue_idl__
+
+module com { module sun { module star { module sheet {
+
+/**
+ * @since LibreOffice 3.5
+ */
+struct FilterFieldValue
+{
+ /** selects whether the TableFilterFieldValue::NumericValue
+ or the TableFilterFieldValue::StringValue is used.
+
+ @deprecated - Use FilterType instead.
+ */
+ boolean IsNumeric;
+
+ /** specifies a numeric value for the condition.
+ */
+ double NumericValue;
+
+ /** specifies a string value for the condition.
+ */
+ string StringValue;
+
+ /** Which field should be used for filtering:
+
+ <ul>
+ <li>com::sun::star::sheet::FilterFieldType::NUMERIC -> NumericValue</li>
+ <li>com::sun::star::sheet::FilterFieldType::STRING -> StringValue</li>
+ <li>com::sun::star::sheet::FilterFieldType::DATE -> StringValue</li>
+ <li>com::sun::star::sheet::FilterFieldType::TEXT_COLOR -> ColorValue</li>
+ <li>com::sun::star::sheet::FilterFieldType::BACKGROUND_COLOR -> ColorValue</li>
+ </ul>
+
+ @see com::sun::star::sheet::FilterFieldType
+ @since LibreOffice 7.2
+ */
+ long FilterType;
+
+ /** The color which is used for filtering
+
+ @since LibreOffice 7.2
+ */
+ com::sun::star::util::Color ColorValue;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FilterFormulaParser.idl b/offapi/com/sun/star/sheet/FilterFormulaParser.idl
new file mode 100644
index 000000000..d72ec5d20
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterFormulaParser.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FilterFormulaParser_idl__
+#define __com_sun_star_sheet_FilterFormulaParser_idl__
+
+#include <com/sun/star/sheet/XFilterFormulaParser.idl>
+#include <com/sun/star/lang/XComponent.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** A service used to implement parsing and printing formula strings in a
+ specific formula language.
+ */
+service FilterFormulaParser : XFilterFormulaParser
+{
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FilterOperator.idl b/offapi/com/sun/star/sheet/FilterOperator.idl
new file mode 100644
index 000000000..a980cc3fd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterOperator.idl
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FilterOperator_idl__
+#define __com_sun_star_sheet_FilterOperator_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** specifies the type of a single condition in a filter descriptor.
+ */
+published enum FilterOperator
+{
+
+ /** selects empty entries.
+ */
+ EMPTY,
+
+
+ /** selects non-empty entries.
+ */
+ NOT_EMPTY,
+
+
+ /** value has to be equal to the specified value.
+ */
+ EQUAL,
+
+
+ /** value must not be equal to the specified value.
+ */
+ NOT_EQUAL,
+
+
+ /** value has to be greater than the specified value.
+ */
+ GREATER,
+
+
+ /** value has to be greater than or equal to the specified value.
+ */
+ GREATER_EQUAL,
+
+
+ /** value has to be less than the specified value.
+ */
+ LESS,
+
+
+ /** value has to be less than or equal to the specified value.
+ */
+ LESS_EQUAL,
+
+
+ /** selects a specified number of entries with the greatest values.
+ */
+ TOP_VALUES,
+
+
+ /** selects a specified percentage of entries with the greatest values.
+ */
+ TOP_PERCENT,
+
+
+ /** selects a specified number of entries with the lowest values.
+ */
+ BOTTOM_VALUES,
+
+
+ /** selects a specified percentage of entries with the lowest values.
+ */
+ BOTTOM_PERCENT
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FilterOperator2.idl b/offapi/com/sun/star/sheet/FilterOperator2.idl
new file mode 100644
index 000000000..01e63364e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FilterOperator2.idl
@@ -0,0 +1,133 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FilterOperator2_idl__
+#define __com_sun_star_sheet_FilterOperator2_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** specifies the type of a single condition in a filter descriptor.
+
+ <p>This constants group extends the FilterOperator enum by
+ additional filter operators.</p>
+
+ @since OOo 3.2
+ */
+published constants FilterOperator2
+{
+
+
+ /** selects empty entries.
+ */
+ const long EMPTY = 0;
+
+
+ /** selects non-empty entries.
+ */
+ const long NOT_EMPTY = 1;
+
+
+ /** value has to be equal to the specified value.
+ */
+ const long EQUAL = 2;
+
+
+ /** value must not be equal to the specified value.
+ */
+ const long NOT_EQUAL = 3;
+
+
+ /** value has to be greater than the specified value.
+ */
+ const long GREATER = 4;
+
+
+ /** value has to be greater than or equal to the specified value.
+ */
+ const long GREATER_EQUAL = 5;
+
+
+ /** value has to be less than the specified value.
+ */
+ const long LESS = 6;
+
+
+ /** value has to be less than or equal to the specified value.
+ */
+ const long LESS_EQUAL = 7;
+
+
+ /** selects a specified number of entries with the greatest values.
+ */
+ const long TOP_VALUES = 8;
+
+
+ /** selects a specified percentage of entries with the greatest values.
+ */
+ const long TOP_PERCENT = 9;
+
+
+ /** selects a specified number of entries with the lowest values.
+ */
+ const long BOTTOM_VALUES = 10;
+
+
+ /** selects a specified percentage of entries with the lowest values.
+ */
+ const long BOTTOM_PERCENT = 11;
+
+
+ /** selects contains entries.
+ */
+ const long CONTAINS = 12;
+
+
+ /** selects does-not-contain entries.
+ */
+ const long DOES_NOT_CONTAIN = 13;
+
+
+ /** selects begins-with entries.
+ */
+ const long BEGINS_WITH = 14;
+
+
+ /** selects does-not-begin-with entries.
+ */
+ const long DOES_NOT_BEGIN_WITH = 15;
+
+ /** selects ends-with entries.
+ */
+ const long ENDS_WITH = 16;
+
+
+ /** selects does-not-end-with entries.
+ */
+ const long DOES_NOT_END_WITH = 17;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaLanguage.idl b/offapi/com/sun/star/sheet/FormulaLanguage.idl
new file mode 100644
index 000000000..f6b810f38
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaLanguage.idl
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaLanguage_idl__
+#define __com_sun_star_sheet_FormulaLanguage_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Constants designating the formula language used with
+ XFormulaOpCodeMapper methods.
+ */
+constants FormulaLanguage
+{
+ /** Function names and operators as defined by the OASIS
+ OpenDocument Format (ODF) Formula specification (ODFF aka
+ OpenFormula).
+ */
+ const long ODFF = 0;
+
+ /** Function names and operators as used in ODF documents prior to
+ the ODFF specification, up to ODF v1.1.
+ */
+ const long ODF_11 = 1;
+
+ /** Function names and operators as used in the English language
+ user interface.
+ */
+ const long ENGLISH = 2;
+
+ /** Function names and operators as used in the current native
+ language user interface.
+ */
+ const long NATIVE = 3;
+
+ /** Function names and operators as used in the English version of
+ Excel. This formula language is also used in VBA formulas.
+ */
+ const long XL_ENGLISH = 4;
+
+ /** Function names and operators as used in OOXML.
+
+ @since LibreOffice 4.2
+ */
+ const long OOXML = 5;
+
+ /** Function names and operators as used with XFunctionAccess and
+ other API context.
+
+ Names are mostly identical to ENGLISH and ODF_11, but while
+ ENGLISH names can be adapted to UI needs and ODF_11 has to stay
+ error compatible, the API names strive to stay compatible but
+ may get corrected in case of errors. Earlier versions than
+ LibreOffice 5.3 always used ODF_11 in API context.
+
+ @since LibreOffice 5.3
+ */
+ const long API = 6;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroup.idl b/offapi/com/sun/star/sheet/FormulaMapGroup.idl
new file mode 100644
index 000000000..fc55c7afd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaMapGroup.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaMapGroup_idl__
+#define __com_sun_star_sheet_FormulaMapGroup_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Constants of bit masks used with
+ XFormulaOpCodeMapper::getAvailableMappings() to
+ specify for which group of symbols the mappings are to be obtained.
+
+ If no bit is set, a sequence of special mappings is returned in the
+ order that is defined by FormulaMapGroupSpecialOffset.
+ Note that the special group and other groups are mutual exclusive.
+ */
+constants FormulaMapGroup
+{
+ /** Group of op-codes without a string symbol.
+
+ @see FormulaMapGroupSpecialOffset
+ */
+ const long SPECIAL = 0;
+
+ /** Separators and parentheses */
+ const long SEPARATORS = 0x00000001;
+
+ /** Separators and parentheses for constant arrays */
+ const long ARRAY_SEPARATORS = 0x00000002;
+
+ /** Unary operators */
+ const long UNARY_OPERATORS = 0x00000004;
+
+ /** Binary operators */
+ const long BINARY_OPERATORS = 0x00000008;
+
+ /** Functions */
+ const long FUNCTIONS = 0x00000010;
+
+ /** All groups except SPECIAL */
+ const long ALL_EXCEPT_SPECIAL = 0x7fffffff;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
new file mode 100644
index 000000000..4cb2699e9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaMapGroupSpecialOffset.idl
@@ -0,0 +1,202 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaMapGroupSpecialOffset_idl__
+#define __com_sun_star_sheet_FormulaMapGroupSpecialOffset_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Constants designating the offsets within the sequence returned by
+ XFormulaOpCodeMapper::getAvailableMappings() when
+ called for group FormulaMapGroup::SPECIAL.
+
+ <p>The number of constants may grow in future versions!</p>
+ */
+constants FormulaMapGroupSpecialOffset
+{
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe a formula operand token that will be pushed onto the formula
+ stack while the formula is interpreted.
+
+ <p>The FormulaToken::Data member shall contain one of
+ the following values:</p>
+
+ <ul>
+ <li>A value of type `double` for literal floating-point
+ constants.</li>
+ <li>A `string` for literal text.</li>
+ <li>A `any[][]` for a literal array. The contained
+ values shall be of type `double` or `string`.
+ Floating-point values and strings may occur together in an array.</li>
+ <li>A struct of type SingleReference for a reference to a
+ single cell in the own document.</li>
+ <li>A struct of type ComplexReference for a reference to
+ a range of cells in the own document.</li>
+ <li>A struct of type ExternalReference for a reference to
+ a cell, a range of cells, or a defined name in an external document.</li>
+ </ul>
+ */
+ const long PUSH = 0;
+
+
+ const long CALL = 1;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ instruct the formula interpreter to immediately stop interpreting the
+ formula.
+
+ <p>The FormulaToken::Data member is not used
+ and should be empty.</p>
+ */
+ const long STOP = 2;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe the reference to an external function (e.g. add-in function)
+ used in formulas.
+
+ <p>The FormulaToken::Data member shall contain a
+ `string` with the programmatic name of the function, e.g.
+ "com.sun.star.sheet.addin.Analysis.getEomonth" for the EOMONTH
+ function from the Analysis add-in.</p>
+ */
+ const long EXTERNAL = 3;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe the reference to a defined name (also known as named range)
+ used in formulas.
+
+ <p>The FormulaToken::Data member shall contain an
+ integer value of type `long` specifying the index of the
+ defined name. This index can be obtained from the defined name using
+ its NamedRange::TokenIndex property.</p>
+
+ @see NamedRange
+ */
+ const long NAME = 4;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe an invalid name that resolves to the #NAME? error in formulas.
+
+ <p>The FormulaToken::Data member is not used
+ and should be empty.</p>
+ */
+ const long NO_NAME = 5;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe an empty function parameter.
+
+ <p>Example: In the formula <code>=SUM(1;;2)</code> the second
+ parameter is empty and represented by a formula token containing the
+ "missing" op-code.</p>
+
+ <p>The FormulaToken::Data member is not used
+ and should be empty.</p>
+ */
+ const long MISSING = 6;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe "bad" data in a formula, e.g. data the formula parser was not
+ able to parse.
+
+ <p>The FormulaToken::Data member shall contain a
+ `string` with the bad data. This string will be displayed
+ literally in the formula.</p>
+ */
+ const long BAD = 7;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe whitespace characters within the string representation of a
+ formula.
+
+ <p>Whitespace characters in formulas are used for readability and do
+ not affect the result of the formula.</p>
+
+ <p>The FormulaToken::Data member shall contain a
+ positive integer value of type `long` specifying the number
+ of space characters.</p>
+ */
+ const long SPACES = 8;
+
+
+ const long MAT_REF = 9;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe the reference to a database range used in formulas.
+
+ <p>The FormulaToken::Data member shall contain an
+ integer value of type `long` specifying the index of the
+ database range. This index can be obtained from the database range
+ using its DatabaseRange::TokenIndex property.</p>
+
+ @see DatabaseRange
+ */
+ const long DB_AREA = 10;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe the reference to a macro function called in a formula.
+
+ <p>The FormulaToken::Data member shall contain a
+ `string` specifying the name of the macro function.</p>
+ */
+ const long MACRO = 11;
+
+
+ const long COL_ROW_NAME = 12;
+
+
+ /** Formula tokens containing the op-code obtained from this offset
+ describe whitespace characters within the string representation of a
+ formula.
+
+ <p>Whitespace characters in formulas are used for readability and do
+ not affect the result of the formula.</p>
+
+ <p>The FormulaToken::Data member shall contain a
+ `string` of one (repeated) whitespace character. The length of
+ the string determines the number of repetitions.</p>
+
+ <p>Allowed whitespace characters are SPACE (U+0020), CHARACTER
+ TABULATION (U+0009), LINE FEED (U+000A), and CARRIAGE RETURN
+ (U+000D). See also ODF v1.3 OpenFormula 5.14 Whitespace.</p>
+
+ @since LibreOffice 7.3
+ */
+ const long WHITESPACE = 13;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl b/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl
new file mode 100644
index 000000000..7c2c9738b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaOpCodeMapEntry.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__
+#define __com_sun_star_sheet_FormulaOpCodeMapEntry_idl__
+
+#include <com/sun/star/sheet/FormulaToken.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains a mapping from a formula name (function name, operator,
+ ...) to the OpCode used by the formula compiler.
+ */
+struct FormulaOpCodeMapEntry
+{
+
+ /** The function name, or operator.
+ */
+ string Name;
+
+
+ /** The corresponding mapping.
+ */
+ FormulaToken Token;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaOpCodeMapper.idl b/offapi/com/sun/star/sheet/FormulaOpCodeMapper.idl
new file mode 100644
index 000000000..10438d9a7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaOpCodeMapper.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaOpCodeMapper_idl__
+#define __com_sun_star_sheet_FormulaOpCodeMapper_idl__
+
+#include <com/sun/star/sheet/XFormulaOpCodeMapper.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+
+service FormulaOpCodeMapper : XFormulaOpCodeMapper;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaParser.idl b/offapi/com/sun/star/sheet/FormulaParser.idl
new file mode 100644
index 000000000..fb9085130
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaParser.idl
@@ -0,0 +1,101 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaParser_idl__
+#define __com_sun_star_sheet_FormulaParser_idl__
+
+#include <com/sun/star/beans/PropertySet.idl>
+#include <com/sun/star/sheet/XFormulaParser.idl>
+#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl>
+#include <com/sun/star/sheet/ExternalLinkInfo.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+service FormulaParser
+{
+
+ service com::sun::star::beans::PropertySet;
+
+
+ interface XFormulaParser;
+
+
+ /** specifies whether to use English parser and formatter.
+
+ <p>Note: When changing this, an already existing #OpCodeMap
+ needs to be recreated internally, so for performance reasons
+ set this <em>before</em> setting the #OpCodeMap.
+ */
+ [property] boolean CompileEnglish;
+
+
+ /** specifies which address reference style convention to use when
+ parsing a formula string.
+
+ @see AddressConvention
+ */
+ [property] short FormulaConvention;
+
+
+ [property] boolean IgnoreLeadingSpaces;
+
+
+ [property] string ParameterSeparator;
+
+
+ /** contains the complete mapping of names to op-codes.
+
+ <p>Names and symbols not defined here lead to a parser/print error.</p>
+ */
+ [property] sequence< FormulaOpCodeMapEntry > OpCodeMap;
+
+
+ /** contains a list of external links referenced in formulas.
+
+ <p>Use of this property depends on the FormulaConvention
+ in use. It is relevant only for
+ AddressConvention::XL_OOX to map indices to external
+ documents. The sequence must be in the order of indices used. Note
+ that indices are 1-based, the sequence must start with an empty
+ element.</p>
+
+ @since OOo 3.1
+ */
+ [property] sequence< ExternalLinkInfo > ExternalLinks;
+
+
+ /** specifies that use special ooxml chart syntax in case of OOXML reference
+ convention, when parsing a formula string.
+
+ <p>Special syntax like: [0]!GlobalNamedRange, LocalSheet!LocalNamedRange</p>
+
+ @since LibreOffice 7.3
+ */
+ [property] boolean RefConventionChartOOXML;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaResult.idl b/offapi/com/sun/star/sheet/FormulaResult.idl
new file mode 100644
index 000000000..139378492
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaResult.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaResult_idl__
+#define __com_sun_star_sheet_FormulaResult_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to select different result types of cell formulas.
+ */
+published constants FormulaResult
+{
+
+ /** selects numeric results.
+ */
+ const long VALUE = 1;
+
+
+ /** selects non-numeric results.
+ */
+ const long STRING = 2;
+
+
+ /** selects errors.
+ */
+ const long ERROR = 4;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FormulaToken.idl b/offapi/com/sun/star/sheet/FormulaToken.idl
new file mode 100644
index 000000000..6e566fbe1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FormulaToken.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FormulaToken_idl__
+#define __com_sun_star_sheet_FormulaToken_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains a single token within a formula.
+ */
+struct FormulaToken
+{
+
+ /** is the OpCode of the token.
+
+ @see com::sun::star::sheet::XFormulaOpCodeMapper
+ */
+ long OpCode;
+
+
+ /** is additional data in the token, depending on the OpCode.
+
+ @see com::sun::star::sheet::NamedRange::TokenIndex
+ @see com::sun::star::sheet::DatabaseRange::TokenIndex
+ */
+ any Data;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FunctionAccess.idl b/offapi/com/sun/star/sheet/FunctionAccess.idl
new file mode 100644
index 000000000..9b26c286e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionAccess.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FunctionAccess_idl__
+#define __com_sun_star_sheet_FunctionAccess_idl__
+
+#include <com/sun/star/sheet/SpreadsheetDocumentSettings.idl>
+#include <com/sun/star/sheet/XFunctionAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** allows generic access to all spreadsheet functions.
+ */
+published service FunctionAccess
+{
+
+ /** contributes properties to control the behavior of some functions
+ (i.e. NullDate, IgnoreCase, RegularExpressions).
+ */
+ service com::sun::star::sheet::SpreadsheetDocumentSettings;
+
+
+ /** provides calculating the result of a spreadsheet function.
+ */
+ interface com::sun::star::sheet::XFunctionAccess;
+
+
+ /** specifies whether the function call is performed as array function
+ call.
+
+ <p>If set to `TRUE`, the result of the function call will be
+ calculated similar to array formulas in a spreadsheet document. The
+ return value of the function call will usually be a sequence of
+ sequences containing the values of the resulting array. Example: If the
+ function ABS is called for a 3x2 cell range, the result will be a 3x2
+ array containing the absolute values of the numbers contained in the
+ specified cell range.</p>
+
+ <p>If set to `FALSE`, the result of the function call will be
+ calculated similar to simple cell formulas in a spreadsheet document.
+ The return value of the function call will usually be a single value.
+ Of course, some functions always return an array, for example the
+ MUNIT function.</p>
+
+ <p>For compatibility with older versions, the default value of this
+ property is `TRUE`.</p>
+
+ @since OOo 3.3
+ */
+ [optional, property] boolean IsArrayFunction;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FunctionArgument.idl b/offapi/com/sun/star/sheet/FunctionArgument.idl
new file mode 100644
index 000000000..41ca7fd42
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionArgument.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FunctionArgument_idl__
+#define __com_sun_star_sheet_FunctionArgument_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the description of a single argument within a spreadsheet
+ function.
+
+ @see com::sun::star::sheet::FunctionDescription
+ */
+published struct FunctionArgument
+{
+
+ /** the name of the argument.
+ */
+ string Name;
+
+
+ /** a description of the argument.
+ */
+ string Description;
+
+
+ /** determines whether the argument is optional.
+ */
+ boolean IsOptional;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FunctionCategory.idl b/offapi/com/sun/star/sheet/FunctionCategory.idl
new file mode 100644
index 000000000..89005ebe6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionCategory.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FunctionCategory_idl__
+#define __com_sun_star_sheet_FunctionCategory_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify the category of a spreadsheet function.
+ */
+published constants FunctionCategory
+{
+
+ /** specifies a database function.
+ */
+ const long DATABASE = 1;
+
+
+ /** specifies a function that calculates with dates and/or times.
+ */
+ const long DATETIME = 2;
+
+
+ /** specifies a financial function.
+ */
+ const long FINANCIAL = 3;
+
+
+ /** specifies a function that returns information about the cell,
+ the cell contents or the current formula.
+ */
+ const long INFORMATION = 4;
+
+
+ /** specifies a boolean function.
+ */
+ const long LOGICAL = 5;
+
+
+ /** specifies a common mathematical function
+ */
+ const long MATHEMATICAL = 6;
+
+
+ /** specifies a matrix function.
+ */
+ const long MATRIX = 7;
+
+
+ /** specifies a statistical function
+ */
+ const long STATISTICAL = 8;
+
+
+ /** specifies a function that returns information using the spreadsheet
+ contents or specific cell positions.
+ */
+ const long SPREADSHEET = 9;
+
+
+ /** specifies a text function.
+ */
+ const long TEXT = 10;
+
+
+ /** specifies a common add-in function.
+ */
+ const long ADDIN = 11;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FunctionDescription.idl b/offapi/com/sun/star/sheet/FunctionDescription.idl
new file mode 100644
index 000000000..ef2d91ca1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionDescription.idl
@@ -0,0 +1,72 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FunctionDescription_idl__
+#define __com_sun_star_sheet_FunctionDescription_idl__
+
+#include <com/sun/star/sheet/FunctionArgument.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** collects all properties used to describe a function.
+
+ @see com::sun::star::sheet::FunctionDescriptions
+ */
+published service FunctionDescription
+{
+
+ /** returns the function's unique identifier.
+
+ @see com::sun::star::sheet::XFunctionDescriptions
+ */
+ [readonly, property] long Id;
+
+
+ /** returns the function's category.
+
+ @see com::sun::star::sheet::FunctionCategory
+ */
+ [readonly, property] long Category;
+
+
+ /** returns the localized function's name.
+ */
+ [readonly, property] string Name;
+
+
+ /** returns a localized description of the function.
+ */
+ [readonly, property] string Description;
+
+
+ /** returns a sequence of localized descriptions of the function's
+ arguments (in the order specified by the function).
+ */
+ [readonly, property] sequence< com::sun::star::sheet::FunctionArgument > Arguments;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl b/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl
new file mode 100644
index 000000000..b3f4cba82
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionDescriptionEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FunctionDescriptionEnumeration_idl__
+#define __com_sun_star_sheet_FunctionDescriptionEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of Function Descriptions.
+
+ @see com::sun::star::sheet::FunctionDescription
+ */
+published service FunctionDescriptionEnumeration
+{
+
+ /** provides methods to access the Function Descriptions in the enumeration.
+
+ @see com::sun::star::sheet::FunctionDescription
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/FunctionDescriptions.idl b/offapi/com/sun/star/sheet/FunctionDescriptions.idl
new file mode 100644
index 000000000..69361753d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/FunctionDescriptions.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_FunctionDescriptions_idl__
+#define __com_sun_star_sheet_FunctionDescriptions_idl__
+
+#include <com/sun/star/sheet/XFunctionDescriptions.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of function descriptions for all built-in
+ functions as well as add-in functions available in the spreadsheet
+ application.
+
+ <p>All container access methods return a sequence of
+ com::sun::star::beans::PropertyValue structs.
+ The properties contained in the sequence are collected in the
+ service FunctionDescription.</p>
+ */
+published service FunctionDescriptions
+{
+
+ /** provides access to the property sequence of a function description
+ via function index or identifier.
+ */
+ interface com::sun::star::sheet::XFunctionDescriptions;
+
+
+ /** provides access to the property sequence of a function description
+ via function name.
+
+ <p>The localized uppercase name of the function has to be used
+ here.</p>
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ /** creates an enumeration of all function descriptions.
+
+ @see com::sun::star::sheet::FunctionDescriptionEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/GeneralFunction.idl b/offapi/com/sun/star/sheet/GeneralFunction.idl
new file mode 100644
index 000000000..ff9615c1a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/GeneralFunction.idl
@@ -0,0 +1,105 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_GeneralFunction_idl__
+#define __com_sun_star_sheet_GeneralFunction_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify a function to be calculated from values.
+ */
+published enum GeneralFunction
+{
+
+ /** nothing is calculated.
+ */
+ NONE,
+
+
+ /** function is determined automatically.
+
+ <p>If the values are all numerical, SUM is used, otherwise COUNT.</p>
+ */
+ AUTO,
+
+
+ /** sum of all numerical values is calculated.
+ */
+ SUM,
+
+
+ /** all values, including non-numerical values, are counted.
+ */
+ COUNT,
+
+
+ /** average of all numerical values is calculated.
+ */
+ AVERAGE,
+
+
+ /** maximum value of all numerical values is calculated.
+ */
+ MAX,
+
+
+ /** minimum value of all numerical values is calculated.
+ */
+ MIN,
+
+
+ /** product of all numerical values is calculated.
+ */
+ PRODUCT,
+
+
+ /** numerical values are counted.
+ */
+ COUNTNUMS,
+
+
+ /** standard deviation is calculated based on a sample.
+ */
+ STDEV,
+
+
+ /** standard deviation is calculated based on the entire population.
+ */
+ STDEVP,
+
+
+ /** variance is calculated based on a sample.
+ */
+ VAR,
+
+
+ /** variance is calculated based on the entire population.
+ */
+ VARP
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/GeneralFunction2.idl b/offapi/com/sun/star/sheet/GeneralFunction2.idl
new file mode 100644
index 000000000..926f7b174
--- /dev/null
+++ b/offapi/com/sun/star/sheet/GeneralFunction2.idl
@@ -0,0 +1,111 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_GeneralFunction2_idl__
+#define __com_sun_star_sheet_GeneralFunction2_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify a function to be calculated from values.
+ @since LibreOffice 5.3
+ */
+published constants GeneralFunction2
+{
+
+ /** nothing is calculated.
+ */
+ const short NONE = 0;
+
+
+ /** function is determined automatically.
+
+ <p>If the values are all numerical, SUM is used, otherwise COUNT.</p>
+ */
+ const short AUTO = 1;
+
+
+ /** sum of all numerical values is calculated.
+ */
+ const short SUM = 2;
+
+
+ /** all values, including non-numerical values, are counted.
+ */
+ const short COUNT = 3;
+
+
+ /** average of all numerical values is calculated.
+ */
+ const short AVERAGE = 4;
+
+
+ /** maximum value of all numerical values is calculated.
+ */
+ const short MAX = 5;
+
+
+ /** minimum value of all numerical values is calculated.
+ */
+ const short MIN = 6;
+
+
+ /** product of all numerical values is calculated.
+ */
+ const short PRODUCT = 7;
+
+
+ /** numerical values are counted.
+ */
+ const short COUNTNUMS = 8;
+
+
+ /** standard deviation is calculated based on a sample.
+ */
+ const short STDEV = 9;
+
+
+ /** standard deviation is calculated based on the entire population.
+ */
+ const short STDEVP = 10;
+
+
+ /** variance is calculated based on a sample.
+ */
+ const short VAR = 11;
+
+
+ /** variance is calculated based on the entire population.
+ */
+ const short VARP = 12;
+
+ /**
+ * median of all numerical values is calculated.
+ * @since LibreOffice 5.3
+ */
+ const short MEDIAN = 13;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/GlobalSheetSettings.idl b/offapi/com/sun/star/sheet/GlobalSheetSettings.idl
new file mode 100644
index 000000000..385a83c93
--- /dev/null
+++ b/offapi/com/sun/star/sheet/GlobalSheetSettings.idl
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_GlobalSheetSettings_idl__
+#define __com_sun_star_sheet_GlobalSheetSettings_idl__
+
+#include <com/sun/star/sheet/XGlobalSheetSettings.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contributes properties to access the settings for all spreadsheets of
+ a spreadsheet document.
+
+ For backwards compatibility, the attributes of XGlobalSheetSettings can
+ still be accessed via com::sun::star::beans::XPropertySet, too.
+ */
+published service GlobalSheetSettings : XGlobalSheetSettings;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/GoalResult.idl b/offapi/com/sun/star/sheet/GoalResult.idl
new file mode 100644
index 000000000..c9f69bea3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/GoalResult.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_GoalResult_idl__
+#define __com_sun_star_sheet_GoalResult_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is the result of a goal seek operation.
+ */
+published struct GoalResult
+{
+ /** the amount by which the result changed in the last iteration.
+ */
+ double Divergence;
+
+
+ /** the resulting value.
+ */
+ double Result;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/HeaderFooterContent.idl b/offapi/com/sun/star/sheet/HeaderFooterContent.idl
new file mode 100644
index 000000000..182f1001c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/HeaderFooterContent.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_HeaderFooterContent_idl__
+#define __com_sun_star_sheet_HeaderFooterContent_idl__
+
+#include <com/sun/star/sheet/XHeaderFooterContent.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the contents of a header or footer line in a page style.
+
+ @see com::sun::star::sheet::TablePageStyle
+ */
+published service HeaderFooterContent
+{
+
+ /** provides access to the text parts of the header or footer line.
+ */
+ interface com::sun::star::sheet::XHeaderFooterContent;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/IconSet.idl b/offapi/com/sun/star/sheet/IconSet.idl
new file mode 100644
index 000000000..4d750b44a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/IconSet.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_IconSet_idl__
+#define __com_sun_star_sheet_IconSet_idl__
+
+#include <com/sun/star/sheet/XConditionEntry.idl>
+
+module com { module sun { module star { module sheet {
+
+service IconSet
+{
+ interface XConditionEntry;
+
+ [property] boolean ShowValue;
+
+ [property] boolean Reverse;
+
+ /**
+ * See com.sun.star.sheet.IconSetType for possible values.
+ */
+ [property] long Icons;
+
+ [property] sequence<XIconSetEntry> IconSetEntries;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/sheet/IconSetFormatEntry.idl b/offapi/com/sun/star/sheet/IconSetFormatEntry.idl
new file mode 100644
index 000000000..652618cd4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/IconSetFormatEntry.idl
@@ -0,0 +1,36 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_IconSetEntryType_idl__
+#define __com_sun_star_sheet_IconSetEntryType_idl__
+
+module com { module sun { module star { module sheet {
+
+constants IconSetFormatEntry
+{
+ /**
+ * Can not be set! Will always be the type of the first entry.
+ */
+ const long ICONSET_MIN = 0;
+
+ const long ICONSET_PERCENTILE = 1;
+
+ const long ICONSET_VALUE = 2;
+
+ const long ICONSET_PERCENT = 3;
+
+ const long ICONSET_FORMULA = 4;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/IconSetType.idl b/offapi/com/sun/star/sheet/IconSetType.idl
new file mode 100644
index 000000000..ad9633237
--- /dev/null
+++ b/offapi/com/sun/star/sheet/IconSetType.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_IconSetType_idl__
+#define __com_sun_star_sheet_IconSetType_idl__
+
+module com { module sun { module star { module sheet {
+
+constants IconSetType
+{
+ const long ICONSET_3ARROWS = 0;
+
+ const long ICONSET_3ARROWS_GRAY = 1;
+
+ const long ICONSET_3FLAGS = 2;
+
+ const long ICONSET_3TRAFFICLIGHTS1 = 3;
+
+ const long ICONSET_3TRAFFICLIGHTS2 = 4;
+
+ const long ICONSET_3SIGNS = 5;
+
+ const long ICONSET_3SYMBOLS = 6;
+
+ const long ICONSET_3SYMBOLS2 = 7;
+
+ const long ICONSET_3SMILIES = 8;
+
+ const long ICONSET_3COLOR_SIMILIES = 9;
+
+ const long ICONSET_4ARROWS = 10;
+
+ const long ICONSET_4ARROWS_GRAY = 11;
+
+ const long ICONSET_4RED_TO_BLACK = 12;
+
+ const long ICONSET_4RATING = 13;
+
+ const long ICONSET_4TRAFFICLIGHTS = 14;
+
+ const long ICONSET_5ARROWS = 15;
+
+ const long ICONSET_5ARROWS_GRAY = 16;
+
+ const long ICONSET_5RATINGS = 17;
+
+ const long ICONSET_5QUARTERS = 18;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
+
diff --git a/offapi/com/sun/star/sheet/LabelRange.idl b/offapi/com/sun/star/sheet/LabelRange.idl
new file mode 100644
index 000000000..d78f10778
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LabelRange.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_LabelRange_idl__
+#define __com_sun_star_sheet_LabelRange_idl__
+
+#include <com/sun/star/sheet/XLabelRange.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a cell area that contains labels and values related to the
+ labels.
+
+ <p>Label ranges can be used in formulas to refer to cells in cell
+ ranges with row or column titles. The formula uses the cell value that
+ is related to the specified row or column title.</p>
+ */
+published service LabelRange
+{
+ /** provides access to the settings of a label range.
+ */
+ interface com::sun::star::sheet::XLabelRange;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/LabelRanges.idl b/offapi/com/sun/star/sheet/LabelRanges.idl
new file mode 100644
index 000000000..f94843813
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LabelRanges.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_LabelRanges_idl__
+#define __com_sun_star_sheet_LabelRanges_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/sheet/XLabelRanges.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of label ranges in a spreadsheet document.
+
+ @see com::sun::star::sheet::LabelRange
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service LabelRanges
+{
+
+ /** provides methods to access the members of the label range collection
+ and to insert and remove them.
+ */
+ interface com::sun::star::sheet::XLabelRanges;
+
+
+ /** provides access to the label ranges via index.
+
+ @see com::sun::star::sheet::LabelRange
+
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all label ranges.
+
+ @see com::sun::star::sheet::LabelRangesEnumeration
+
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl b/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl
new file mode 100644
index 000000000..f7110666d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LabelRangesEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_LabelRangesEnumeration_idl__
+#define __com_sun_star_sheet_LabelRangesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of label ranges.
+
+ @see com::sun::star::sheet::LabelRange
+ */
+published service LabelRangesEnumeration
+{
+
+ /** provides methods to access the label ranges in the enumeration.
+
+ @see com::sun::star::sheet::LabelRange
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/LocalizedName.idl b/offapi/com/sun/star/sheet/LocalizedName.idl
new file mode 100644
index 000000000..8694ab596
--- /dev/null
+++ b/offapi/com/sun/star/sheet/LocalizedName.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_LocalizedName_idl__
+#define __com_sun_star_sheet_LocalizedName_idl__
+
+#include <com/sun/star/lang/Locale.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** A name that is valid for a specified locale.
+
+ @see com::sun::star::sheet::XCompatibilityNames
+ */
+published struct LocalizedName
+{
+
+ /** The locale for which this name is valid.
+ */
+ ::com::sun::star::lang::Locale Locale;
+
+
+ /** The name itself.
+ */
+ string Name;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/MemberResult.idl b/offapi/com/sun/star/sheet/MemberResult.idl
new file mode 100644
index 000000000..be17a860e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/MemberResult.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_MemberResult_idl__
+#define __com_sun_star_sheet_MemberResult_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes a result of a DataPilot member.
+
+ @see com::sun::star::sheet::XDataPilotMemberResults
+ */
+struct MemberResult
+{
+ /** the internal name of the field.
+ */
+ string Name;
+
+
+ /** the visible name of the field.
+ */
+ string Caption;
+
+
+ /** contains flags describing the result.
+
+ @see com::sun::star::sheet::MemberResultFlags
+ */
+ long Flags;
+
+
+ /** the underlying numeric value of the field <b>if</b> Flags
+ indicate so by having
+ com::sun::star::sheet::MemberResultFlags::NUMERIC set.
+
+ May be NaN if value is not available or unknown.
+
+ @since LibreOffice 5.3
+ */
+ double Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/MemberResultFlags.idl b/offapi/com/sun/star/sheet/MemberResultFlags.idl
new file mode 100644
index 000000000..4e3aed221
--- /dev/null
+++ b/offapi/com/sun/star/sheet/MemberResultFlags.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_MemberResultFlags_idl__
+#define __com_sun_star_sheet_MemberResultFlags_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to give information about elements in data pilot member results.
+ */
+constants MemberResultFlags
+{
+
+ /** The element contains a member.
+ */
+ const long HASMEMBER = 1;
+
+
+ /** The element contains a subtotal.
+ */
+ const long SUBTOTAL = 2;
+
+
+ /** The element is a continuation of the previous one.
+ */
+ const long CONTINUE = 4;
+
+
+ /** The element contains a grand total.
+ */
+ const long GRANDTOTAL = 8;
+
+
+ /** The element is a numeric value.
+ */
+ const long NUMERIC = 16;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/MoveDirection.idl b/offapi/com/sun/star/sheet/MoveDirection.idl
new file mode 100644
index 000000000..de4fa5905
--- /dev/null
+++ b/offapi/com/sun/star/sheet/MoveDirection.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_MoveDirection_idl__
+#define __com_sun_star_sheet_MoveDirection_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify the direction of moving the current selection i.e.
+ after a cell has been left with Enter.
+ */
+published constants MoveDirection
+{
+
+ /** specifies that the selection moves one cell down.
+ */
+ const short DOWN = 0;
+
+
+ /** specifies that the selection moves one cell right.
+ */
+ const short RIGHT = 1;
+
+
+ /** specifies that the selection moves one cell up.
+ */
+ const short UP = 2;
+
+
+ /** specifies that the selection moves one cell left.
+ */
+ const short LEFT = 3;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/NameToken.idl b/offapi/com/sun/star/sheet/NameToken.idl
new file mode 100644
index 000000000..9b66038ba
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NameToken.idl
@@ -0,0 +1,31 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_NameToken_idl__
+#define __com_sun_star_sheet_NameToken_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the information regarding named tokens
+ */
+struct NameToken
+{
+ long Index;
+
+ long Sheet;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/NamedRange.idl b/offapi/com/sun/star/sheet/NamedRange.idl
new file mode 100644
index 000000000..a81bc4698
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRange.idl
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_NamedRange_idl__
+#define __com_sun_star_sheet_NamedRange_idl__
+
+#include <com/sun/star/sheet/XNamedRange.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/sheet/XCellRangeReferrer.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a named range in a spreadsheet document.
+
+ <p>In fact a named range is a named formula expression. A cell range
+ address is one possible content of a named range.</p>
+
+ @see com::sun::star::sheet::NamedRanges
+ */
+published service NamedRange
+{
+
+ /** provides access to the settings of the named range.
+ */
+ interface com::sun::star::sheet::XNamedRange;
+
+
+ /** provides access to the cell range object referred by this named range.
+
+ <p>This works only, if the named range contains a single cell range
+ address.</p>
+ */
+ interface com::sun::star::sheet::XCellRangeReferrer;
+
+
+ /** returns the index used to refer to this name in token arrays.
+
+ <p>A token describing a defined name shall contain the op-code obtained
+ from the FormulaMapGroupSpecialOffset::NAME offset and
+ this index as data part.</p>
+
+ @see com::sun::star::sheet::FormulaToken
+ @see com::sun::star::sheet::FormulaMapGroupSpecialOffset::NAME
+
+ @since OOo 3.0
+ */
+ [optional, readonly, property] long TokenIndex;
+
+
+ /** Determines if this defined name represents a shared formula.
+
+ <p>This special property shall not be used externally. It is used by
+ import and export filters for compatibility with spreadsheet
+ documents containing shared formulas. Shared formulas are shared
+ by several cells to save memory and to decrease file size.</p>
+
+ <p>A defined name with this property set will not appear in the user
+ interface of Calc, and its name will not appear in cell formulas. A
+ formula referring to this defined name will show the formula
+ definition contained in the name instead.</p>
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean IsSharedFormula;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/NamedRangeFlag.idl b/offapi/com/sun/star/sheet/NamedRangeFlag.idl
new file mode 100644
index 000000000..cdfc72eed
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRangeFlag.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_NamedRangeFlag_idl__
+#define __com_sun_star_sheet_NamedRangeFlag_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify the purpose of a named range.
+ */
+published constants NamedRangeFlag
+{
+
+ /** The range contains filter criteria.
+ */
+ const long FILTER_CRITERIA = 1;
+
+
+ /** The range can be used as a print range.
+ */
+ const long PRINT_AREA = 2;
+
+
+ /** The range can be used as column headers for printing.
+ */
+ const long COLUMN_HEADER = 4;
+
+
+ /** The range can be used as row headers for printing.
+ */
+ const long ROW_HEADER = 8;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/NamedRanges.idl b/offapi/com/sun/star/sheet/NamedRanges.idl
new file mode 100644
index 000000000..a39ad5d27
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRanges.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_NamedRanges_idl__
+#define __com_sun_star_sheet_NamedRanges_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XNamedRanges.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/document/XActionLockable.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of named ranges in a spreadsheet document.
+
+ <p>In fact a named range is a named formula expression. A cell range
+ address is one possible content of a named range.</p>
+
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service NamedRanges
+{
+
+ /** provides access to the named ranges and to insert and remove them.
+ */
+ interface com::sun::star::sheet::XNamedRanges;
+
+
+ /** provides access to the named ranges via index.
+
+ @see com::sun::star::sheet::NamedRange
+
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all named ranges.
+
+ @see com::sun::star::sheet::NamedRangesEnumeration
+
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides methods to control the internal update of named ranges.
+
+ @since OOo 3.0
+ */
+ [optional] interface com::sun::star::document::XActionLockable;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl b/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl
new file mode 100644
index 000000000..cefd3f21c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NamedRangesEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_NamedRangesEnumeration_idl__
+#define __com_sun_star_sheet_NamedRangesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of named ranges.
+
+ @see com::sun::star::sheet::NamedRange
+ */
+published service NamedRangesEnumeration
+{
+
+ /** provides methods to access the named ranges in the enumeration.
+
+ @see com::sun::star::sheet::NamedRange
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/NoConvergenceException.idl b/offapi/com/sun/star/sheet/NoConvergenceException.idl
new file mode 100644
index 000000000..7d8ad5a91
--- /dev/null
+++ b/offapi/com/sun/star/sheet/NoConvergenceException.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_NoConvergenceException_idl__
+#define __com_sun_star_sheet_NoConvergenceException_idl__
+
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Thrown by a Calc Add-In function this exception indicates the
+ function's algorithm did not converge to a meaningful result.
+
+ @since OOo 3.3
+ */
+exception NoConvergenceException : ::com::sun::star::uno::Exception{};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/PasteOperation.idl b/offapi/com/sun/star/sheet/PasteOperation.idl
new file mode 100644
index 000000000..dce7a2a34
--- /dev/null
+++ b/offapi/com/sun/star/sheet/PasteOperation.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_PasteOperation_idl__
+#define __com_sun_star_sheet_PasteOperation_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify which operations are carried out when pasting cell
+ values into a cell range.
+ */
+published enum PasteOperation
+{
+
+ /** new values are used without changes.
+ */
+ NONE,
+
+
+ /** old and new values are added.
+ */
+ ADD,
+
+
+ /** new values are subtracted from the old values.
+ */
+ SUBTRACT,
+
+
+ /** old and new values are multiplied.
+ */
+ MULTIPLY,
+
+
+ /** new values are divided by the new values.
+ */
+ DIVIDE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/RangeSelectionArguments.idl b/offapi/com/sun/star/sheet/RangeSelectionArguments.idl
new file mode 100644
index 000000000..92fd5e513
--- /dev/null
+++ b/offapi/com/sun/star/sheet/RangeSelectionArguments.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_RangeSelectionArguments_idl__
+#define __com_sun_star_sheet_RangeSelectionArguments_idl__
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** contains the arguments for starting the range selection.
+
+ @see com::sun::star::sheet::XRangeSelection
+ */
+published service RangeSelectionArguments
+{
+ /** contains the initial value for the range descriptor.
+ */
+ [property] string InitialValue;
+
+ /** contains a title for the operation.
+ */
+ [property] string Title;
+
+ /** specifies if the range selection is finished when the
+ mouse button is released, after selecting cells.
+ */
+ [property] boolean CloseOnMouseRelease;
+
+ /** specifies if the range selection is limited to a single
+ cell only.
+
+ <p>If `TRUE`, the selection is restricted to a
+ single cell. If `FALSE`, multiple adjoining cells can be
+ selected. The default value is `FALSE`.</p>
+
+ @since OOo 2.0.3
+ */
+ [optional, property] boolean SingleCellMode;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/RangeSelectionEvent.idl b/offapi/com/sun/star/sheet/RangeSelectionEvent.idl
new file mode 100644
index 000000000..89887292e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/RangeSelectionEvent.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_RangeSelectionEvent_idl__
+#define __com_sun_star_sheet_RangeSelectionEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** specifies an event from range selection.
+
+ @see com::sun::star::sheet::XRangeSelectionListener
+ @see com::sun::star::sheet::XRangeSelectionChangeListener
+ */
+published struct RangeSelectionEvent: com::sun::star::lang::EventObject
+{
+ /** contains a textual representation of the selected range.
+ */
+ string RangeDescriptor;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/RecentFunctions.idl b/offapi/com/sun/star/sheet/RecentFunctions.idl
new file mode 100644
index 000000000..9906821ae
--- /dev/null
+++ b/offapi/com/sun/star/sheet/RecentFunctions.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_RecentFunctions_idl__
+#define __com_sun_star_sheet_RecentFunctions_idl__
+
+#include <com/sun/star/sheet/XRecentFunctions.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the list of recently used spreadsheet functions.
+ */
+published service RecentFunctions : XRecentFunctions;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ReferenceFlags.idl b/offapi/com/sun/star/sheet/ReferenceFlags.idl
new file mode 100644
index 000000000..cacbd166d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ReferenceFlags.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ReferenceFlags_idl__
+#define __com_sun_star_sheet_ReferenceFlags_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** defines flags for references.
+
+ <P>The values can be combined.</P>
+ */
+constants ReferenceFlags
+{
+
+ /** selects a relative column reference.
+ */
+ const long COLUMN_RELATIVE = 1;
+
+
+ /** marks a deleted column reference.
+ */
+ const long COLUMN_DELETED = 2;
+
+
+ /** selects a relative row reference.
+ */
+ const long ROW_RELATIVE = 4;
+
+
+ /** marks a deleted row reference.
+ */
+ const long ROW_DELETED = 8;
+
+
+ /** selects a relative sheet reference.
+ */
+ const long SHEET_RELATIVE = 16;
+
+
+ /** marks a deleted sheet reference.
+ */
+ const long SHEET_DELETED = 32;
+
+
+ /** selects a 3D sheet reference.
+ */
+ const long SHEET_3D = 64;
+
+
+ /** marks a reference from a relative range name.
+ */
+ const long RELATIVE_NAME = 128;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ResultEvent.idl b/offapi/com/sun/star/sheet/ResultEvent.idl
new file mode 100644
index 000000000..c4c503e36
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ResultEvent.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ResultEvent_idl__
+#define __com_sun_star_sheet_ResultEvent_idl__
+
+#include <com/sun/star/lang/EventObject.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the new value of a volatile function result.
+
+ @see com::sun::star::sheet::XVolatileResult
+ */
+published struct ResultEvent: com::sun::star::lang::EventObject
+{
+
+ /** contains the value.
+
+ <p>This can be any of the possible return types described for the
+ AddIn service, except XVolatileResult.</p>
+ */
+ any Value;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Scenario.idl b/offapi/com/sun/star/sheet/Scenario.idl
new file mode 100644
index 000000000..5ecd46244
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Scenario.idl
@@ -0,0 +1,93 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_Scenario_idl__
+#define __com_sun_star_sheet_Scenario_idl__
+
+#include <com/sun/star/sheet/XScenario.idl>
+#include <com/sun/star/sheet/XScenarioEnhanced.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XNamed.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a scenario in a spreadsheet document.
+
+ */
+service Scenario
+{
+ interface com::sun::star::sheet::XScenario;
+
+ [optional] interface com::sun::star::sheet::XScenarioEnhanced;
+
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::container::XNamed;
+
+
+ /** specifies if the scenario is active.
+ */
+ [optional, property] boolean IsActive;
+
+
+ /** specifies the color of the border of the scenario.
+ */
+ [optional, property] long BorderColor;
+
+
+ /** specifies if the scenario is protected.
+ */
+ [optional, property] boolean Protected;
+
+
+ /** specifies if the scenario shows a border.
+ */
+ [optional, property] boolean ShowBorder;
+
+
+ /** specifies if the scenario prints a border.
+ */
+ [optional, property] boolean PrintBorder;
+
+
+ /** specifies if the data should be copied back into the scenario.
+ */
+ [optional, property] boolean CopyBack;
+
+
+ /** specifies if the styles are copied.
+ */
+ [optional, property] boolean CopyStyles;
+
+
+ /** specifies if the formulas are copied or only the results.
+ */
+ [optional, property] boolean CopyFormulas;
+
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Scenarios.idl b/offapi/com/sun/star/sheet/Scenarios.idl
new file mode 100644
index 000000000..5f7f40765
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Scenarios.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_Scenarios_idl__
+#define __com_sun_star_sheet_Scenarios_idl__
+
+#include <com/sun/star/sheet/XScenariosSupplier.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of scenarios.
+ */
+published service Scenarios
+{
+
+ /** provides access via name to the scenarios in the collection.
+ */
+ interface com::sun::star::sheet::XScenarios;
+
+
+ /** creates an enumeration of scenarios.
+
+ @see com::sun::star::sheet::ScenariosEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access to the scenarios in the collection via index.
+
+ @see com::sun::star::sheet::Spreadsheet
+
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ScenariosEnumeration.idl b/offapi/com/sun/star/sheet/ScenariosEnumeration.idl
new file mode 100644
index 000000000..001eb57fc
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ScenariosEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ScenariosEnumeration_idl__
+#define __com_sun_star_sheet_ScenariosEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of scenarios.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+published service ScenariosEnumeration
+{
+
+ /** provides methods to access the scenarios in the enumeration.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Shape.idl b/offapi/com/sun/star/sheet/Shape.idl
new file mode 100644
index 000000000..9904a49ef
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Shape.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_Shape_idl__
+#define __com_sun_star_sheet_Shape_idl__
+
+#include <com/sun/star/drawing/Shape.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** specifies the service of shapes in a spreadsheet document
+ */
+service Shape
+{
+ service com::sun::star::drawing::Shape;
+ /** contains the object where this shape is anchored on.
+ <p> Possible objects are XSpreadsheet and XCell.</p>
+ */
+ [property] com::sun::star::uno::XInterface Anchor;
+
+ /** If set, the shape will resize with the cell.
+ Only works when shape is anchored to a cell.
+
+ @since LibreOffice 6.3
+ */
+ [optional, property] boolean ResizeWithCell;
+
+ /** contains the horizontal position of the object (1/100 mm).
+ <p> The position is relative to the anchor object.</p>
+ <p> If the underlying table layout direction is left to right
+ the position is the difference of the left top edge of the anchor
+ object and the left top edge of the drawing object.</p>
+ <p> If the underlying table layout direction is right to left
+ the position is the difference of the right top edge of the anchor
+ object and the right top edge of the drawing object.</p>
+ */
+ [property] long HoriOrientPosition;
+ /** contains the vertical position of the object (1/100 mm).
+ <p> The position is relative to the anchor object.</p>
+ <p> If the underlying table layout direction is left to right
+ the position is the difference of the left top edge of the anchor
+ object and the left top edge of the drawing object.</p>
+ <p> If the underlying table layout direction is right to left
+ the position is the difference of the right top edge of the anchor
+ object and the right top edge of the drawing object.</p>
+ */
+ [property] long VertOrientPosition;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetCell.idl b/offapi/com/sun/star/sheet/SheetCell.idl
new file mode 100644
index 000000000..0f3303c49
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCell.idl
@@ -0,0 +1,262 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetCell_idl__
+#define __com_sun_star_sheet_SheetCell_idl__
+
+
+#include <com/sun/star/table/Cell.idl>
+#include <com/sun/star/text/Text.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/style/ParagraphPropertiesAsian.idl>
+#include <com/sun/star/style/ParagraphPropertiesComplex.idl>
+#include <com/sun/star/sheet/SheetRangesQuery.idl>
+
+
+#include <com/sun/star/document/XActionLockable.idl>
+#include <com/sun/star/util/XReplaceable.idl>
+#include <com/sun/star/util/XIndent.idl>
+#include <com/sun/star/table/XColumnRowRange.idl>
+#include <com/sun/star/sheet/XCellAddressable.idl>
+#include <com/sun/star/sheet/XSheetAnnotationAnchor.idl>
+#include <com/sun/star/text/XTextFieldsSupplier.idl>
+
+
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/table/CellContentType.idl>
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a single addressable cell in a spreadsheet document.
+ */
+published service SheetCell
+{
+
+ /** provides basic cell handling and contributes common cell
+ formatting properties.
+ */
+ service com::sun::star::table::Cell;
+
+
+ /** provides handling of formatted text cells.
+ */
+ service com::sun::star::text::Text;
+
+
+ /** contributes properties for character formatting of Western text.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** contributes properties for character formatting of Asian text.
+ */
+ service com::sun::star::style::CharacterPropertiesAsian;
+
+
+ /** contributes properties for character formatting of Complex text.
+ */
+ service com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** contributes properties for paragraph formatting.
+ */
+ service com::sun::star::style::ParagraphProperties;
+
+
+ /** contributes properties for paragraph formatting of Asian text.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesAsian;
+
+
+ /** contributes properties for paragraph formatting of Complex text.
+ */
+ [optional] service com::sun::star::style::ParagraphPropertiesComplex;
+
+
+ /** provides interfaces to find cells with specific properties.
+ */
+ service com::sun::star::sheet::SheetRangesQuery;
+
+
+ /** provides methods to lock and unlock the update between
+ com::sun::star::table::XCell and
+ com::sun::star::text::XText.
+ */
+ interface com::sun::star::document::XActionLockable;
+
+
+ /** provides "Find and Replace" functionality.
+
+ <p>The property
+ com::sun::star::util::SearchDescriptor::SearchWords
+ has a different meaning in spreadsheets: If set to `TRUE`, the
+ spreadsheet searches for cells containing the search text only.</p>
+ */
+ interface com::sun::star::util::XReplaceable;
+
+
+ /** provides modifying the cell indentation.
+ */
+ interface com::sun::star::util::XIndent;
+
+
+ /** provides access to the collections of columns and rows.
+ */
+ interface com::sun::star::table::XColumnRowRange;
+
+
+ /** provides access to the cell address of this cell.
+ */
+ interface com::sun::star::sheet::XCellAddressable;
+
+
+ /** provides access to the annotation attached to this cell.
+ */
+ interface com::sun::star::sheet::XSheetAnnotationAnchor;
+
+
+ /** provides access to the text fields used in this cell.
+
+ <p>With com::sun::star::text::XTextFieldsSupplier::getTextFieldMasters
+ always returns void since the field master is not supported.</p>
+ */
+ interface com::sun::star::text::XTextFieldsSupplier;
+
+
+ [optional] interface com::sun::star::beans::XTolerantMultiPropertySet;
+
+
+ /**
+
+ @since OOo 2.0
+
+ */
+ [optional] interface com::sun::star::util::XModifyBroadcaster;
+
+
+ /** contains the position of this cell in the sheet (in 1/100 mm).
+
+ <p>This property contains the absolute position in the whole
+ sheet, not the position in the visible area.</p>
+ */
+ [readonly, property] com::sun::star::awt::Point Position;
+
+
+ /** contains the size of this cell (in 1/100 mm).
+ */
+ [readonly, property] com::sun::star::awt::Size Size;
+
+
+ /** contains the formula string with localized function names.
+
+ <p>This property can also be used to set a new localized formula.</p>
+ */
+ [optional, property] string FormulaLocal;
+
+
+ /** contains the content type of the cell.
+
+ <p>This property returns not com::sun::star::sheet::FormulaResult
+ but instead com::sun::star::table::CellContentType. Use FormulaResult2
+ if the correct property is needed.</p>
+ */
+ [readonly, property] long FormulaResultType;
+
+
+ /** contains the conditional formatting settings for this cell.
+
+ <p>After a conditional format has been changed it has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+ [property] com::sun::star::sheet::XSheetConditionalEntries
+ ConditionalFormat;
+
+
+ /** contains the conditional formatting settings for this cell,
+ using localized formulas.
+
+ <p>After a conditional format has been changed it has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+ [optional, property] com::sun::star::sheet::XSheetConditionalEntries
+ ConditionalFormatLocal;
+
+
+ /** contains the data validation settings for this cell.
+
+ <p>After the data validation settings have been changed the
+ validation has to be reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableValidation
+ */
+ [property] com::sun::star::beans::XPropertySet Validation;
+
+
+ /** contains the data validation settings for this cell,
+ using localized formulas.
+
+ <p>After the data validation settings have been changed the
+ validation has to be reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableValidation
+ */
+ [optional, property] com::sun::star::beans::XPropertySet ValidationLocal;
+
+
+ /** Returns the absolute address of the range as string, e.g. "$Sheet1.$B$2".
+ */
+ [optional, readonly, property] string AbsoluteName;
+
+
+ /** contains the content type of the cell.
+
+ @see com::sun::star::table::CellContentType
+ @since LibreOffice 6.1
+ */
+ [optional, readonly, property] com::sun::star::table::CellContentType CellContentType;
+
+
+ /** contains the result type of a formula.
+
+ @see com::sun::star::sheet::FormulaResult
+ @since LibreOffice 6.1
+ */
+ [optional, readonly, property] long FormulaResultType2;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetCellCursor.idl b/offapi/com/sun/star/sheet/SheetCellCursor.idl
new file mode 100644
index 000000000..e89305b5a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellCursor.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetCellCursor_idl__
+#define __com_sun_star_sheet_SheetCellCursor_idl__
+
+#include <com/sun/star/table/CellCursor.idl>
+#include <com/sun/star/sheet/SheetCellRange.idl>
+#include <com/sun/star/sheet/XSheetCellCursor.idl>
+#include <com/sun/star/sheet/XUsedAreaCursor.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a cursor in a spreadsheet.
+
+ <p>A cursor is a cell range which provides additional methods to move
+ through the table (i.e. to find specific cell ranges).</p>
+ */
+published service SheetCellCursor
+{
+
+ /** provides common methods to control the position of the cursor.
+ */
+ service com::sun::star::table::CellCursor;
+
+
+ /** provides the complete functionality of a cell range in a spreadsheet
+ document.
+ */
+ service com::sun::star::sheet::SheetCellRange;
+
+
+ /** provides advanced methods to control the position of the cursor.
+ */
+ interface com::sun::star::sheet::XSheetCellCursor;
+
+
+ /** provides methods to find the used area of the entire sheet.
+ */
+ interface com::sun::star::sheet::XUsedAreaCursor;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetCellRange.idl b/offapi/com/sun/star/sheet/SheetCellRange.idl
new file mode 100644
index 000000000..f6a5cbf6f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellRange.idl
@@ -0,0 +1,296 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetCellRange_idl__
+#define __com_sun_star_sheet_SheetCellRange_idl__
+
+
+#include <com/sun/star/table/CellRange.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/sheet/SheetRangesQuery.idl>
+
+
+#include <com/sun/star/util/XReplaceable.idl>
+#include <com/sun/star/util/XMergeable.idl>
+#include <com/sun/star/util/XIndent.idl>
+#include <com/sun/star/table/XColumnRowRange.idl>
+#include <com/sun/star/table/XAutoFormattable.idl>
+#include <com/sun/star/sheet/XSheetCellRange.idl>
+#include <com/sun/star/sheet/XCellRangeData.idl>
+#include <com/sun/star/sheet/XCellRangeFormula.idl>
+#include <com/sun/star/sheet/XCellRangeAddressable.idl>
+#include <com/sun/star/sheet/XSheetOperation.idl>
+#include <com/sun/star/sheet/XCellSeries.idl>
+#include <com/sun/star/sheet/XArrayFormulaRange.idl>
+#include <com/sun/star/sheet/XMultipleOperation.idl>
+#include <com/sun/star/util/XSortable.idl>
+#include <com/sun/star/util/XImportable.idl>
+#include <com/sun/star/sheet/XSubTotalCalculatable.idl>
+#include <com/sun/star/sheet/XSheetFilterableEx.idl>
+#include <com/sun/star/sheet/XCellFormatRangesSupplier.idl>
+#include <com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl>
+#include <com/sun/star/chart/XChartDataArray.idl>
+
+
+#include <com/sun/star/awt/Point.idl>
+#include <com/sun/star/awt/Size.idl>
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/beans/XTolerantMultiPropertySet.idl>
+#include <com/sun/star/util/XModifyBroadcaster.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a rectangular range of cells in a spreadsheet document.
+
+ <p>This service is an extension of the CellRange service for use
+ in spreadsheet documents.</p>
+ */
+published service SheetCellRange
+{
+
+ /** provides basic handling of cell ranges and contributes common cell
+ formatting properties.
+ */
+ service com::sun::star::table::CellRange;
+
+
+ /** contributes properties for character formatting of Western text.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** contributes properties for character formatting of Asian text.
+ */
+ service com::sun::star::style::CharacterPropertiesAsian;
+
+
+ /** contributes properties for character formatting of Complex text.
+ */
+ service com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** contributes properties for paragraph formatting.
+ */
+ service com::sun::star::style::ParagraphProperties;
+
+
+ /** provides interfaces to find cells with specific properties.
+ */
+ service com::sun::star::sheet::SheetRangesQuery;
+
+
+ /** provides "Find and Replace" functionality.
+
+ <p>The property
+ com::sun::star::util::SearchDescriptor::SearchWords
+ has a different meaning in spreadsheets: If set to `TRUE`, the
+ spreadsheet searches for cells containing the search text only.</p>
+ */
+ interface com::sun::star::util::XReplaceable;
+
+
+ /** provides merging and unmerging the cells of this cell range.
+ */
+ interface com::sun::star::util::XMergeable;
+
+
+ /** provides modifying the cell indentation.
+ */
+ interface com::sun::star::util::XIndent;
+
+
+ /** provides access to the collections of columns and rows.
+ */
+ interface com::sun::star::table::XColumnRowRange;
+
+
+ /** provides applying an AutoFormat to the cell range.
+ */
+ interface com::sun::star::table::XAutoFormattable;
+
+
+ /** provides access to the spreadsheet that contains this cell range.
+ */
+ interface com::sun::star::sheet::XSheetCellRange;
+
+
+ /** provides simultaneous access to the contents of all cells.
+ */
+ interface com::sun::star::sheet::XCellRangeData;
+
+
+ /** provides simultaneous access to the formula contents of all cells.
+
+ @since OOo 1.1.2
+ */
+ [optional] interface com::sun::star::sheet::XCellRangeFormula;
+
+
+ /** provides access to the cell range address of this range.
+ */
+ interface com::sun::star::sheet::XCellRangeAddressable;
+
+
+ /** provides computation of a value based on the contents of all
+ cells of this range and to clear specific cells.
+ */
+ interface com::sun::star::sheet::XSheetOperation;
+
+
+ /** provides filling out the cell range automatically with values based
+ on a start value, step count and fill mode.
+ */
+ interface com::sun::star::sheet::XCellSeries;
+
+
+ /** provides handling of array formulas.
+ */
+ interface com::sun::star::sheet::XArrayFormulaRange;
+
+
+ /** provides access to the Multiple Operations feature.
+ */
+ interface com::sun::star::sheet::XMultipleOperation;
+
+
+ /** provides sorting functionality.
+ */
+ interface com::sun::star::util::XSortable;
+
+
+ /** provides functionality to import data from external data sources.
+
+ @see com::sun::star::sheet::DatabaseImportDescriptor
+
+ */
+ interface com::sun::star::util::XImportable;
+
+
+ /** provides calculating SubTotal values in this range.
+ */
+ interface com::sun::star::sheet::XSubTotalCalculatable;
+
+
+ /** provides filtering the contents of this range.
+ */
+ interface com::sun::star::sheet::XSheetFilterableEx;
+
+
+ /** provide access to a collection of equal-formatted cell ranges.
+ */
+ interface com::sun::star::sheet::XCellFormatRangesSupplier;
+
+
+ /** provide access to a collection of equal-formatted cell ranges.
+ */
+ interface com::sun::star::sheet::XUniqueCellFormatRangesSupplier;
+
+
+ /** provides modifying the source data cells of a chart and makes
+ it possible to learn about changes in the cell values.
+ */
+ interface com::sun::star::chart::XChartDataArray;
+
+
+ [optional] interface com::sun::star::beans::XTolerantMultiPropertySet;
+
+
+ /**
+
+ @since OOo 2.0
+
+ */
+ [optional] interface com::sun::star::util::XModifyBroadcaster;
+
+
+ /** contains the position of the top left cell of this range in
+ the sheet (in 1/100 mm).
+
+ <p>This property contains the absolute position in the whole
+ sheet, not the position in the visible area.</p>
+ */
+ [readonly, property] com::sun::star::awt::Point Position;
+
+
+ /** contains the size of this range (in 1/100 mm).
+ */
+ [readonly, property] com::sun::star::awt::Size Size;
+
+
+ /** contains the conditional formatting settings for this cell.
+
+ <p>After a conditional format has been changed it has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+ [property] com::sun::star::sheet::XSheetConditionalEntries
+ ConditionalFormat;
+
+
+ /** contains the conditional formatting settings for this cell,
+ using localized formulas.
+
+ <p>After a conditional format has been changed it has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+ [optional, property] com::sun::star::sheet::XSheetConditionalEntries
+ ConditionalFormatLocal;
+
+
+ /** contains the data validation settings for this cell.
+
+ <p>After the data validation settings have been changed the
+ validation has to be reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableValidation
+ */
+ [property] com::sun::star::beans::XPropertySet Validation;
+
+
+ /** contains the data validation settings for this cell,
+ using localized formulas.
+
+ <p>After the data validation settings have been changed the
+ validation has to be reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableValidation
+ */
+ [optional, property] com::sun::star::beans::XPropertySet ValidationLocal;
+
+
+ /** Returns the absolute address of the range as string, e.g. "$Sheet1.$B$2:$D$5".
+ */
+ [optional, readonly, property] string AbsoluteName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetCellRanges.idl b/offapi/com/sun/star/sheet/SheetCellRanges.idl
new file mode 100644
index 000000000..a62ee4cee
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellRanges.idl
@@ -0,0 +1,187 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetCellRanges_idl__
+#define __com_sun_star_sheet_SheetCellRanges_idl__
+
+
+#include <com/sun/star/table/CellProperties.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/style/ParagraphProperties.idl>
+#include <com/sun/star/sheet/SheetRangesQuery.idl>
+
+
+#include <com/sun/star/util/XReplaceable.idl>
+#include <com/sun/star/util/XIndent.idl>
+#include <com/sun/star/sheet/XSheetOperation.idl>
+#include <com/sun/star/chart/XChartDataArray.idl>
+#include <com/sun/star/sheet/XSheetCellRangeContainer.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of cell ranges in a spreadsheet document.
+
+ @see com::sun::star::sheet::SheetCellRange
+ */
+published service SheetCellRanges
+{
+
+ /** contributes common cell formatting properties.
+ */
+ service com::sun::star::table::CellProperties;
+
+
+ /** contributes properties for character formatting of Western text.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** contributes properties for character formatting of Asian text.
+ */
+ service com::sun::star::style::CharacterPropertiesAsian;
+
+
+ /** contributes properties for character formatting of Complex text.
+ */
+ service com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** contributes properties for paragraph formatting.
+ */
+ service com::sun::star::style::ParagraphProperties;
+
+
+ /** provides interfaces to find cells with specific properties.
+ */
+ service com::sun::star::sheet::SheetRangesQuery;
+
+
+ /** provides "Find and Replace" functionality.
+
+ <p>The property
+ com::sun::star::util::SearchDescriptor::SearchWords
+ has a different meaning in spreadsheets: If set to `TRUE`, the
+ spreadsheet searches for cells containing the search text only.</p>
+ */
+ interface com::sun::star::util::XReplaceable;
+
+
+ /** provides modifying the cell indentation.
+ */
+ interface com::sun::star::util::XIndent;
+
+
+ /** provides computation of a value based on the contents of all
+ cells of this range and to clear specific cells.
+ */
+ interface com::sun::star::sheet::XSheetOperation;
+
+
+ /** provides modifying the source data cells of a chart and makes
+ it possible to learn about changes in the cell values.
+ */
+ interface com::sun::star::chart::XChartDataArray;
+
+
+ /** provides methods to access cell ranges via index and to add and
+ remove cell ranges.
+ */
+ interface com::sun::star::sheet::XSheetCellRangeContainer;
+
+
+ /** creates an enumeration of all cell ranges.
+
+ @see com::sun::star::sheet::SheetCellRangesEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access of the cell ranges via an user-defined name.
+
+ <p>Later the range can be found, replaced or removed using that
+ name.</p>
+ */
+ interface com::sun::star::container::XNameContainer;
+
+
+ /** contains the conditional formatting settings for this cell.
+
+ <p>After a conditional format has been changed it has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+ [property] com::sun::star::sheet::XSheetConditionalEntries
+ ConditionalFormat;
+
+
+ /** contains the conditional formatting settings for this cell,
+ using localized formulas.
+
+ <p>After a conditional format has been changed it has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+ [optional, property] com::sun::star::sheet::XSheetConditionalEntries
+ ConditionalFormatLocal;
+
+
+ /** contains the data validation settings for this cell.
+
+ <p>After the data validation settings have been changed the
+ validation has to be reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableValidation
+ */
+ [property] com::sun::star::beans::XPropertySet Validation;
+
+
+ /** contains the data validation settings for this cell,
+ using localized formulas.
+
+ <p>After the data validation settings have been changed the
+ validation has to be reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::TableValidation
+ */
+ [optional, property] com::sun::star::beans::XPropertySet ValidationLocal;
+
+
+ /** Returns the absolute address of the ranges as string, e.g. "$Sheet1.$B$2:$D$5".
+ */
+ [optional, readonly, property] string AbsoluteName;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl b/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl
new file mode 100644
index 000000000..254710949
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetCellRangesEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetCellRangesEnumeration_idl__
+#define __com_sun_star_sheet_SheetCellRangesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of cell ranges in a spreadsheet document.
+
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published service SheetCellRangesEnumeration
+{
+
+ /** provides methods to access the cell ranges in the enumeration.
+
+ @see com::sun::star::sheet::SheetCellRange
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
new file mode 100644
index 000000000..5fc6cbcfd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetFilterDescriptor.idl
@@ -0,0 +1,129 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetFilterDescriptor_idl__
+#define __com_sun_star_sheet_SheetFilterDescriptor_idl__
+
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+#include <com/sun/star/sheet/XSheetFilterDescriptor2.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/table/TableOrientation.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a description of how a cell range is to be filtered.
+
+ <p>The descriptor contains properties and a collection of filter
+ conditions (filter fields) which control the behavior of a filter
+ operation.</p>
+ */
+published service SheetFilterDescriptor
+{
+
+ /** provides access to the collection of filter fields.
+ */
+ interface XSheetFilterDescriptor;
+
+
+ /** provides access to the collection of filter fields.
+
+ <p>This interface provides a sequence of TableFilterField2
+ structures supporting a wider range of comparison operators, compared
+ to the TableFilterField structure provided by interface
+ XSheetFilterDescriptor.
+
+ @since OOo 3.2
+ */
+ [optional] interface XSheetFilterDescriptor2;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies if the case of letters is important when comparing entries.
+ */
+ [property] boolean IsCaseSensitive;
+
+
+ /** specifies if duplicate entries are left out of the result.
+ */
+ [property] boolean SkipDuplicates;
+
+
+ /** specifies if the TableFilterField::StringValue
+ strings are interpreted as regular expressions.
+ */
+ [property] boolean UseRegularExpressions;
+
+
+ /** specifies if the SheetFilterDescriptor::OutputPosition
+ position is saved for future calls.
+
+ <p>This is only used if
+ SheetFilterDescriptor::CopyOutputData is `TRUE`.</p>
+ */
+ [property] boolean SaveOutputPosition;
+
+
+ /** specifies if columns or rows are filtered.
+ */
+ [property] com::sun::star::table::TableOrientation Orientation;
+
+
+ /** specifies if the first row (or column) contains headers which should
+ not be filtered.
+ */
+ [property] boolean ContainsHeader;
+
+
+ /** specifies if the filtered data should be copied to another position
+ in the document.
+ */
+ [property] boolean CopyOutputData;
+
+
+ /** specifies the position where filtered data are to be copied.
+
+ <p>This is only used if
+ SheetFilterDescriptor::CopyOutputData is `TRUE`.</p>
+ */
+ [property] com::sun::star::table::CellAddress OutputPosition;
+
+
+ /** returns the maximum number of filter fields in the descriptor.
+
+ <p>This read-only property indicates the maximum count of fields the
+ current implementation supports.</p>
+ */
+ [readonly, property] long MaxFieldCount;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetLink.idl b/offapi/com/sun/star/sheet/SheetLink.idl
new file mode 100644
index 000000000..c0da085de
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLink.idl
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetLink_idl__
+#define __com_sun_star_sheet_SheetLink_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/util/XRefreshable.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a sheet link.
+
+ <p>A sheet link contains the source data of linked sheets, i.e. the
+ URL and sheet name of the external document.</p>
+
+ <p>To create a linked sheet, the sheet which will be used as linked
+ sheet has to exist already. The method
+ XSheetLinkable::link() creates a SheetLink
+ object in the document's SheetLinks collection and links
+ the sheet to the specified external sheet.</p>
+ */
+published service SheetLink
+{
+
+ /** provides access to the name of the linked document.
+
+ <p>This name is equal to the Url property.</p>
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** provides methods to reload the external data.
+ */
+ interface com::sun::star::util::XRefreshable;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the URL of the source document.
+ */
+ [property] string Url;
+
+
+ /** specifies the name of the filter needed to load the source
+ document.
+ */
+ [property] string Filter;
+
+
+ /** specifies the filter options needed to load the source document.
+ */
+ [property] string FilterOptions;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetLinkMode.idl b/offapi/com/sun/star/sheet/SheetLinkMode.idl
new file mode 100644
index 000000000..1b0800d1d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLinkMode.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetLinkMode_idl__
+#define __com_sun_star_sheet_SheetLinkMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify how a sheet is linked to another sheet.
+
+ @see com::sun::star::sheet::SheetLinks
+ @see com::sun::star::sheet::SheetLink
+ @see com::sun::star::sheet::XSheetLinkable
+ */
+published enum SheetLinkMode
+{
+
+ /** sheet is not linked.
+ */
+ NONE,
+
+
+ /** all contents (values and formulas) are copied.
+ */
+ NORMAL,
+
+
+ /** instead of using formulas, the result values are copied.
+ */
+ VALUE
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetLinks.idl b/offapi/com/sun/star/sheet/SheetLinks.idl
new file mode 100644
index 000000000..8681100ac
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLinks.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetLinks_idl__
+#define __com_sun_star_sheet_SheetLinks_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of sheet links.
+
+ @see com::sun::star::sheet::SheetLink
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service SheetLinks
+{
+
+ /** provides access to the sheet links via index.
+
+ @see com::sun::star::sheet::SheetLink
+
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** provides access to the sheet links using the name of the linked
+ document.
+
+ @see com::sun::star::sheet::SheetLink
+
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ /** creates an enumeration of all sheet links.
+
+ @see com::sun::star::sheet::SheetLinksEnumeration
+
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl b/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl
new file mode 100644
index 000000000..76a9b86a8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetLinksEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetLinksEnumeration_idl__
+#define __com_sun_star_sheet_SheetLinkssEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of sheet links.
+
+ @see com::sun::star::sheet::SheetLink
+ */
+published service SheetLinksEnumeration
+{
+
+ /** provides methods to access the sheet links in the enumeration.
+
+ @see com::sun::star::sheet::SheetLink
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetRangesQuery.idl b/offapi/com/sun/star/sheet/SheetRangesQuery.idl
new file mode 100644
index 000000000..ad4e1c0d6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetRangesQuery.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SheetRangesQuery_idl__
+#define __com_sun_star_sheet_SheetRangesQuery_idl__
+
+#include <com/sun/star/sheet/XCellRangesQuery.idl>
+#include <com/sun/star/sheet/XFormulaQuery.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides interfaces to find cells with specific properties.
+ */
+published service SheetRangesQuery
+{
+
+ /** provides methods to query for cell ranges with specific contents.
+ */
+ interface com::sun::star::sheet::XCellRangesQuery;
+
+
+ /** provides methods to find dependent cells of formula cells.
+ */
+ interface com::sun::star::sheet::XFormulaQuery;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetSortDescriptor.idl b/offapi/com/sun/star/sheet/SheetSortDescriptor.idl
new file mode 100644
index 000000000..1a3a7955b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetSortDescriptor.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_SheetSortDescriptor_idl__
+#define __com_sun_star_sheet_SheetSortDescriptor_idl__
+
+#include <com/sun/star/table/TableSortDescriptor.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** a description of how a cell range is to be sorted.
+
+ <p>This service extends the com::sun::star::table::TableSortDescriptor
+ service with spreadsheet specific properties.</p>
+ */
+published service SheetSortDescriptor
+{
+
+ /** provides common table sorting properties.
+ */
+ service com::sun::star::table::TableSortDescriptor;
+
+
+ /** specifies if cell formats are moved with the contents
+ they belong to.
+ */
+ [property] boolean BindFormatsToContent;
+
+
+ /** specifies if a user defined sorting list is used.
+ */
+ [property] boolean IsUserListEnabled;
+
+
+ /** specifies which user defined sorting list is used.
+
+ <p>This property is only used, if
+ SheetSortDescriptor::IsUserListEnabled is `TRUE`.</p>
+ */
+ [property] long UserListIndex;
+
+
+ /** specifies if the sorted data should be copied to another
+ position in the document.
+ */
+ [property] boolean CopyOutputData;
+
+
+ /** specifies the position where sorted data are to be copied.
+
+ <p>This property is only used, if
+ SheetSortDescriptor::CopyOutputData is `TRUE`.</p>
+ */
+ [property] com::sun::star::table::CellAddress OutputPosition;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl b/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl
new file mode 100644
index 000000000..5f1e25f69
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SheetSortDescriptor2.idl
@@ -0,0 +1,94 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_SheetSortDescriptor2_idl__
+#define __com_sun_star_sheet_SheetSortDescriptor2_idl__
+
+#include <com/sun/star/table/TableSortDescriptor2.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** a description of how a cell range is to be sorted.
+
+ <p>This service extends the com::sun::star::table::TableSortDescriptor2
+ service with spreadsheet specific properties.</p>
+
+ @since OOo 1.1.2
+ */
+published service SheetSortDescriptor2
+{
+
+ /** provides common sorting properties.
+
+ The fields in the SortFields property are not fully supported at the moment.
+ IsCaseSensitive, CollatorLocale and CollatorAlgorithm are only supported once and if
+ every field contains different of this it gives undefined results.
+
+ */
+ service com::sun::star::table::TableSortDescriptor2;
+
+
+ /** specifies if cell formats are moved with the contents
+ they belong to.
+ */
+ [property] boolean BindFormatsToContent;
+
+
+ /** specifies if a user defined sorting list is used.
+ */
+ [property] boolean IsUserListEnabled;
+
+
+ /** specifies which user defined sorting list is used.
+
+ <p>This property is only used, if
+ SheetSortDescriptor::IsUserListEnabled is `TRUE`.</p>
+ */
+ [property] long UserListIndex;
+
+
+ /** specifies if the sorted data should be copied to another
+ position in the document.
+ */
+ [property] boolean CopyOutputData;
+
+
+ /** specifies the position where sorted data are to be copied.
+
+ <p>This property is only used, if
+ SheetSortDescriptor::CopyOutputData is `TRUE`.</p>
+ */
+ [property] com::sun::star::table::CellAddress OutputPosition;
+
+
+ /** specifies whether the first row or column (depending on
+ com::sun::star::table::TableSortDescriptor::Orientation) is a header which
+ should not be sorted.
+ */
+ [property] boolean ContainsHeader;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SingleReference.idl b/offapi/com/sun/star/sheet/SingleReference.idl
new file mode 100644
index 000000000..2f0999247
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SingleReference.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SingleReference_idl__
+#define __com_sun_star_sheet_SingleReference_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains a reference to a single cell.
+ */
+struct SingleReference
+{
+
+ /** is the absolute column number.
+ */
+ long Column;
+
+
+ /** is the relative column number.
+ */
+ long RelativeColumn;
+
+
+ /** is the absolute row number.
+ */
+ long Row;
+
+
+ /** is the relative row number.
+ */
+ long RelativeRow;
+
+
+ /** is the absolute sheet number.
+ */
+ long Sheet;
+
+
+ /** is the relative sheet number.
+ */
+ long RelativeSheet;
+
+
+ /** contains flags.
+ @see ReferenceFlags
+ */
+ long Flags;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Solver.idl b/offapi/com/sun/star/sheet/Solver.idl
new file mode 100644
index 000000000..0b664e6fd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Solver.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_Solver_idl__
+#define __com_sun_star_sheet_Solver_idl__
+
+#include <com/sun/star/sheet/XSolver.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** A solver for a model that is defined by spreadsheet cells.
+ */
+service Solver: XSolver;
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SolverConstraint.idl b/offapi/com/sun/star/sheet/SolverConstraint.idl
new file mode 100644
index 000000000..68600fb2f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SolverConstraint.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SolverConstraint_idl__
+#define __com_sun_star_sheet_SolverConstraint_idl__
+
+#include <com/sun/star/table/CellAddress.idl>
+#include <com/sun/star/sheet/SolverConstraintOperator.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to specify a constraint for a solver model.
+ */
+struct SolverConstraint
+{
+ /// The address of the cell that is constrained.
+ com::sun::star::table::CellAddress Left;
+
+ /// The type of the constraint.
+ SolverConstraintOperator Operator;
+
+ /** The comparison value, of type `double` or
+ com::sun::star::table::CellAddress.
+ */
+ any Right;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SolverConstraintOperator.idl b/offapi/com/sun/star/sheet/SolverConstraintOperator.idl
new file mode 100644
index 000000000..c92583653
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SolverConstraintOperator.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SolverConstraintOperator_idl__
+#define __com_sun_star_sheet_SolverConstraintOperator_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to specify the type of SolverConstraint.
+ */
+enum SolverConstraintOperator
+{
+ /// The cell value is less or equal to the specified value.
+ LESS_EQUAL,
+
+ /// The cell value is equal to the specified value.
+ EQUAL,
+
+ /// The cell value is greater or equal to the specified value.
+ GREATER_EQUAL,
+
+ /// The cell value is an integer value.
+ INTEGER,
+
+ /// The cell value is a binary value (0 or 1).
+ BINARY
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Spreadsheet.idl b/offapi/com/sun/star/sheet/Spreadsheet.idl
new file mode 100644
index 000000000..61762ce7e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Spreadsheet.idl
@@ -0,0 +1,202 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_Spreadsheet_idl__
+#define __com_sun_star_sheet_Spreadsheet_idl__
+
+#include <com/sun/star/sheet/SheetCellRange.idl>
+#include <com/sun/star/sheet/XSpreadsheet.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/util/XProtectable.idl>
+#include <com/sun/star/sheet/XDataPilotTablesSupplier.idl>
+#include <com/sun/star/sheet/XScenariosSupplier.idl>
+#include <com/sun/star/sheet/XSheetAnnotationsSupplier.idl>
+#include <com/sun/star/drawing/XDrawPageSupplier.idl>
+#include <com/sun/star/table/XTableChartsSupplier.idl>
+#include <com/sun/star/sheet/XCellRangeMovement.idl>
+#include <com/sun/star/sheet/XPrintAreas.idl>
+#include <com/sun/star/sheet/XSheetPageBreak.idl>
+#include <com/sun/star/sheet/XSheetOutline.idl>
+#include <com/sun/star/sheet/XSheetAuditing.idl>
+#include <com/sun/star/sheet/XSheetLinkable.idl>
+#include <com/sun/star/sheet/Scenario.idl>
+#include <com/sun/star/sheet/XExternalSheetName.idl>
+#include <com/sun/star/sheet/XConditionalFormats.idl>
+#include <com/sun/star/util/Color.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a complete spreadsheet in a spreadsheet document.
+
+ <p>This service extents the service SheetCellRange. A spreadsheet is
+ nothing else than a cell range with extended functionality.</p>
+
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+service Spreadsheet
+{
+
+ /** provides functionality for cell range handling.
+ */
+ service com::sun::star::sheet::SheetCellRange;
+
+
+ service com::sun::star::sheet::Scenario;
+
+
+ /** provides methods to create a cell cursor.
+ */
+ interface com::sun::star::sheet::XSpreadsheet;
+
+
+ /** provides accessing the spreadsheet name.
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** provides methods to protect and unprotect the sheet contents.
+ */
+ interface com::sun::star::util::XProtectable;
+
+
+ /** provides access to the collection of DataPilot tables.
+ */
+ interface com::sun::star::sheet::XDataPilotTablesSupplier;
+
+
+ /** provides access to the collection of scenarios.
+ */
+ interface com::sun::star::sheet::XScenariosSupplier;
+
+
+ /** provides access to the collection of annotations.
+ */
+ interface com::sun::star::sheet::XSheetAnnotationsSupplier;
+
+
+ /** provides access to the draw page of this spreadsheet.
+ */
+ interface com::sun::star::drawing::XDrawPageSupplier;
+
+
+ /** provides access to the collection of chart objects.
+ */
+ interface com::sun::star::table::XTableChartsSupplier;
+
+
+ /** provides methods to move cell ranges inside the spreadsheet or to
+ other spreadsheets in this document.
+ */
+ interface com::sun::star::sheet::XCellRangeMovement;
+
+
+ /** provides access to the print area settings of this sheet.
+ */
+ interface com::sun::star::sheet::XPrintAreas;
+
+
+ /** provides access to the page breaks of this sheet.
+ */
+ interface com::sun::star::sheet::XSheetPageBreak;
+
+
+ /** provides access to row and column outline settings.
+ */
+ interface com::sun::star::sheet::XSheetOutline;
+
+
+ /** provides access to the auditing (detective) functionality.
+ */
+ interface com::sun::star::sheet::XSheetAuditing;
+
+
+ /** provides methods for a linked sheet.
+ */
+ interface com::sun::star::sheet::XSheetLinkable;
+
+
+ /** provides a method to set an external name at the sheet.
+
+ @since OOo 3.0
+ */
+ [optional] interface com::sun::star::sheet::XExternalSheetName;
+
+
+ /** specifies if the sheet is visible.
+ */
+ [property] boolean IsVisible;
+
+
+ /** specifies the page style of the sheet.
+ */
+ [property] string PageStyle;
+
+
+ /** specifies the direction of the columns in the spreadsheet.
+
+ <p>Possible values are com::sun::star::text::WritingMode2::LR_TB to
+ order the columns from left to right, and
+ com::sun::star::text::WritingMode2::RL_TB to order the columns from
+ right to left.</p>
+
+ @see com::sun::star::text::WritingMode2
+ */
+ [optional, property] short TableLayout;
+
+
+ /** specifies whether the sheet has an automatic print area.
+
+ <p> The automatic print area is used to print a sheet without
+ explicit print areas, also if other sheets have print areas.</p>
+
+ <p> If the property is true, and there are print areas on other sheets,
+ the used area of this sheet is also printed.</p>
+
+ <p> If the property is false, and there are print areas on other sheets,
+ only these specified print areas are printed.</p>
+
+ <p> If there are no print areas on the other sheets it does not matter
+ whether property is true or false.</p>
+
+ <p> This property can only be true, if there are no print areas given
+ on this sheet. If the property is set to true the print areas of
+ this sheet will be removed.</p>
+
+ @see XPrintAreas
+
+ */
+ [optional, property] boolean AutomaticPrintArea;
+
+ /** specifies the color of the sheet tab, if any.
+ */
+ [optional, property] com::sun::star::util::Color TabColor;
+
+ /** specifies all conditional formats of that sheet
+ */
+ [optional, property] com::sun::star::sheet::XConditionalFormats ConditionalFormats;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetDocument.idl b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl
new file mode 100644
index 000000000..a72a127dd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetDocument.idl
@@ -0,0 +1,192 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SpreadsheetDocument_idl__
+#define __com_sun_star_sheet_SpreadsheetDocument_idl__
+
+#include <com/sun/star/document/OfficeDocument.idl>
+#include <com/sun/star/sheet/SpreadsheetDocumentSettings.idl>
+
+
+#include <com/sun/star/lang/XMultiServiceFactory.idl>
+#include <com/sun/star/frame/XModel.idl>
+#include <com/sun/star/document/XActionLockable.idl>
+#include <com/sun/star/document/XLinkTargetSupplier.idl>
+#include <com/sun/star/util/XProtectable.idl>
+#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
+#include <com/sun/star/sheet/XCalculatable.idl>
+#include <com/sun/star/sheet/XDocumentAuditing.idl>
+#include <com/sun/star/sheet/XConsolidatable.idl>
+#include <com/sun/star/sheet/XGoalSeek.idl>
+#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
+#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
+#include <com/sun/star/util/XNumberFormatsSupplier.idl>
+
+
+#include <com/sun/star/sheet/XNamedRanges.idl>
+#include <com/sun/star/sheet/XDatabaseRanges.idl>
+#include <com/sun/star/sheet/XLabelRanges.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XAreaLinks.idl>
+#include <com/sun/star/sheet/XExternalDocLinks.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a model component which consists of some settings and
+ one or more spreadsheets.
+ */
+published service SpreadsheetDocument
+{
+
+ /** common service for all types of documents.
+ */
+ service com::sun::star::document::OfficeDocument;
+
+
+ /** contributes spreadsheet document specific properties.
+
+ @deprecated
+ */
+ [optional] service com::sun::star::sheet::SpreadsheetDocumentSettings;
+
+
+ /** provides methods to create instances of several spreadsheet
+ services.
+ */
+ interface com::sun::star::lang::XMultiServiceFactory;
+
+
+ /** provides common methods for a document model.
+
+ <p>This interface is derived from
+ com::sun::star::lang::XComponent.</p>
+ */
+ interface com::sun::star::frame::XModel;
+
+
+ /** provides methods to control the automatic update of cell contents.
+ */
+ interface com::sun::star::document::XActionLockable;
+
+
+ /** provides access to the collection of link targets available in
+ the document.
+ */
+ interface com::sun::star::document::XLinkTargetSupplier;
+
+
+ /** provides methods to protect and unprotect the document.
+ */
+ interface com::sun::star::util::XProtectable;
+
+
+ /** provides access to the collection of spreadsheets.
+ */
+ interface com::sun::star::sheet::XSpreadsheetDocument;
+
+
+ /** controls the recalculation settings of the document.
+ */
+ interface com::sun::star::sheet::XCalculatable;
+
+
+ /** provides a method to refresh all auditing arrows.
+ */
+ interface com::sun::star::sheet::XDocumentAuditing;
+
+
+ /** provides methods to perform a data consolidation.
+ */
+ interface com::sun::star::sheet::XConsolidatable;
+
+
+ /** provides a method to perform a goal seek.
+ */
+ interface com::sun::star::sheet::XGoalSeek;
+
+
+ /** provides access to the collection of draw pages of this document.
+ */
+ interface com::sun::star::drawing::XDrawPagesSupplier;
+
+
+ /** provides access to the collection of style families.
+
+ <p>A spreadsheet document contains 2 families of styles:
+ "PageStyles" and "CellStyles".</p>
+ */
+ interface com::sun::star::style::XStyleFamiliesSupplier;
+
+
+ /** provides access to the collection of number formats contained in
+ the document.
+ */
+ interface com::sun::star::util::XNumberFormatsSupplier;
+
+
+ /** contains the collection of named ranges in the document.
+ */
+ [readonly, property] com::sun::star::sheet::XNamedRanges NamedRanges;
+
+
+ /** contains the collection of database ranges in the document.
+ */
+ [readonly, property] com::sun::star::sheet::XDatabaseRanges DatabaseRanges;
+
+
+ /** contains the collection of column label ranges in the document.
+ */
+ [readonly, property] com::sun::star::sheet::XLabelRanges ColumnLabelRanges;
+
+
+ /** contains the collection of row label ranges in the document.
+ */
+ [readonly, property] com::sun::star::sheet::XLabelRanges RowLabelRanges;
+
+
+ /** contains the collection of sheet links in the document.
+ */
+ [readonly, property] com::sun::star::container::XNameAccess SheetLinks;
+
+
+ /** contains the collection of area links in the document.
+ */
+ [readonly, property] com::sun::star::sheet::XAreaLinks AreaLinks;
+
+
+ /** contains the collection of DDE links in the document.
+ */
+ [readonly, property] com::sun::star::container::XNameAccess DDELinks;
+
+
+// /** contains the collection of external document links in the document.
+//
+// @since OOo 3.1
+// */
+// [optional, readonly, property] com::sun::star::sheet::XExternalDocLinks ExternalDocLinks;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl
new file mode 100644
index 000000000..5f8d4fa89
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetDocumentSettings.idl
@@ -0,0 +1,238 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__
+#define __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/util/Date.idl>
+#include <com/sun/star/i18n/XForbiddenCharacters.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/awt/XDevice.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contributes properties to control the configuration which is global
+ for all views of a spreadsheet document.
+
+ @deprecated
+
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service SpreadsheetDocumentSettings
+{
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** enables iterated calculation of circular references.
+ */
+ [property] boolean IsIterationEnabled;
+
+
+ /** specifies how many iterations are carried out.
+
+ <p>This setting is only used, if iteration is enabled using
+ SpreadsheetDocumentSettings::IsIterationEnabled.</p>
+ */
+ [property] long IterationCount;
+
+
+ /** specifies the point at which a change in results will stop
+ the iteration.
+
+ <p>More exactly it specifies a difference in the change of the
+ result between two iterations. If the result difference
+ is less than or equal to this epsilon-value, the iteration
+ is stopped.</p>
+
+ <p>This setting is only used, if iteration is enabled using
+ SpreadsheetDocumentSettings::IsIterationEnabled.</p>
+ */
+ [property] double IterationEpsilon;
+
+
+ /** specifies the number of decimals in the default number format.
+ */
+ [property] short StandardDecimals;
+
+
+ /** specifies the date that is represented by the value zero.
+ */
+ [property] com::sun::star::util::Date NullDate;
+
+
+ /** specifies the width of default tabulators.
+ */
+ [property] short DefaultTabStop;
+
+
+ /** specifies whether upper and lower cases are treated as equal
+ when comparing cells.
+ */
+ [property] boolean IgnoreCase;
+
+
+ /** specifies whether calculations are performed with the rounded
+ values displayed in cells (set to `TRUE`) instead of the
+ internal values (set to `FALSE`).
+ */
+ [property] boolean CalcAsShown;
+
+
+ /** specifies whether filter criteria must match entire cell contents.
+ */
+ [property] boolean MatchWholeCell;
+
+
+ /** enables online spell checking.
+ */
+ [property] boolean SpellOnline;
+
+
+ /** specifies whether column or row labels are looked up from
+ anywhere on the sheet.
+
+ <p>Explicitly defined label ranges are used even if this property
+ is set to `FALSE`.</p>
+
+ @see com::sun::star::sheet::LabelRanges
+ */
+ [property] boolean LookUpLabels;
+
+
+ /** specifies whether regular expressions in formulas are enabled,
+ e.g., for functions which look up spreadsheet contents.
+
+ <p>RegularExpressions and Wildcards are mutually exclusive, only
+ one can have the value `TRUE`. If both are set to `TRUE` via API
+ calls then the last one set takes precedence.</p>
+ */
+ [property] boolean RegularExpressions;
+
+
+ /** contains the interface XForbiddenCharacters.
+ */
+ [readonly, optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;
+
+
+ /** If this property is set the document has DrawPages. Use this
+ property to find out, whether the document has DrawPages or not,
+ because the getDrawPage method on the XDrawPageSupplier and the
+ getDrawPages method on the XDrawPagesSupplier always creates the
+ DrawPages if there are none; and this is very slow and needs more
+ memory.
+ */
+ [readonly, optional, property] boolean HasDrawPages;
+
+
+ /** contains the standard document language for Western text.
+ */
+ [optional, property] com::sun::star::lang::Locale CharLocale;
+
+
+ /** contains the standard document language for Asian text.
+ */
+ [optional, property] com::sun::star::lang::Locale CharLocaleAsian;
+
+
+ /** contains the standard document language for Complex text.
+ */
+ [optional, property] com::sun::star::lang::Locale CharLocaleComplex;
+
+
+ /** specifies whether the document data are already loaded.
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean IsLoaded;
+
+
+ /** specifies whether the undo command is enabled.
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean IsUndoEnabled;
+
+
+ /** specifies whether the automatic adjustment of the row height is
+ enabled.
+
+ </p>This boolean is actually a counter internally, of the number of times
+ something has locked the height, so setting it to false will only perform one
+ unlock operation, and might leave it still locked</p>
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean IsAdjustHeightEnabled;
+
+
+ /** specifies whether the automatic execution of links is enabled.
+
+ @since OOo 3.0
+ */
+ [optional, property] boolean IsExecuteLinkEnabled;
+
+
+ /** contains the reference device used for formatting the document.
+
+ @since OOo 3.0
+ */
+ [readonly, optional, property] com::sun::star::awt::XDevice ReferenceDevice;
+
+ /** specifies whether changes record is enabled.
+
+ <p>No modification applied if the record changes protection is activated
+ information given by SpreadsheetDocumentSettings::IsRecordChangesProtected</p>
+
+ @since LibreOffice 5.0
+ */
+ [optional, property] boolean RecordChanges;
+
+ /** specifies whether changes record is protected.
+
+ @since LibreOffice 5.0
+ */
+ [readonly,optional, property] boolean IsRecordChangesProtected;
+
+
+ /** specifies whether wildcards in formulas are enabled,
+ e.g., for functions which look up spreadsheet contents.
+
+ <p>Wildcards and RegularExpressions are mutually exclusive, only
+ one can have the value `TRUE`. If both are set to `TRUE` via API
+ calls then the last one set takes precedence.</p>
+
+ @since LibreOffice 5.2
+ */
+ [optional, property] boolean Wildcards;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl b/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl
new file mode 100644
index 000000000..01fb918e3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetDrawPage.idl
@@ -0,0 +1,75 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_SpreadsheetDrawPage_idl__
+#define __com_sun_star_sheet_SpreadsheetDrawPage_idl__
+
+#include <com/sun/star/drawing/XDrawPage.idl>
+#include <com/sun/star/drawing/XShapeGrouper.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** This abstract service is implemented by every page of a
+ SpreadsheetDocument.
+
+ Example: create and insert a couple of com::sun::star::drawing::LineShapes:
+
+ @code{.bas}
+ xPage = xDoc.DrawPages(0)
+ for x% = 0 to 200
+ xShape = xProv.createInstance( "com.sun.star.drawing.LineShape" )
+ xShape.LineColor = rgb( 255, 0, n%+20 )
+ xShape.LineWidth = 20
+ xShape.Position = Point( x%, 2*x% )
+ xShape.Size = Size( 300-x%, 20 )
+ xPage.add( xShape )
+ next x%
+ @endcode
+
+ @since OOo 1.1.2
+ */
+published service SpreadsheetDrawPage
+{
+
+
+ /** manages the com::sun::star::drawing::Shapes of this page.
+
+ <p>It also lets you add new com::sun::star::drawing::Shapes. The program currently
+ requires that these com::sun::star::drawing::Shapes be created by the factory of
+ the document.
+
+ @see SpreadsheetDocument
+ */
+ interface com::sun::star::drawing::XDrawPage;
+
+
+ /** With this interface you can group/ungroup a collection of
+ com::sun::star::drawing::Shapes.
+ */
+ interface com::sun::star::drawing::XShapeGrouper;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetView.idl b/offapi/com/sun/star/sheet/SpreadsheetView.idl
new file mode 100644
index 000000000..864c97307
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetView.idl
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_SpreadsheetView_idl__
+#define __com_sun_star_sheet_SpreadsheetView_idl__
+
+#include <com/sun/star/frame/Controller.idl>
+#include <com/sun/star/sheet/SpreadsheetViewSettings.idl>
+#include <com/sun/star/sheet/SpreadsheetViewPane.idl>
+#include <com/sun/star/sheet/XSpreadsheetView.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/view/XSelectionSupplier.idl>
+#include <com/sun/star/sheet/XViewSplitable.idl>
+#include <com/sun/star/sheet/XViewFreezable.idl>
+#include <com/sun/star/sheet/XRangeSelection.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/sheet/XActivationBroadcaster.idl>
+#include <com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** represents a view of a spreadsheet document.
+ */
+published service SpreadsheetView
+{
+ /** provides the integration into the framework.
+ */
+ service com::sun::star::frame::Controller;
+
+ /** provides the view's settings.
+ */
+ service com::sun::star::sheet::SpreadsheetViewSettings;
+
+ /** provides direct access to the view's active pane.
+ */
+ service com::sun::star::sheet::SpreadsheetViewPane;
+
+ /** provides access to the active sheet in the view.
+ */
+ interface com::sun::star::sheet::XSpreadsheetView;
+
+ /** provides access to the collection of view panes.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+ /** creates an enumeration of view panes.
+
+ @see com::sun::star::sheet::SpreadsheetViewPanesEnumeration
+
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** provides access to the view's selection.
+ <p>The selection in a spreadsheet view can be a
+ com::sun::star::sheet::SheetCell,
+ com::sun::star::sheet::SheetCellRange,
+ com::sun::star::sheet::SheetCellRanges,
+ com::sun::star::drawing::Shape or
+ com::sun::star::drawing::Shapes object.
+ </p>
+ */
+ interface com::sun::star::view::XSelectionSupplier;
+
+ /** allows to split the view.
+ */
+ interface com::sun::star::sheet::XViewSplitable;
+
+ /** allows to freeze columns and rows of the view.
+ */
+ interface com::sun::star::sheet::XViewFreezable;
+
+ /** allows to let the user interactively select a cell range.
+ */
+ interface com::sun::star::sheet::XRangeSelection;
+
+ [optional] interface com::sun::star::sheet::XEnhancedMouseClickBroadcaster;
+
+ [optional] interface com::sun::star::sheet::XActivationBroadcaster;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
new file mode 100644
index 000000000..ea157c1cb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewObjectsMode.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewObjectsMode_idl__
+#define __com_sun_star_sheet_SpreadsheetViewObjectsMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Constants that control how embedded objects are shown in the view.
+ */
+published constants SpreadsheetViewObjectsMode
+{
+
+ /** Specifies to display a specific set of objects in the spreadsheet view.
+ */
+ const short SHOW = 0;
+
+
+ /** Specifies to hide a specific set of objects from the spreadsheet view.
+ */
+ const short HIDE = 1;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl b/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl
new file mode 100644
index 000000000..db4cdd2e1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewPane.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_SpreadsheetViewPane_idl__
+#define __com_sun_star_sheet_SpreadsheetViewPane_idl__
+
+#include <com/sun/star/sheet/XViewPane.idl>
+
+#include <com/sun/star/sheet/XCellRangeReferrer.idl>
+
+#include <com/sun/star/view/XControlAccess.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** represents a single pane in a view of a spreadsheet document.
+ */
+published service SpreadsheetViewPane
+{
+ /** allows to control which cells are shown in the view pane.
+ */
+ interface com::sun::star::sheet::XViewPane;
+
+ /** gives direct access to the cell range object for the visible range.
+ */
+ interface com::sun::star::sheet::XCellRangeReferrer;
+
+ /** provides access to a control model's control for the view pane.
+ */
+ [optional] interface com::sun::star::view::XControlAccess;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl b/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl
new file mode 100644
index 000000000..30ea1c71f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewPanesEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewPanesEnumeration_idl__
+#define __com_sun_star_sheet_SpreadsheetViewPanesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of spreadsheet view panes.
+
+ @see com::sun::star::sheet::SpreadsheetViewPane
+ */
+published service SpreadsheetViewPanesEnumeration
+{
+
+ /** provides methods to access the spreadsheet view panes in the enumeration.
+
+ @see com::sun::star::sheet::SpreadsheetViewPane
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
new file mode 100644
index 000000000..69da69013
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetViewSettings.idl
@@ -0,0 +1,169 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SpreadsheetViewSettings_idl__
+#define __com_sun_star_sheet_SpreadsheetViewSettings_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+
+#include <com/sun/star/util/Color.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains settings which are specific to each view of a spreadsheet
+ */
+published service SpreadsheetViewSettings
+{
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** controls whether formulas are displayed instead of their
+ results.
+ */
+ [property] boolean ShowFormulas;
+
+
+ /** enables display of zero-values.
+ */
+ [property] boolean ShowZeroValues;
+
+
+ /** controls whether strings, values, and formulas are
+ displayed in different colors.
+ */
+ [property] boolean IsValueHighlightingEnabled;
+
+
+ /** controls whether a marker is shown for notes in cells.
+ */
+ [property] boolean ShowNotes;
+
+
+ /** enables the vertical scroll bar of the view.
+ */
+ [property] boolean HasVerticalScrollBar;
+
+
+ /** enables the horizontal scroll bar of the view.
+ */
+ [property] boolean HasHorizontalScrollBar;
+
+
+ /** enables the sheet tabs of the view.
+ */
+ [property] boolean HasSheetTabs;
+
+
+ /** enables the display of outline symbols.
+ */
+ [property] boolean IsOutlineSymbolsSet;
+
+
+ /** enables the column and row headers of the view.
+ */
+ [property] boolean HasColumnRowHeaders;
+
+
+ /** enables the display of the cell grid.
+ */
+ [property] boolean ShowGrid;
+
+
+ /** specifies the color in which the cell grid is
+ displayed.
+ */
+ [property] com::sun::star::util::Color GridColor;
+
+
+ /** enables display of help lines when moving drawing
+ objects.
+ */
+ [property] boolean ShowHelpLines;
+
+
+ /** enables display of anchor symbols when drawing
+ objects are selected.
+ */
+ [property] boolean ShowAnchor;
+
+
+ /** enables display of page breaks.
+ */
+ [property] boolean ShowPageBreaks;
+
+
+ /** enables display of embedded objects in the view.
+
+ @see SpreadsheetViewObjectsMode
+ */
+ [property] short ShowObjects;
+
+
+ /** enables the display of charts in the view.
+
+ @see SpreadsheetViewObjectsMode
+ */
+ [property] short ShowCharts;
+
+
+ /** enables the display of drawing objects in the view.
+
+ @see SpreadsheetViewObjectsMode
+ */
+ [property] short ShowDrawing;
+
+
+ /** disables the display of marks from online spelling.
+
+ @deprecated
+ */
+ [property] boolean HideSpellMarks;
+
+
+ /** This property defines the zoom type for the document.
+
+ @see com::sun::star::view::DocumentZoomType
+ */
+ [property] short ZoomType;
+
+
+ /** Defines the zoom value to use.
+ Valid only if the ZoomType is set to
+ com::sun::star::view::DocumentZoomType::BY_VALUE.
+ */
+ [property] short ZoomValue;
+
+ /** Number of lines shown in the Formula bar
+ Default is 1, maximum value is 25.
+
+ @since LibreOffice 7.4
+ */
+ [optional, property] short FormulaBarHeight;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/Spreadsheets.idl b/offapi/com/sun/star/sheet/Spreadsheets.idl
new file mode 100644
index 000000000..6c6971564
--- /dev/null
+++ b/offapi/com/sun/star/sheet/Spreadsheets.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_Spreadsheets_idl__
+#define __com_sun_star_sheet_Spreadsheets_idl__
+
+#include <com/sun/star/sheet/XSpreadsheets.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/sheet/XCellRangesAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the collection of spreadsheets in a spreadsheet document.
+
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published service Spreadsheets
+{
+
+ /** provides methods to access the spreadsheets by name and to insert,
+ copy, remove and rearrange spreadsheets.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+ interface com::sun::star::sheet::XSpreadsheets;
+
+
+ /** provides methods to access the spreadsheets by index.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all spreadsheets.
+
+ @see com::sun::star::sheet::SpreadsheetsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ [optional] interface com::sun::star::sheet::XCellRangesAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl b/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl
new file mode 100644
index 000000000..33885fe37
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SpreadsheetsEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SpreadsheetsEnumeration_idl__
+#define __com_sun_star_sheet_SpreadsheetsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of spreadsheets in a spreadsheet document.
+
+ @see com::sun::star::sheet::Spreadsheets
+ */
+published service SpreadsheetsEnumeration
+{
+
+ /** provides methods to access the spreadsheets in the enumeration.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/StatusBarFunction.idl b/offapi/com/sun/star/sheet/StatusBarFunction.idl
new file mode 100644
index 000000000..df8281445
--- /dev/null
+++ b/offapi/com/sun/star/sheet/StatusBarFunction.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_StatusBarFunction_idl__
+#define __com_sun_star_sheet_StatusBarFunction_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify the function used to calculate a result in the
+ spreadsheet's status bar.
+ */
+published constants StatusBarFunction
+{
+
+ /** nothing is calculated.
+ */
+ const short NONE = 0;
+
+
+ /** average of all numerical values is calculated.
+ */
+ const short AVERAGE = 1;
+
+
+ /** all values, including non-numerical values, are counted.
+ */
+ const short COUNTNUMS = 2;
+
+
+ /** numerical values are counted.
+ */
+ const short COUNT = 3;
+
+
+ /** maximum value of all numerical values is calculated.
+ */
+ const short MAX = 4;
+
+
+ /** minimum value of all numerical values is calculated.
+ */
+ const short MIN = 5;
+
+
+ /** sum of all numerical values is calculated.
+ */
+ const short SUM = 9;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SubTotalColumn.idl b/offapi/com/sun/star/sheet/SubTotalColumn.idl
new file mode 100644
index 000000000..c8ef8e358
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalColumn.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SubTotalColumn_idl__
+#define __com_sun_star_sheet_SubTotalColumn_idl__
+
+#include <com/sun/star/sheet/GeneralFunction.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes how a single data column is treated when creating subtotals.
+
+ @see com::sun::star::sheet::SubTotalDescriptor
+ */
+published struct SubTotalColumn
+{
+
+ /** the index of the column inside the source data area.
+ */
+ long Column;
+
+
+ /** specifies what kind of subtotals are calculated.
+ */
+ com::sun::star::sheet::GeneralFunction Function;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SubTotalDescriptor.idl b/offapi/com/sun/star/sheet/SubTotalDescriptor.idl
new file mode 100644
index 000000000..1811a6f04
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalDescriptor.idl
@@ -0,0 +1,119 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SubTotalDescriptor_idl__
+#define __com_sun_star_sheet_SubTotalDescriptor_idl__
+
+#include <com/sun/star/sheet/XSubTotalDescriptor.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a description of how subtotals are created.
+
+ <p>The descriptor contains properties and a collection of subtotal fields
+ which control the behavior of operation.</p>
+ */
+published service SubTotalDescriptor
+{
+
+ /** provides access to the collection of subtotal fields.
+ */
+ interface com::sun::star::sheet::XSubTotalDescriptor;
+
+
+ /** creates an enumeration of all sub total fields.
+
+ @see com::sun::star::sheet::SubTotalFieldsEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides access to the sub total fields in the collection via index.
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+//!published service PropertySet
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies if page breaks are inserted after each group change.
+ */
+ [property] boolean InsertPageBreaks;
+
+
+ /** specifies if the case of letters is important when comparing entries.
+ */
+ [property] boolean IsCaseSensitive;
+
+
+ /** specifies if a user defined sorting list is used.
+ */
+ [property] boolean EnableUserSortList;
+
+
+ /** specifies which user defined sorting list is used.
+
+ <p>This property is only used if
+ SubTotalDescriptor::EnableUserSortList
+ is `TRUE`.</p>
+ */
+ [property] long UserSortListIndex;
+
+
+ /** specifies if cell formats are moved with the contents they belong to.
+ */
+ [property] boolean BindFormatsToContent;
+
+
+ /** specifies if the contents of the fields will be sorted to groups
+ while performing a subtotal operation.
+ */
+ [property] boolean EnableSort;
+
+
+ /** specifies the sorting order if
+ SubTotalDescriptor::EnableSort is set to `TRUE`.
+ */
+ [property] boolean SortAscending;
+
+
+ /** returns the maximum number of subtotal fields the descriptor can
+ hold.
+
+ <p>This read-only property indicates the maximum count of fields the
+ current implementation supports.</p>
+ */
+ [readonly, property] long MaxFieldCount;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SubTotalField.idl b/offapi/com/sun/star/sheet/SubTotalField.idl
new file mode 100644
index 000000000..5409c5a7c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalField.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SubTotalField_idl__
+#define __com_sun_star_sheet_SubTotalField_idl__
+
+#include <com/sun/star/sheet/XSubTotalField.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a single field in a subtotal descriptor.
+
+ <p>A subtotal field contains all columns for which subtotal values
+ will be calculated and the column used to create subtotal groups.
+
+ @see com::sun::star::sheet::SubTotalDescriptor
+ */
+published service SubTotalField
+{
+
+ /** provides access to the settings of the subtotal field.
+ */
+ interface com::sun::star::sheet::XSubTotalField;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl b/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl
new file mode 100644
index 000000000..309dcfb81
--- /dev/null
+++ b/offapi/com/sun/star/sheet/SubTotalFieldsEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_SubTotalFieldsEnumeration_idl__
+#define __com_sun_star_sheet_SubTotalFieldsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of sub total fields.
+
+ @see com::sun::star::sheet::SubTotalField
+ */
+published service SubTotalFieldsEnumeration
+{
+
+ /** provides methods to access the sub total fields in the enumeration.
+
+ @see com::sun::star::sheet::SubTotalField
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableAutoFormat.idl b/offapi/com/sun/star/sheet/TableAutoFormat.idl
new file mode 100644
index 000000000..6eda428bc
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormat.idl
@@ -0,0 +1,110 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableAutoFormat_idl__
+#define __com_sun_star_sheet_TableAutoFormat_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an AutoFormat, containing exactly 16 AutoFormat fields.
+
+ <p>Each of the 16 fields contain formatting properties for a table
+ cell at a specific position in the AutoFormat range. The rows of the
+ range are divided into a header row, a footer row and 2 data rows
+ (repeated in turn between header and footer row). The columns are
+ divided similar. This results in 16 different types of cells in the
+ range. The AutoFormats are numbered row by row, then column by column.</p>
+
+ @see com::sun::star::sheet::TableAutoFormatField
+ */
+published service TableAutoFormat
+{
+
+//! service com::sun::star::beans::PropertySet;
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** provides methods to access the AutoFormat fields via index.
+
+ @see com::sun::star::sheet::TableAutoFormatField
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all 16 AutoFormat fields.
+
+ @see com::sun::star::sheet::TableAutoFormatEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides methods to access the name of the AutoFormat.
+ */
+ interface com::sun::star::container::XNamed;
+
+
+ /** specifies whether the font settings from the fields are used.
+ */
+ [property] boolean IncludeFont;
+
+
+ /** specifies whether the justification settings from the fields
+ are used.
+ */
+ [property] boolean IncludeJustify;
+
+
+ /** specifies whether the border settings from the fields are used.
+ */
+ [property] boolean IncludeBorder;
+
+
+ /** specifies whether the background settings from the fields are used.
+ */
+ [property] boolean IncludeBackground;
+
+
+ /** specifies whether the number format settings from the fields
+ are used.
+ */
+ [property] boolean IncludeNumberFormat;
+
+
+ /** specifies whether the column widths and row heights should be
+ updated after applying the format.
+ */
+ [property] boolean IncludeWidthAndHeight;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl b/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl
new file mode 100644
index 000000000..9d68a1c4c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormatEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableAutoFormatEnumeration_idl__
+#define __com_sun_star_sheet_TableAutoFormatEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of AutoFormat fields in an AutoFormat.
+
+ @see com::sun::star::sheet::TableAutoFormat
+ */
+published service TableAutoFormatEnumeration
+{
+
+ /** provides methods to access the AutoFormat fields in the enumeration.
+
+ @see com::sun::star::sheet::TableAutoFormatField
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableAutoFormatField.idl b/offapi/com/sun/star/sheet/TableAutoFormatField.idl
new file mode 100644
index 000000000..f93c9abfd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormatField.idl
@@ -0,0 +1,282 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableAutoFormatField_idl__
+#define __com_sun_star_sheet_TableAutoFormatField_idl__
+
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/util/Color.idl>
+#include <com/sun/star/lang/Locale.idl>
+#include <com/sun/star/awt/FontSlant.idl>
+#include <com/sun/star/table/ShadowFormat.idl>
+#include <com/sun/star/table/CellHoriJustify.idl>
+#include <com/sun/star/table/CellVertJustify.idl>
+#include <com/sun/star/table/CellOrientation.idl>
+#include <com/sun/star/table/TableBorder.idl>
+#include <com/sun/star/table/TableBorder2.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a field in an AutoFormat. A field contains all cell
+ properties for a specific position in an AutoFormat.
+ */
+published service TableAutoFormatField
+{
+
+//! service com::sun::star::beans::PropertySet;
+ /** provides access to the properties.
+ */
+ interface com::sun::star::beans::XPropertySet;
+
+
+ /** specifies the name of the western font.
+ */
+ [property] string CharFontName;
+
+ /** specifies the name of the Asian font.
+ */
+ [optional, property] string CharFontNameAsian;
+
+ /** specifies the name of the complex font.
+ */
+ [optional, property] string CharFontNameComplex;
+
+
+ /** specifies the name of the western font style.
+ */
+ [property] string CharFontStyleName;
+
+ /** specifies the name of the Asian font style.
+ */
+ [optional, property] string CharFontStyleNameAsian;
+
+ /** specifies the name of the complex font style.
+ */
+ [optional, property] string CharFontStyleNameComplex;
+
+
+ /** contains the value of the character set of the western font.
+ */
+ [property] string CharFontCharSet;
+
+ /** contains the value of the character set of the Asian font.
+ */
+ [optional, property] string CharFontCharSetAsian;
+
+ /** contains the value of the character set of the complex font.
+ */
+ [optional, property] string CharFontCharSetComplex;
+
+
+ /** contains the value of the western font family.
+ */
+ [property] string CharFontFamily;
+
+ /** contains the value of the Asian font family.
+ */
+ [optional, property] string CharFontFamilyAsian;
+
+ /** contains the value of the complex font family.
+ */
+ [optional, property] string CharFontFamilyComplex;
+
+
+ /** contains the value of the pitch of the western font.
+ */
+ [property] string CharFontPitch;
+
+ /** contains the value of the pitch of the Asian font.
+ */
+ [optional, property] string CharFontPitchAsian;
+
+ /** contains the value of the pitch of the complex font.
+ */
+ [optional, property] string CharFontPitchComplex;
+
+
+ /** contains the height of characters of the western font in point.
+ */
+ [property] float CharHeight;
+
+ /** contains the height of characters of the Asian font in point.
+ */
+ [optional, property] float CharHeightAsian;
+
+ /** contains the height of characters of the complex font in point.
+ */
+ [optional, property] float CharHeightComplex;
+
+
+ /** contains the value for the weight of characters of the western font.
+ */
+ [property] float CharWeight;
+
+ /** contains the value for the weight of characters of the Asian font.
+ */
+ [optional, property] float CharWeightAsian;
+
+ /** contains the value for the weight of characters of the complex font.
+ */
+ [optional, property] float CharWeightComplex;
+
+
+ /** contains the value of the posture of characters of the western font.
+ */
+ [property] com::sun::star::awt::FontSlant CharPosture;
+
+ /** contains the value of the posture of characters of the Asian font.
+ */
+ [optional, property] com::sun::star::awt::FontSlant CharPostureAsian;
+
+ /** contains the value of the posture of characters of the complex font.
+ */
+ [optional, property] com::sun::star::awt::FontSlant CharPostureComplex;
+
+
+ /** contains the value for the character underline.
+ */
+ [property] short CharUnderline;
+
+
+ /** is `TRUE` if the characters are crossed out.
+ */
+ [property] boolean CharCrossedOut;
+
+
+ /** is `TRUE` if the characters are contoured.
+ */
+ [property] boolean CharContoured;
+
+
+ /** is `TRUE` if the characters are shadowed.
+ */
+ [property] boolean CharShadowed;
+
+
+ /** contains the value of the text color.
+ */
+ [property] com::sun::star::util::Color CharColor;
+
+
+ /** contains the cell background color.
+ */
+ [property] com::sun::star::util::Color CellBackColor;
+
+
+ /** is `TRUE` if the cell background is transparent.
+
+ <p>In this case the TableAutoFormatField::CellBackColor
+ value is not used.</p>
+ */
+ [property] boolean IsCellBackgroundTransparent;
+
+
+ /** contains a description of the shadow.
+ */
+ [optional, property] com::sun::star::table::ShadowFormat ShadowFormat;
+
+
+ /** specifies the horizontal alignment of the cell contents.
+ */
+ [optional, property] com::sun::star::table::CellHoriJustify HoriJustify;
+
+
+ /** specifies the vertical alignment of the cell contents.
+
+ changed from com::sun::star::table::CellVertJustify to long in LibO 3.5
+
+ @see com::sun::star::table::CellVertJustify2
+ */
+ [optional, property] long VertJustify;
+
+
+ /** is `TRUE` if text breaks automatically at cell borders.
+ */
+ [optional, property] boolean IsTextWrapped;
+
+
+ /** contains the orientation of the cell contents
+ (i.e. top-to-bottom or stacked).
+ */
+ [optional, property] com::sun::star::table::CellOrientation Orientation;
+
+
+ /** contains the rotation angle of the cell contents.
+ */
+ [optional, property] long RotateAngle;
+
+
+ /** contains the reference edge of the cell rotation.
+
+ changed from com::sun::star::table::CellVertJustify to long in LibO 3.5
+
+ @see com::sun::star::table::CellVertJustify2
+ */
+ [optional, property] long RotateReference;
+
+
+ /** contains the margin between cell contents and top border
+ (in 1/100 mm).
+ */
+ [optional, property] long ParaTopMargin;
+
+
+ /** contains the margin between cell contents and bottom border
+ (in 1/100 mm).
+ */
+ [optional, property] long ParaBottomMargin;
+
+
+ /** contains the margin between cell contents and left border
+ (in 1/100 mm).
+ */
+ [optional, property] long ParaLeftMargin;
+
+
+ /** contains the margin between cell contents and right border
+ (in 1/100 mm).
+ */
+ [optional, property] long ParaRightMargin;
+
+
+ /** property containing a description of the cell border.
+
+ @since OOo 1.1.2
+ */
+ [optional, property] com::sun::star::table::TableBorder TableBorder;
+
+
+ /** property containing a description of the cell border.
+ Preferred over com::sun::star::table::TableBorder
+ #TableBorder.
+
+ @since LibreOffice 3.6
+ */
+ [optional, property] com::sun::star::table::TableBorder2 TableBorder2;
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableAutoFormats.idl b/offapi/com/sun/star/sheet/TableAutoFormats.idl
new file mode 100644
index 000000000..b50dd34cc
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormats.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableAutoFormats_idl__
+#define __com_sun_star_sheet_TableAutoFormats_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the collection of AutoFormats.
+
+ <p>There is only one instance of this collection, containing all
+ AutoFormats usable in spreadsheet and text tables.</p>
+ */
+published service TableAutoFormats
+{
+
+ /** provides methods to access, insert and remove AutoFormats via name.
+
+ @see com::sun::star::sheet::TableAutoFormat
+ */
+ interface com::sun::star::container::XNameContainer;
+
+
+ /** provides methods to access AutoFormats via index.
+
+ @see com::sun::star::sheet::TableAutoFormat
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all AutoFormats.
+
+ @see com::sun::star::sheet::TableAutoFormatEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl b/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl
new file mode 100644
index 000000000..017c75e01
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableAutoFormatsEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableAutoFormatsEnumeration_idl__
+#define __com_sun_star_sheet_TableAutoFormatsEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of AutoFormats.
+
+ @see com::sun::star::sheet::TableAutoFormats
+ */
+published service TableAutoFormatsEnumeration
+{
+
+ /** provides methods to access the AutoFormats in the enumeration.
+
+ @see com::sun::star::sheet::TableAutoFormat
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableCellStyle.idl b/offapi/com/sun/star/sheet/TableCellStyle.idl
new file mode 100644
index 000000000..47d6fd74f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableCellStyle.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableCellStyle_idl__
+#define __com_sun_star_sheet_TableCellStyle_idl__
+
+#include <com/sun/star/table/CellProperties.idl>
+#include <com/sun/star/style/CellStyle.idl>
+#include <com/sun/star/style/CharacterProperties.idl>
+#include <com/sun/star/style/CharacterPropertiesAsian.idl>
+#include <com/sun/star/style/CharacterPropertiesComplex.idl>
+#include <com/sun/star/style/ParagraphProperties.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains the properties of a table cell style.
+
+ <p>This service extends the service
+ com::sun::star::style::CellStyle with spreadsheet
+ specific properties.</p>
+ */
+published service TableCellStyle
+{
+
+ /** contributes cell specific properties.
+ */
+ service com::sun::star::table::CellProperties;
+
+
+ /** is the base service for table cells.
+ */
+ service com::sun::star::style::CellStyle;
+
+
+ /** contributes properties for character formatting of Western text.
+ */
+ service com::sun::star::style::CharacterProperties;
+
+
+ /** contributes properties for character formatting of Asian text.
+ */
+ service com::sun::star::style::CharacterPropertiesAsian;
+
+
+ /** contributes properties for character formatting of Complex text.
+ */
+ service com::sun::star::style::CharacterPropertiesComplex;
+
+
+ /** contributes properties for paragraph formatting.
+ */
+ service com::sun::star::style::ParagraphProperties;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableConditionalEntry.idl b/offapi/com/sun/star/sheet/TableConditionalEntry.idl
new file mode 100644
index 000000000..491ccc530
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableConditionalEntry.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableConditionalEntry_idl__
+#define __com_sun_star_sheet_TableConditionalEntry_idl__
+
+#include <com/sun/star/sheet/XSheetCondition.idl>
+#include <com/sun/star/sheet/XSheetConditionalEntry.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a single condition in a conditional format.
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+published service TableConditionalEntry
+{
+
+ /** provides methods to access the settings of this condition.
+ */
+ interface com::sun::star::sheet::XSheetCondition;
+
+
+ /** provides methods to access the cell style name for this condition.
+ */
+ interface com::sun::star::sheet::XSheetConditionalEntry;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl b/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl
new file mode 100644
index 000000000..dc508b134
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableConditionalEntryEnumeration.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableConditionalEntryEnumeration_idl__
+#define __com_sun_star_sheet_TableConditionalEntryEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of conditional entries.
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ */
+published service TableConditionalEntryEnumeration
+{
+
+ /** provides methods to access the conditional entries in the enumeration.
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableConditionalFormat.idl b/offapi/com/sun/star/sheet/TableConditionalFormat.idl
new file mode 100644
index 000000000..a1e7d8956
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableConditionalFormat.idl
@@ -0,0 +1,82 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableConditionalFormat_idl__
+#define __com_sun_star_sheet_TableConditionalFormat_idl__
+
+#include <com/sun/star/sheet/XSheetConditionalEntries.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of conditional formatting settings for a
+ cell or cell range.
+
+ <p>The style of the first fulfilled condition (in index order) will
+ be applied to the cell(s).</p>
+
+ @see com::sun::star::sheet::SheetCell
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published service TableConditionalFormat
+{
+
+ /** provides methods to insert and remove conditions and to access
+ the condition via index.
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ */
+ interface com::sun::star::sheet::XSheetConditionalEntries;
+
+
+ /** provides methods to access the condition via name.
+
+ <p>The name of a condition is "Entry", followed by its index
+ (i.e. Entry0, Entry1, ...).</p>
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ */
+ interface com::sun::star::container::XNameAccess;
+
+
+ /** creates an enumeration of all conditional entries.
+
+ @see com::sun::star::sheet::TableConditionalEntryEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** provides methods to access the contained conditional entries by index.
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableFilterField.idl b/offapi/com/sun/star/sheet/TableFilterField.idl
new file mode 100644
index 000000000..2f259ccbb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableFilterField.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableFilterField_idl__
+#define __com_sun_star_sheet_TableFilterField_idl__
+
+#include <com/sun/star/sheet/FilterConnection.idl>
+#include <com/sun/star/sheet/FilterOperator.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes a single condition in a filter descriptor.
+
+ @see SheetFilterDescriptor
+ */
+published struct TableFilterField
+{
+
+ /** specifies how the condition is connected to the previous condition.
+ */
+ FilterConnection Connection;
+
+
+ /** specifies which field (column) is used for the condition.
+ */
+ long Field;
+
+
+ /** specifies the type of the condition.
+ */
+ FilterOperator Operator;
+
+
+ /** selects whether the TableFilterField::NumericValue
+ or the TableFilterField::StringValue is used.
+ */
+ boolean IsNumeric;
+
+
+ /** specifies a numeric value for the condition.
+ */
+ double NumericValue;
+
+
+ /** specifies a string value for the condition.
+ */
+ string StringValue;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableFilterField2.idl b/offapi/com/sun/star/sheet/TableFilterField2.idl
new file mode 100644
index 000000000..7c3fcaba0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableFilterField2.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableFilterField2_idl__
+#define __com_sun_star_sheet_TableFilterField2_idl__
+
+#include <com/sun/star/sheet/FilterConnection.idl>
+#include <com/sun/star/sheet/FilterOperator2.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes a single condition in a filter descriptor.
+
+ <p>This struct has the FilterOperator2 constants group as
+ member, whereas the TableFilterField struct uses the
+ FilterOperator enum.</p>
+
+ @see SheetFilterDescriptor
+ @since OOo 3.2
+ */
+published struct TableFilterField2
+{
+
+ /** specifies how the condition is connected to the previous condition.
+ */
+ FilterConnection Connection;
+
+
+ /** specifies which field (column) is used for the condition.
+ */
+ long Field;
+
+
+ /** specifies the type of the condition as defined in
+ FilterOperator2.
+ */
+ long Operator;
+
+
+ /** selects whether the TableFilterField2::NumericValue
+ or the TableFilterField2::StringValue is used.
+ */
+ boolean IsNumeric;
+
+
+ /** specifies a numeric value for the condition.
+ */
+ double NumericValue;
+
+
+ /** specifies a string value for the condition.
+ */
+ string StringValue;
+
+};
+
+
+}; }; }; };
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableFilterField3.idl b/offapi/com/sun/star/sheet/TableFilterField3.idl
new file mode 100644
index 000000000..731fb76dd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableFilterField3.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_TableFilterField3_idl__
+#define __com_sun_star_sheet_TableFilterField3_idl__
+
+#include <com/sun/star/sheet/FilterConnection.idl>
+#include <com/sun/star/sheet/FilterOperator2.idl>
+#include <com/sun/star/sheet/FilterFieldValue.idl>
+
+module com { module sun { module star { module sheet {
+
+/**
+ * @since LibreOffice 3.5
+ */
+struct TableFilterField3
+{
+ /** specifies how the condition is connected to the previous condition.
+ */
+ FilterConnection Connection;
+
+ /** specifies which field (column) is used for the condition.
+ */
+ long Field;
+
+ /** specifies the type of the condition as defined in
+ FilterOperator2.
+ */
+ long Operator;
+
+ /** specifies values to match against. Each filter field may have one or
+ more values.*/
+ sequence<FilterFieldValue> Values;
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableOperationMode.idl b/offapi/com/sun/star/sheet/TableOperationMode.idl
new file mode 100644
index 000000000..20fd95004
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableOperationMode.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableOperationMode_idl__
+#define __com_sun_star_sheet_TableOperationMode_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify if a table operation is applied to
+ columns, rows, or both columns and rows.
+ */
+published enum TableOperationMode
+{
+
+ /** is applied to the columns.
+
+ <p>In this mode, the column contains values and the row
+ contains formulas.</p>
+ */
+ COLUMN,
+
+
+ /** is applied to the rows.
+
+ <p>In this mode, the row contains values and the column
+ contains formulas.</p>
+ */
+ ROW,
+
+
+ /** is applied to rows and columns.
+
+ <p>In this mode, the row and the column contain values. A formula
+ using both row and column values is specified separately.</p>
+ */
+ BOTH
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TablePageBreakData.idl b/offapi/com/sun/star/sheet/TablePageBreakData.idl
new file mode 100644
index 000000000..cd0ae3bfe
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TablePageBreakData.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TablePageBreakData_idl__
+#define __com_sun_star_sheet_TablePageBreakData_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** describes a page break in a spreadsheet.
+
+ @see com::sun::star::sheet::XSheetPageBreak
+ */
+published struct TablePageBreakData
+{
+
+ /** the position (column or row index) of the page break.
+ */
+ long Position;
+
+
+ /** is `TRUE` for a manual page break, `FALSE` for an automatic one.
+ */
+ boolean ManualBreak;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TablePageStyle.idl b/offapi/com/sun/star/sheet/TablePageStyle.idl
new file mode 100644
index 000000000..a4ecc9bdb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TablePageStyle.idl
@@ -0,0 +1,185 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TablePageStyle_idl__
+#define __com_sun_star_sheet_TablePageStyle_idl__
+
+#include <com/sun/star/style/PageStyle.idl>
+#include <com/sun/star/sheet/XHeaderFooterContent.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** represents a page style for a spreadsheet.
+
+ <p>This service extends the service
+ com::sun::star::style::PageStyle with spreadsheet
+ specific properties.</p>
+ */
+published service TablePageStyle
+{
+
+ /** contains all common page style properties.
+ */
+ service com::sun::star::style::PageStyle;
+
+
+ /** determines whether the table is centered horizontally on the page.
+ */
+ [property] boolean CenterHorizontally;
+
+
+ /** determines whether the table is centered vertically on the page.
+ */
+ [property] boolean CenterVertically;
+
+
+ /** enables printing of cell annotations.
+ */
+ [property] boolean PrintAnnotations;
+
+
+ /** enables printing of the cell grid.
+ */
+ [property] boolean PrintGrid;
+
+
+ /** enables printing of column and row headers.
+ */
+ [property] boolean PrintHeaders;
+
+
+ /** enables printing of charts.
+ */
+ [property] boolean PrintCharts;
+
+
+ /** enables printing of embedded objects.
+ */
+ [property] boolean PrintObjects;
+
+
+ /** enables printing of drawing objects.
+ */
+ [property] boolean PrintDrawing;
+
+
+ /** enables printing of formulas instead of their results.
+ */
+ [property] boolean PrintFormulas;
+
+
+ /** enables printing of zero-values.
+ */
+ [property] boolean PrintZeroValues;
+
+
+ /** specifies the print order for the pages within each sheet.
+
+ <p>If `TRUE`, the order for printing pages begins with
+ top-to-bottom, then continues with the next set of cell columns
+ to the right. If `FALSE`, the order for printing pages begins
+ with left-to-right, then continues with the next set of cell
+ rows to the bottom.</p>
+ */
+ [property] boolean PrintDownFirst;
+
+
+ /** contains the content of the header for left pages.
+
+ <p>After changing the header text contents, this property has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::HeaderFooterContent
+ */
+ [property] com::sun::star::sheet::XHeaderFooterContent LeftPageHeaderContent;
+
+
+ /** contains the content of the footer for left pages.
+
+ <p>After changing the footer text contents, this property has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::HeaderFooterContent
+ */
+ [property] com::sun::star::sheet::XHeaderFooterContent LeftPageFooterContent;
+
+
+ /** contains the content of the header for right pages.
+
+ <p>After changing the header text contents, this property has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::HeaderFooterContent
+ */
+ [property] com::sun::star::sheet::XHeaderFooterContent RightPageHeaderContent;
+
+
+ /** contains the content of the footer for right pages.
+
+ <p>After changing the footer text contents, this property has to be
+ reinserted into the property set.</p>
+
+ @see com::sun::star::sheet::HeaderFooterContent
+ */
+ [property] com::sun::star::sheet::XHeaderFooterContent RightPageFooterContent;
+
+
+ /** contains the page number applied to the first page for this sheet.
+
+ <p>The value 0 indicates that the page numbers are continued from
+ the previous sheet.</p>
+ */
+ [property] short FirstPageNumber;
+
+
+ /** contains the scaling factor (in percent) for printing the sheet.
+ */
+ [property] short PageScale;
+
+
+ /** contains the number of pages the sheet will printed.
+ */
+ [property] short ScaleToPages;
+
+
+ /** contains the number of horizontal pages the sheet will printed on.
+
+ @since OOo 2.0
+
+ */
+ [property, optional] short ScaleToPagesX;
+
+
+ /** contains the number of vertical pages the sheet will printed on.
+
+ @since OOo 2.0
+
+ */
+ [property, optional] short ScaleToPagesY;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableValidation.idl b/offapi/com/sun/star/sheet/TableValidation.idl
new file mode 100644
index 000000000..6a2943f32
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableValidation.idl
@@ -0,0 +1,117 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableValidation_idl__
+#define __com_sun_star_sheet_TableValidation_idl__
+
+#include <com/sun/star/sheet/XSheetCondition.idl>
+#include <com/sun/star/beans/XPropertySet.idl>
+#include <com/sun/star/sheet/ValidationType.idl>
+#include <com/sun/star/sheet/ValidationAlertStyle.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents the data validation settings for a cell or cell range.
+ */
+published service TableValidation
+{
+
+ interface com::sun::star::beans::XPropertySet;
+
+ interface com::sun::star::sheet::XSheetCondition;
+
+
+ /** specifies the type of validation.
+ */
+ [property] com::sun::star::sheet::ValidationType Type;
+
+
+ /** specifies if an input message is shown when the cursor is in a
+ cell with these validation settings.
+ */
+ [property] boolean ShowInputMessage;
+
+
+ /** specifies the title of the window showing the input message.
+
+ <p>This is only used if TableValidation::ShowInputMessage
+ is set to `TRUE`.</p>
+ */
+ [property] string InputTitle;
+
+
+ /** specifies the text of the input message.
+
+ <p>This is only used if TableValidation::ShowInputMessage
+ is set to `TRUE`.</p>
+ */
+ [property] string InputMessage;
+
+
+ /** specifies if an error message is displayed when invalid data
+ is entered.
+ */
+ [property] boolean ShowErrorMessage;
+
+
+ /** specifies the title of the window showing the error message.
+
+ <p>This is only used if TableValidation::ShowErrorMessage
+ is set to `TRUE`.</p>
+ */
+ [property] string ErrorTitle;
+
+
+ /** specifies the text of the error message.
+
+ <p>This is only used if TableValidation::ShowErrorMessage
+ is set to `TRUE`.</p>
+ */
+ [property] string ErrorMessage;
+
+
+ /** specifies if blank cells should be allowed.
+ */
+ [property] boolean IgnoreBlankCells;
+
+
+ /** specifies the style of the error message.
+
+ <p>This is used only if TableValidation::ShowErrorMessage
+ is set to `TRUE`.</p>
+ */
+ [property] com::sun::star::sheet::ValidationAlertStyle ErrorAlertStyle;
+
+
+ /** specifies if the list of possible values should be shown on the cell and how.
+
+ See also TableValidationVisibility
+ */
+ [optional,property] short ShowList;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/TableValidationVisibility.idl b/offapi/com/sun/star/sheet/TableValidationVisibility.idl
new file mode 100644
index 000000000..c7aeea051
--- /dev/null
+++ b/offapi/com/sun/star/sheet/TableValidationVisibility.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_TableValidationVisibility_idl__
+#define __com_sun_star_sheet_TableValidationVisibility_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** These constants specify whether and how a list of possible values
+ of a cell should be shown.
+ */
+constants TableValidationVisibility
+{
+
+ /** The List is not shown.
+ */
+ const short INVISIBLE = 0;
+
+
+ /** The List is shown unsorted.
+ */
+ const short UNSORTED = 1;
+
+
+ /** The List is shown sorted ascending.
+ */
+ const short SORTEDASCENDING = 2;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl b/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl
new file mode 100644
index 000000000..1536fd4e2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/UniqueCellFormatRanges.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_UniqueCellFormatRanges_idl__
+#define __com_sun_star_sheet_UniqueCellFormatRanges_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a collection of equal-formatted cell range collections.
+
+ <p>All cells inside a cell range collection (a member of this
+ collection) have the same formatting attributes.</p>
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ @see com::sun::star::sheet::CellFormatRanges
+ */
+published service UniqueCellFormatRanges
+{
+
+ /** provides methods to access the contained cell range
+ collections by index.
+
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+ interface com::sun::star::container::XIndexAccess;
+
+
+ /** creates an enumeration of all cell range collections.
+
+ @see com::sun::star::sheet::UniqueCellFormatRangesEnumeration
+ */
+ interface com::sun::star::container::XEnumerationAccess;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl b/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl
new file mode 100644
index 000000000..48ee0d01d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/UniqueCellFormatRangesEnumeration.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_UniqueCellFormatRangesEnumeration_idl__
+#define __com_sun_star_sheet_UniqueCellFormatRangesEnumeration_idl__
+
+#include <com/sun/star/container/XEnumeration.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents an enumeration of equal-formatted cell range collections.
+
+ @see com::sun::star::sheet::UniqueCellFormatRanges
+ */
+published service UniqueCellFormatRangesEnumeration
+{
+
+ /** provides methods to access the cell range collections
+ in the enumeration.
+
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+ interface com::sun::star::container::XEnumeration;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ValidationAlertStyle.idl b/offapi/com/sun/star/sheet/ValidationAlertStyle.idl
new file mode 100644
index 000000000..6508c0e99
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ValidationAlertStyle.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ValidationAlertStyle_idl__
+#define __com_sun_star_sheet_ValidationAlertStyle_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify how invalid cell contents are treated.
+ */
+published enum ValidationAlertStyle
+{
+
+ /** error message is shown and the change is rejected.
+ */
+ STOP,
+
+
+ /** warning message is shown and the user is asked whether the
+ change will be accepted (defaulted to "No").
+ */
+ WARNING,
+
+
+ /** information message is shown and the user is asked whether the
+ change will be accepted (defaulted to "Yes").
+ */
+ INFO,
+
+
+ /** macro is executed.
+ */
+ MACRO
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/ValidationType.idl b/offapi/com/sun/star/sheet/ValidationType.idl
new file mode 100644
index 000000000..7461ebc25
--- /dev/null
+++ b/offapi/com/sun/star/sheet/ValidationType.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_ValidationType_idl__
+#define __com_sun_star_sheet_ValidationType_idl__
+
+
+module com { module sun { module star { module sheet {
+
+
+/** used to specify which cell contents are treated as valid.
+ */
+published enum ValidationType
+{
+
+ /** any cell content is valid; no conditions are used.
+ */
+ ANY,
+
+
+ /** any whole number matching the specified condition is valid.
+ */
+ WHOLE,
+
+
+ /** any number matching the specified condition is valid.
+ */
+ DECIMAL,
+
+
+ /** any date value matching the specified condition is valid.
+ */
+ DATE,
+
+
+ /** any time value matching the specified condition is valid.
+ */
+ TIME,
+
+
+ /** string is valid if its length matches the specified condition.
+ */
+ TEXT_LEN,
+
+
+ /** Only strings from a specified list are valid.
+ */
+ LIST,
+
+
+ /** The specified formula determines which contents are valid.
+ */
+ CUSTOM
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/VolatileResult.idl b/offapi/com/sun/star/sheet/VolatileResult.idl
new file mode 100644
index 000000000..c4e15da1a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/VolatileResult.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_VolatileResult_idl__
+#define __com_sun_star_sheet_VolatileResult_idl__
+
+#include <com/sun/star/sheet/XVolatileResult.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a volatile function result.
+
+ <p>A volatile function result can change its value over time. The
+ XVolatileResult interface allows the addition of
+ listeners which are notified when the value changes.</p>
+
+ @see com::sun::star::sheet::AddIn
+ */
+published service VolatileResult
+{
+
+ /** provides handling with a volatile function result.
+ */
+ interface com::sun::star::sheet::XVolatileResult;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XActivationBroadcaster.idl b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl
new file mode 100644
index 000000000..30b497cfa
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XActivationBroadcaster.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XActivationBroadcaster_idl__
+#define __com_sun_star_sheet_XActivationBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XActivationEventListener.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to add and remove XActivationEventListener
+
+ @since OOo 2.0
+
+ */
+published interface XActivationBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** allows a component supporting the
+ XActivationEventListener interface to
+ register as listener. The component will be notified with a
+ ActivationEvent every time the active sheet
+ changes.</p>
+
+ @param aListener
+ the component that is to be added as listener
+
+ @see XActivationEventListener
+ @see ActivationEvent
+ */
+ void addActivationEventListener([in] com::sun::star::sheet::XActivationEventListener aListener);
+
+
+ /** removes a previously registered listener.
+
+ @param aListener
+ the component that is to be removed
+ */
+ void removeActivationEventListener( [in] com::sun::star::sheet::XActivationEventListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XActivationEventListener.idl b/offapi/com/sun/star/sheet/XActivationEventListener.idl
new file mode 100644
index 000000000..531339ca6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XActivationEventListener.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XActivationEventListener_idl__
+#define __com_sun_star_sheet_XActivationEventListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/sheet/ActivationEvent.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** makes it possible to receive events when the active spreadsheet changes.
+ */
+published interface XActivationEventListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called whenever data or a selection changed.
+
+ <p>This interface must be implemented by components that wish
+ to get notified of changes of the active Spreadsheet.
+ They can be registered at an XSpreadsheetViewEventProvider component.</p>
+
+ @param aEvent
+ the event that gives further information on which Spreadsheet is active now.
+
+ @see ActivationEvent
+ @see XSpreadsheetViewEventProvider
+
+ @since OOo 2.0
+
+ */
+ void activeSpreadsheetChanged( [in] com::sun::star::sheet::ActivationEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XAddIn.idl b/offapi/com/sun/star/sheet/XAddIn.idl
new file mode 100644
index 000000000..694c548f7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XAddIn.idl
@@ -0,0 +1,199 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XAddIn_idl__
+#define __com_sun_star_sheet_XAddIn_idl__
+
+#include <com/sun/star/lang/XLocalizable.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** gives access to function descriptions and user-visible names.
+ */
+published interface XAddIn: com::sun::star::lang::XLocalizable
+{
+
+ /** returns the internal function name for an user-visible name.
+
+ <p>The user-visible name of a function is the name shown to the
+ user. It may be translated to the current language of the AddIn,
+ so it is never stored in files. It should be a single word and is
+ used when entering or displaying formulas.</p>
+
+ <p>Attention: The method name contains a spelling error. Due to
+ compatibility reasons the name cannot be changed.</p>
+
+ @param aDisplayName
+ the user-visible name of a function.
+
+ @returns
+ the exact name of the method within its interface.
+
+ */
+ string getProgrammaticFuntionName( [in] string aDisplayName );
+
+
+ /** returns the user-visible function name for an internal name.
+
+ <p>The user-visible name of a function is the name shown to the
+ user. It may be translated to the current language of the AddIn,
+ so it is never stored in files. It should be a single word and is
+ used when entering or displaying formulas.</p>
+
+ @param aProgrammaticName
+ is the exact name of a method within its interface.
+
+ @returns
+ the user-visible name of the specified function.
+ */
+ string getDisplayFunctionName( [in] string aProgrammaticName );
+
+
+ /** returns the description of a function.
+
+ <p>The description is shown to the user when selecting functions.
+ It may be translated to the current language of the AddIn.</p>
+
+ @param aProgrammaticName
+ is the exact name of a method within its interface.
+
+ @returns
+ the description of the specified function.
+ */
+ string getFunctionDescription( [in] string aProgrammaticName );
+
+
+ /** returns the user-visible name of the specified argument.
+
+ <p>The argument name is shown to the user when prompting for
+ arguments. It should be a single word and may be translated
+ to the current language of the AddIn.</p>
+
+ @param aProgrammaticFunctionName
+ is the exact name of a method within its interface.
+
+ @param nArgument
+ the index of the argument (0-based).
+
+ @returns
+ the user-visible name of the specified argument.
+ */
+ string getDisplayArgumentName(
+ [in] string aProgrammaticFunctionName,
+ [in] long nArgument );
+
+
+ /** returns the description of the specified argument.
+
+ <p>The argument description is shown to the user when prompting
+ for arguments. It may be translated to the current language of
+ the AddIn.</p>
+
+ @param aProgrammaticFunctionName
+ is the exact name of a method within its interface.
+
+ @param nArgument
+ the index of the argument (0-based).
+
+ @returns
+ the description of the specified argument.
+ */
+ string getArgumentDescription(
+ [in] string aProgrammaticFunctionName,
+ [in] long nArgument );
+
+
+ /** returns the programmatic name of the category the function
+ belongs to.
+
+ <p>The category name is used to group similar functions together.
+ The programmatic category name should always be in English, it is
+ never shown to the user.
+ It should be one of the following names if the function falls into
+ the corresponding category.</p>
+
+ <dl>
+ <dt>Database</dt>
+ <dd>for functions that operate with data organized in tabular form
+ like databases.</dd>
+
+ <dt>Date&amp;Time</dt>
+ <dd>for functions that deal with date or time values.</dd>
+
+ <dt>Financial</dt>
+ <dd>for functions that solve financial problems.</dd>
+
+ <dt>Information</dt>
+ <dd>for functions that provide information about cells.</dd>
+
+ <dt>Logical</dt>
+ <dd>for functions that deal with logical expressions.</dd>
+
+ <dt>Mathematical</dt>
+ <dd>for mathematical functions.</dd>
+
+ <dt>Matrix</dt>
+ <dd>for matrix functions.</dd>
+
+ <dt>Statistical</dt>
+ <dd>for statistical functions.</dd>
+
+ <dt>Spreadsheet</dt>
+ <dd>for functions that deal with cell ranges.</dd>
+
+ <dt>Text</dt>
+ <dd>for functions that deal with text strings.</dd>
+
+ <dt>Add-In</dt>
+ <dd>for additional functions.</dd>
+ </dl>
+
+ @param aProgrammaticFunctionName
+ is the exact name of a method within its interface.
+
+ @returns
+ the category name the specified function belongs to.
+ */
+ string getProgrammaticCategoryName( [in] string aProgrammaticFunctionName );
+
+
+ /** returns the user-visible name of the category the function
+ belongs to.
+
+ <p>This is used when category names are shown to the user.</p>
+
+ @param aProgrammaticFunctionName
+ is the exact name of a method within its interface.
+
+ @returns
+ the user-visible category name the specified function
+ belongs to.
+ */
+ string getDisplayCategoryName( [in] string aProgrammaticFunctionName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XAreaLink.idl b/offapi/com/sun/star/sheet/XAreaLink.idl
new file mode 100644
index 000000000..70a677b39
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XAreaLink.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XAreaLink_idl__
+#define __com_sun_star_sheet_XAreaLink_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to change the settings of a linked cell range.
+
+ @see com::sun::star::sheet::CellAreaLink
+ */
+published interface XAreaLink: com::sun::star::uno::XInterface
+{
+
+ /** returns the source of the range within the source document.
+
+ <p>This can be the address of a cell or range in the form
+ "Sheet1.A1:C5", or the name of a named range or database range.</p>
+ */
+ string getSourceArea();
+
+
+ /** sets the source of the range within the source document.
+
+ <p>This can be the address of a cell or range in the form
+ "Sheet1.A1:C5", or the name of a named range or database range.</p>
+ */
+ void setSourceArea( [in] string aSourceArea );
+
+
+ /** returns the position of the linked range in the destination
+ document.
+ */
+ com::sun::star::table::CellRangeAddress getDestArea();
+
+
+ /** sets the position of the linked range in the destination document.
+ */
+ void setDestArea( [in] com::sun::star::table::CellRangeAddress aDestArea );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XAreaLinks.idl b/offapi/com/sun/star/sheet/XAreaLinks.idl
new file mode 100644
index 000000000..6d6215dd7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XAreaLinks.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XAreaLinks_idl__
+#define __com_sun_star_sheet_XAreaLinks_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access via index to a collection of area links and inserting
+ and removing area links.
+
+ @see com::sun::star::sheet::CellAreaLinks
+ @see com::sun::star::sheet::CellAreaLink
+ */
+published interface XAreaLinks: com::sun::star::container::XIndexAccess
+{
+
+ /** creates an area link and adds it to the collection.
+
+ @param aDestPos
+ the address of the first cell of the range inside the current
+ document.
+
+ @param aFileName
+ the URL of the source document.
+
+ @param aSourceArea
+ the name of the range in the source document.
+
+ <p>This can be the address of a cell or range in the form
+ "Sheet1.A1:C5", or the name of a named range or database range.</p>
+
+ @param aFilter
+ the name of the filter used to load the source document.
+
+ @param aFilterOptions
+ optional filter options for the specified filter.
+ */
+ void insertAtPosition( [in] com::sun::star::table::CellAddress aDestPos,
+ [in] string aFileName,
+ [in] string aSourceArea,
+ [in] string aFilter,
+ [in] string aFilterOptions );
+
+
+ /** removes an area link from the collection.
+ */
+ void removeByIndex( [in] long nIndex );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XArrayFormulaRange.idl b/offapi/com/sun/star/sheet/XArrayFormulaRange.idl
new file mode 100644
index 000000000..d3ed4ba0a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XArrayFormulaRange.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XArrayFormulaRange_idl__
+#define __com_sun_star_sheet_XArrayFormulaRange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides handling of array formulas in a cell range.
+ */
+published interface XArrayFormulaRange: com::sun::star::uno::XInterface
+{
+
+ /** returns the array formula of the range or an empty string, if the
+ range does not contain an array formula.
+ */
+ string getArrayFormula();
+
+
+ /** applies the array formula to the entire cell range.
+
+ @param aFormula
+ the formula that will be applied as array formula. Passing an
+ empty string erases an existing array formula.
+ */
+ void setArrayFormula( [in] string aFormula );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl b/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl
new file mode 100644
index 000000000..47e3a5be5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XArrayFormulaTokens.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XArrayFormulaTokens_idl__
+#define __com_sun_star_sheet_XArrayFormulaTokens_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/FormulaToken.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** gives access to an array formula as token sequence.
+ */
+interface XArrayFormulaTokens
+{
+
+ /** returns the array formula as sequence of tokens.
+ */
+ sequence< FormulaToken > getArrayTokens();
+
+
+ /** sets the array formula as sequence of tokens.
+ */
+ void setArrayTokens( [in] sequence< FormulaToken > aTokens );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCalculatable.idl b/offapi/com/sun/star/sheet/XCalculatable.idl
new file mode 100644
index 000000000..6fc192ae9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCalculatable.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCalculatable_idl__
+#define __com_sun_star_sheet_XCalculatable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents something that can recalculate.
+ */
+published interface XCalculatable: com::sun::star::uno::XInterface
+{
+
+ /** recalculates all dirty cells.
+
+ <p>This calculates all formula cells which have not yet been
+ calculated after their precedents have changed.</p>
+ */
+ void calculate();
+
+
+ /** recalculates all cells.
+ */
+ void calculateAll();
+
+
+ /** returns whether automatic calculation is enabled.
+
+ <p>With automatic calculation, each formula cell is recalculated
+ whenever its value is needed after its precedents have changed.
+ The value is needed if the cell is displayed or used in another
+ calculation.</p>
+
+ @returns
+ `TRUE`, if automatic calculation is enabled.
+ */
+ boolean isAutomaticCalculationEnabled();
+
+
+ /** enables automatic calculation.
+
+ <p>With automatic calculation, each formula cell is recalculated
+ whenever its value is needed after its precedents have changed.
+ The value is needed if the cell is displayed or used in another
+ calculation.</p>
+
+ @param bEnabled
+ `TRUE` to enable automatic calculation, `FALSE` to disable.
+ */
+ void enableAutomaticCalculation( [in] boolean bEnabled );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellAddressable.idl b/offapi/com/sun/star/sheet/XCellAddressable.idl
new file mode 100644
index 000000000..68df2404c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellAddressable.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellAddressable_idl__
+#define __com_sun_star_sheet_XCellAddressable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a cell which can be addressed with a
+ com::sun::star::table::CellAddress.
+ */
+published interface XCellAddressable: com::sun::star::uno::XInterface
+{
+
+ /** returns the address of the cell in the spreadsheet document.
+
+ <p>The com::sun::star::table::CellAddress
+ can be used to address the cell within its document.</p>
+ */
+ com::sun::star::table::CellAddress getCellAddress();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl b/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl
new file mode 100644
index 000000000..03e38903e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellFormatRangesSupplier.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellFormatRangesSupplier_idl__
+#define __com_sun_star_sheet_XCellFormatRangesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a collection of equal-formatted cell ranges.
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published interface XCellFormatRangesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns a collection of equal-formatted cell ranges.
+
+ <p>Each cell of the original range is contained in one of the
+ ranges (even unformatted cells). If there is a non-rectangular
+ equal-formatted cell area, it will be split into several
+ rectangular ranges.</p>
+
+ @returns
+ the collection of equal-formatted cell ranges.
+
+ @see com::sun::star::sheet::CellFormatRanges
+ */
+ com::sun::star::container::XIndexAccess getCellFormatRanges();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellRangeAddressable.idl b/offapi/com/sun/star/sheet/XCellRangeAddressable.idl
new file mode 100644
index 000000000..973c69d73
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeAddressable.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellRangeAddressable_idl__
+#define __com_sun_star_sheet_XCellRangeAddressable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a cell which can be addressed with a
+ com::sun::star::table::CellRangeAddress.
+ */
+published interface XCellRangeAddressable: com::sun::star::uno::XInterface
+{
+
+ /** returns the address of the cell range in the spreadsheet document.
+
+ <p>The com::sun::star::table::CellRangeAddress
+ can be used to address the range within its document.</p>
+ */
+ com::sun::star::table::CellRangeAddress getRangeAddress();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellRangeData.idl b/offapi/com/sun/star/sheet/XCellRangeData.idl
new file mode 100644
index 000000000..e9c6b225b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeData.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XCellRangeData_idl__
+#define __com_sun_star_sheet_XCellRangeData_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module sheet {
+
+
+/** allows to get and set an array of data from a cell range.
+ <p>The outer sequence represents the rows and the inner sequence
+ the columns of the array.</p>
+ */
+
+published interface XCellRangeData: com::sun::star::uno::XInterface
+{
+ /** gets an array from the contents of the cell range.
+
+ <p>Each element of the result contains a `double`
+ or a `string`.</p>
+ */
+ sequence< sequence< any > > getDataArray();
+
+ /** fills the cell range with values from an array.
+
+ <p>The size of the array must be the same as the size of the cell
+ range. Each element of the array must contain a `double`
+ or a `string`.</p>
+
+ @throws com::sun::star::uno::RuntimeException
+ If the size of the array is different from the current size.
+ */
+ void setDataArray( [in] sequence< sequence< any > > aArray );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellRangeFormula.idl b/offapi/com/sun/star/sheet/XCellRangeFormula.idl
new file mode 100644
index 000000000..0b8626c69
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeFormula.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellRangeFormula_idl__
+#define __com_sun_star_sheet_XCellRangeFormula_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** allows to get and set cell contents (values, text or formulas)
+ for a cell range.
+
+ <p>The outer sequence represents the rows and the inner sequence
+ the columns of the array.</p>
+
+ @since OOo 1.1.2
+ */
+
+published interface XCellRangeFormula: com::sun::star::uno::XInterface
+{
+ /** gets an array from the contents of the cell range.
+
+ <p>Each element of the result contains the same string that
+ would be returned by
+ com::sun::star::table::XCell::getFormula()
+ for the corresponding cell.</p>
+ */
+ sequence< sequence< string > > getFormulaArray();
+
+ /** fills the cell range with values from an array.
+
+ <p>The size of the array must be the same as the size of the cell
+ range. Each element of the array is interpreted the same way as
+ the argument to a
+ com::sun::star::table::XCell::setFormula()
+ call for the corresponding cell.</p>
+
+ @throws com::sun::star::uno::RuntimeException
+ If the size of the array is different from the current size.
+ */
+ void setFormulaArray( [in] sequence< sequence< string > > aArray );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellRangeMovement.idl b/offapi/com/sun/star/sheet/XCellRangeMovement.idl
new file mode 100644
index 000000000..249c5e491
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeMovement.idl
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellRangeMovement_idl__
+#define __com_sun_star_sheet_XCellRangeMovement_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/sheet/CellInsertMode.idl>
+#include <com/sun/star/sheet/CellDeleteMode.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods for moving ranges of cells in a sheet.
+ */
+published interface XCellRangeMovement: com::sun::star::uno::XInterface
+{
+
+ /** inserts cells, moving other cells down or right.
+
+ <p>Non-empty cells cannot be moved off the sheet.</p>
+
+ @param aRange
+ the cell range in which empty cells will be inserted.
+
+ @param nMode
+ describes how to move existing cells.
+ */
+ void insertCells(
+ [in] com::sun::star::table::CellRangeAddress aRange,
+ [in] com::sun::star::sheet::CellInsertMode nMode );
+
+
+ /** deletes cells, moving other cells up or left.
+
+ @param aRange
+ the cell range to remove.
+
+ @param nMode
+ describes how to move following cells.
+ */
+ void removeRange(
+ [in] com::sun::star::table::CellRangeAddress aRange,
+ [in] com::sun::star::sheet::CellDeleteMode nMode );
+
+
+ /** moves a cell range to another position in the document.
+
+ <p>After copying the contents of the cell range, all cells
+ will be cleared.</p>
+
+ @param aDestination
+ the address of the top left cell of the destination range.
+
+ @param aSource
+ the cell range which will be copied.
+ */
+ void moveRange(
+ [in] com::sun::star::table::CellAddress aDestination,
+ [in] com::sun::star::table::CellRangeAddress aSource );
+
+
+ /** copies a cell range to another position in the document.
+
+ <p>The source cell range keeps unchanged.</p>
+
+ @param aDestination
+ the address of the top left cell of the destination range.
+
+ @param aSource
+ the cell range which will be copied.
+ */
+ void copyRange(
+ [in] com::sun::star::table::CellAddress aDestination,
+ [in] com::sun::star::table::CellRangeAddress aSource );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellRangeReferrer.idl b/offapi/com/sun/star/sheet/XCellRangeReferrer.idl
new file mode 100644
index 000000000..2dc0983bd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangeReferrer.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellRangeReferrer_idl__
+#define __com_sun_star_sheet_XCellRangeReferrer_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/XCellRange.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** allows direct access to the cells in a named range or to the cells
+ which are visible in a view, without the need to get the document
+ object first.
+
+ @see com::sun::star::sheet::NamedRange
+ @see com::sun::star::sheet::DatabaseRange
+ @see com::sun::star::sheet::SpreadsheetViewPane
+ */
+published interface XCellRangeReferrer: com::sun::star::uno::XInterface
+{
+
+ /** returns the cell range object that is represented.
+ */
+ com::sun::star::table::XCellRange getReferredCells();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellRangesAccess.idl b/offapi/com/sun/star/sheet/XCellRangesAccess.idl
new file mode 100644
index 000000000..14c7e3b73
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangesAccess.idl
@@ -0,0 +1,125 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellRangesAccess_idl__
+#define __com_sun_star_sheet_XCellRangesAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/table/XCell.idl>
+#include <com/sun/star/table/XCellRange.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the cells or to sub-ranges of all sheets.
+
+ @see com::sun::star::sheet::Spreadsheets
+ */
+published interface XCellRangesAccess: com::sun::star::uno::XInterface
+{
+
+ /** Returns a single cell within the range.
+
+ @param nColumn
+ is the column index of the cell inside the sheet.
+
+ @param nRow
+ is the row index of the cell inside the sheet.
+
+ @param nSheet
+ is the sheet index of the sheet inside the document.
+
+ @returns
+ the specified cell.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if an index is outside the dimensions of this range.
+
+ @see com::sun::star::table::Cell
+ */
+ com::sun::star::table::XCell getCellByPosition(
+ [in] long nColumn,
+ [in] long nRow,
+ [in] long nSheet )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** Returns a sub-range of cells within the range.
+
+ @param nLeft
+ is the column index of the first cell inside the range.
+
+ @param nTop
+ is the row index of the first cell inside the range.
+
+ @param nRight
+ is the column index of the last cell inside the range.
+
+ @param nBottom
+ is the row index of the last cell inside the range.
+
+ @param nSheet
+ is the sheet index of the sheet inside the document.
+
+ @returns
+ the specified cell range.
+
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+ if an index is outside the dimensions of this range.
+
+ @see com::sun::star::table::CellRange
+ */
+ com::sun::star::table::XCellRange getCellRangeByPosition(
+ [in] long nLeft,
+ [in] long nTop,
+ [in] long nRight,
+ [in] long nBottom,
+ [in] long nSheet )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+
+ /** Returns a sub-range of cells within the range.
+
+ <p>The sub-range is specified by its name. The format of the range
+ name is dependent of the context of the table. In spreadsheets valid
+ names may be "Sheet1.A1:C5" or "$Sheet1.$B$2" or even defined names for cell ranges
+ such as "MySpecialCell".</p>
+
+ @param aRange
+ the name of the sub-range.
+
+ @returns
+ the specified cell ranges.
+
+ @see com::sun::star::table::CellRange
+ */
+ sequence <com::sun::star::table::XCellRange> getCellRangesByName( [in] string aRange )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellRangesQuery.idl b/offapi/com/sun/star/sheet/XCellRangesQuery.idl
new file mode 100644
index 000000000..eb9a6dcd6
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellRangesQuery.idl
@@ -0,0 +1,149 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellRangesQuery_idl__
+#define __com_sun_star_sheet_XCellRangesQuery_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+#include <com/sun/star/table/CellAddress.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to query for cell ranges with specific contents.
+
+ <p>All methods return a collection of cell ranges.</p>
+
+ @see com::sun::star::sheet::SheetRangesQuery
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published interface XCellRangesQuery: com::sun::star::uno::XInterface
+{
+
+ /** queries all visible cells.
+
+ @returns
+ the visible (not hidden) cells of the current cell range(s).
+ */
+ com::sun::star::sheet::XSheetCellRanges queryVisibleCells();
+
+
+ /** queries all empty cells.
+
+ @returns
+ the empty cells of the current cell range(s).
+ */
+ com::sun::star::sheet::XSheetCellRanges queryEmptyCells();
+
+
+ /** queries all cells with the specified content type(s).
+
+ @param nContentFlags
+ a combination of CellFlags flags.
+
+ <p>Attention: Despite the CellFlags flags are
+ `long` values, this method expects a `short`
+ parameter.</p>
+
+ <p>Attention: Empty cells in the range may be skipped depending on
+ the content flag used. For instance, when querying for STYLES,
+ the returned ranges may not include empty cells even if styles are
+ applied to those cells.</p>
+
+ @returns
+ all cells of the current cell range(s) with the specified
+ content type(s).
+ */
+ com::sun::star::sheet::XSheetCellRanges queryContentCells(
+ [in] short nContentFlags );
+
+
+ /** queries all formula cells with the specified result type.
+
+ @param nResultFlags
+ a combination of FormulaResult flags.
+
+ @returns
+ all formula cells of the current cell range(s) with the
+ specified result type(s).
+ */
+ com::sun::star::sheet::XSheetCellRanges queryFormulaCells(
+ [in] long nResultFlags );
+
+
+ /** queries all cells with different values in a specified row.
+
+ <p>This method takes each column of the current cell range(s) and
+ compares all cells with the cell in the specified row. All cells
+ which are different to this comparison cell will be returned.</p>
+
+ @param aCompare
+ contains a cell address with the row index used for comparison.
+ Only this row index is of interest.
+
+ @returns
+ all cells of the current cell range(s) which are different
+ to the comparison cell of each column.
+ */
+ com::sun::star::sheet::XSheetCellRanges queryColumnDifferences(
+ [in] com::sun::star::table::CellAddress aCompare );
+
+
+ /** queries all cells with different values in a specified column.
+
+ <p>This method takes each row of the current cell range(s) and
+ compares all cells with the cell in the specified column. All cells
+ which are different to this comparison cell will be returned.</p>
+
+ @param aCompare
+ contains a cell address with the column index used for
+ comparison. Only this column index is of interest.
+
+ @returns
+ all cells of the current cell range(s) which are different
+ to the comparison cell of each row.
+ */
+ com::sun::star::sheet::XSheetCellRanges queryRowDifferences(
+ [in] com::sun::star::table::CellAddress aCompare );
+
+
+ /** intersects the current cell range(s) with the specified cell range.
+
+ @param aRange
+ contains the cell range for intersection.
+
+ @return
+ all cells of the current cell range(s) which are contained
+ in the passed cell range.
+
+ */
+ com::sun::star::sheet::XSheetCellRanges queryIntersection(
+ [in] com::sun::star::table::CellRangeAddress aRange );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCellSeries.idl b/offapi/com/sun/star/sheet/XCellSeries.idl
new file mode 100644
index 000000000..cf1642b6f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCellSeries.idl
@@ -0,0 +1,87 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCellSeries_idl__
+#define __com_sun_star_sheet_XCellSeries_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/FillDirection.idl>
+#include <com/sun/star/sheet/FillMode.idl>
+#include <com/sun/star/sheet/FillDateMode.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to fill out a cell range automatically with values
+ based on a start value, step count and fill mode.
+
+ @see com::sun::star::sheet::SheetCellRange
+ */
+published interface XCellSeries: com::sun::star::uno::XInterface
+{
+
+ /** fills all cells in the range based on the specified settings.
+
+ @param nFillDirection
+ specifies the direction to fill the rows/columns of the range.
+
+ @param nFillMode
+ specifies the type of the series.
+
+ @param nFillDateMode
+ specifies the calculation mode for date values.
+
+ @param fStep
+ contains the value used to increase/decrease the series values.
+
+ @param fEndValue
+ contains the threshold value on which the calculation of the
+ current series stops.
+ */
+ void fillSeries(
+ [in] com::sun::star::sheet::FillDirection nFillDirection,
+ [in] com::sun::star::sheet::FillMode nFillMode,
+ [in] com::sun::star::sheet::FillDateMode nFillDateMode,
+ [in] double fStep,
+ [in] double fEndValue );
+
+
+ /** fills all cells in the range in a way that is specified by the
+ first cell(s) in the range.
+
+ @param nFillDirection
+ specifies the direction to fill the rows/columns of the range.
+
+ @param nSourceCount
+ contains the number of cells in each row/column used to
+ constitute the fill algorithm.
+ */
+ void fillAuto(
+ [in] com::sun::star::sheet::FillDirection nFillDirection,
+ [in] long nSourceCount );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XColorScaleEntry.idl b/offapi/com/sun/star/sheet/XColorScaleEntry.idl
new file mode 100644
index 000000000..8d29e6365
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XColorScaleEntry.idl
@@ -0,0 +1,44 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XColorScaleEntry_idl__
+#define __com_sun_star_sheet_XColorScaleEntry_idl__
+
+#include <com/sun/star/util/Color.idl>
+
+module com { module sun { module star { module sheet {
+
+interface XColorScaleEntry
+{
+ com::sun::star::util::Color getColor();
+
+ void setColor( [in] com::sun::star::util::Color Color);
+
+ string getFormula();
+
+ void setFormula( [in] string Formula);
+
+ /**
+ * See com.sun.star.sheet.ColorScaleEntryType for possible values
+ */
+ long getType();
+
+ /**
+ * See com.sun.star.sheet.ColorScaleEntryType for possible values
+ */
+ void setType( [in] long Type);
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XCompatibilityNames.idl b/offapi/com/sun/star/sheet/XCompatibilityNames.idl
new file mode 100644
index 000000000..cf8e37388
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XCompatibilityNames.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XCompatibilityNames_idl__
+#define __com_sun_star_sheet_XCompatibilityNames_idl__
+
+#include <com/sun/star/sheet/LocalizedName.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** gives access to the sequence of compatibility names for an Addin
+ function.
+ */
+published interface XCompatibilityNames: com::sun::star::uno::XInterface
+{
+ /** returns the compatibility names of the specified function.
+
+ <p>Compatibility names are localized names of AddIn functions that
+ are used to import files from other applications.</p>
+
+ <p>If on import a localized function name is read, this list of
+ compatibility names is used to find the internal name of the
+ function. The current locale may differ from the locale used in
+ the imported file, so the method
+ XAddIn::getProgrammaticFuntionName() cannot be used
+ here.</p>
+
+ <p>The order inside the sequence of compatibility names is used to
+ prioritize the names. Initially the first compatibility name of
+ each function is compared to the imported name (each function may
+ provide a sequence of compatibility names - the first entry of all
+ sequences is used). If no entry is equal, the second entry of each
+ sequence is used and so on.</p>
+
+ <p>If a locale is not present in the sequence of compatibility names,
+ the first entry of the sequence is used. So the method should return
+ a sequence which contains first the entry representing the current
+ locale.`TRUE`</p>
+
+ @param aProgrammaticName
+ is the exact name of a method within its interface.
+ */
+ sequence< com::sun::star::sheet::LocalizedName >
+ getCompatibilityNames( [in] string aProgrammaticName );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XConditionEntry.idl b/offapi/com/sun/star/sheet/XConditionEntry.idl
new file mode 100644
index 000000000..d3ac1f9a9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConditionEntry.idl
@@ -0,0 +1,32 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XConditionEntry_idl__
+#define __com_sun_star_sheet_XConditionEntry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/ConditionEntryType.idl>
+
+module com { module sun { module star { module sheet {
+
+/**
+ * Abstract base interface for any conditional format
+ *
+ * Is extended by any conditional format entry, e.g. color scale, data bar, icon set, date formats, condition formats
+ */
+interface XConditionEntry : com::sun::star::uno::XInterface
+{
+ long getType();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XConditionalFormat.idl b/offapi/com/sun/star/sheet/XConditionalFormat.idl
new file mode 100644
index 000000000..9520eae80
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConditionalFormat.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XConditionalFormat_idl__
+#define __com_sun_star_sheet_XConditionalFormat_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/sheet/XConditionEntry.idl>
+
+module com { module sun { module star { module sheet {
+
+interface XConditionalFormat : com::sun::star::container::XIndexAccess
+{
+ /**
+ * Creates a new conditional format entry and insert its at the position.
+ *
+ * @param Type: a com.sun.star.sheet.ConditionEntryType specifying the
+ * type of the new entry
+ *
+ * @param Position: the position in the conditional format
+ *
+ */
+ void createEntry( [in] long Type, [in] long Position );
+
+ void removeByIndex( [in] long Index );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XConditionalFormats.idl b/offapi/com/sun/star/sheet/XConditionalFormats.idl
new file mode 100644
index 000000000..7230fe5f2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConditionalFormats.idl
@@ -0,0 +1,39 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XConditionalFormats_idl__
+#define __com_sun_star_sheet_XConditionalFormats_idl__
+
+#include <com/sun/star/sheet/XConditionalFormat.idl>
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module sheet {
+
+interface XConditionalFormats : com::sun::star::uno::XInterface
+{
+ /**
+ * adds a conditional format to the existing list
+ * returns the id of the inserted conditional format
+ */
+ long createByRange( [in] com::sun::star::sheet::XSheetCellRanges range);
+
+ void removeByID( [in] long ID);
+
+ sequence< XConditionalFormat > getConditionalFormats();
+
+ long getLength();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XConsolidatable.idl b/offapi/com/sun/star/sheet/XConsolidatable.idl
new file mode 100644
index 000000000..493ddffbd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConsolidatable.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XConsolidatable_idl__
+#define __com_sun_star_sheet_XConsolidatable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XConsolidationDescriptor.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to consolidate ranges in a spreadsheet document.
+
+ <p>Consolidation combines the cells of multiple cell ranges, using a
+ specific function.</p>
+
+ @deprecated
+ */
+published interface XConsolidatable: com::sun::star::uno::XInterface
+{
+
+ /** creates a consolidation descriptor.
+
+ @param bEmpty
+ `TRUE` leaves the descriptor empty, `FALSE` fills it with
+ the settings from the last consolidation action.
+
+ @see com::sun::star::sheet::ConsolidationDescriptor
+ */
+ com::sun::star::sheet::XConsolidationDescriptor createConsolidationDescriptor(
+ [in] boolean bEmpty );
+
+
+ /** consolidates data from several cell ranges, using the settings
+ in the passed descriptor.
+
+ @param xDescriptor
+ the descriptor used to perform the consolidation.
+
+ @see com::sun::star::sheet::ConsolidationDescriptor
+ */
+ void consolidate(
+ [in] com::sun::star::sheet::XConsolidationDescriptor xDescriptor );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl b/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl
new file mode 100644
index 000000000..746b9cc6c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XConsolidationDescriptor.idl
@@ -0,0 +1,117 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XConsolidationDescriptor_idl__
+#define __com_sun_star_sheet_XConsolidationDescriptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the settings of a consolidation descriptor.
+
+ @deprecated
+
+ @see com::sun::star::sheet::ConsolidationDescriptor
+ */
+published interface XConsolidationDescriptor: com::sun::star::uno::XInterface
+{
+
+ /** returns the function by which the ranges are consolidated.
+ */
+ com::sun::star::sheet::GeneralFunction getFunction();
+
+
+ /** sets the function by which the ranges are consolidated.
+ */
+ void setFunction( [in] com::sun::star::sheet::GeneralFunction nFunction );
+
+
+ /** returns the cell ranges which are consolidated.
+ */
+ sequence< com::sun::star::table::CellRangeAddress > getSources();
+
+
+ /** sets the cell ranges which are consolidated.
+ */
+ void setSources(
+ [in] sequence< com::sun::star::table::CellRangeAddress > aSources );
+
+
+ /** returns the position of the top left cell of the cell range where
+ the consolidated data are copied.
+ */
+ com::sun::star::table::CellAddress getStartOutputPosition();
+
+
+ /** sets the position of the top left cell of the cell range
+ where the consolidated data are copied.
+ */
+ void setStartOutputPosition(
+ [in] com::sun::star::table::CellAddress aStartOutputPosition );
+
+
+ /** returns, whether column headers from the cell ranges are used to
+ find matching data or not.
+ */
+ boolean getUseColumnHeaders();
+
+
+ /** specifies if column headers from the cell ranges are used to find
+ matching data.
+ */
+ void setUseColumnHeaders( [in] boolean bUseColumnHeaders );
+
+
+ /** returns, whether row headers from the cell ranges are used to
+ find matching data or not.
+ */
+ boolean getUseRowHeaders();
+
+
+ /** specifies if row headers from the cell ranges are used to find
+ matching data.
+ */
+ void setUseRowHeaders( [in] boolean bUseRowHeaders );
+
+
+ /** returns, whether links to the original data are inserted in the
+ output area or not.
+ */
+ boolean getInsertLinks();
+
+
+ /** specifies if links to the original data are inserted in the
+ output area.
+ */
+ void setInsertLinks( [in] boolean bInsertLinks );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDDELink.idl b/offapi/com/sun/star/sheet/XDDELink.idl
new file mode 100644
index 000000000..a710df258
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDDELink.idl
@@ -0,0 +1,60 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDDELink_idl__
+#define __com_sun_star_sheet_XDDELink_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to change the settings of a DDE link.
+
+ @deprecated
+
+ @see com::sun::star::sheet::DDELink
+ */
+published interface XDDELink: com::sun::star::uno::XInterface
+{
+
+ /** returns the application from which data are requested
+ (the DDE server application).
+ */
+ string getApplication();
+
+
+ /** returns the DDE topic from which data are requested.
+ */
+ string getTopic();
+
+
+ /** returns the DDE item from which data are requested.
+ */
+ string getItem();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDDELinkResults.idl b/offapi/com/sun/star/sheet/XDDELinkResults.idl
new file mode 100644
index 000000000..a17f41bec
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDDELinkResults.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDDELinkResults_idl__
+#define __com_sun_star_sheet_XDDELinkResults_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the DDE link results.
+
+ @see com::sun::star::sheet::DDELink
+
+ @since OOo 3.0
+ */
+published interface XDDELinkResults: com::sun::star::uno::XInterface
+{
+
+ /** returns the DDE link results.
+
+ @returns
+ the DDE link results. The outer sequence contains the value rows.
+ The inner sequences contain the result values for one row.
+ */
+ sequence< sequence< any > > getResults();
+
+
+ /** sets the DDE link results.
+
+ @param aResults
+ the DDE link results. The outer sequence contains the value rows.
+ The inner sequences contain the result values for one row.
+ If the outer sequence is empty, the existing DDE link results are
+ cleared.
+ */
+ void setResults( [in] sequence< sequence< any > > aResults );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDDELinks.idl b/offapi/com/sun/star/sheet/XDDELinks.idl
new file mode 100644
index 000000000..8bfdb9663
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDDELinks.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDDELinks_idl__
+#define __com_sun_star_sheet_XDDELinks_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XDDELink.idl>
+#include <com/sun/star/sheet/DDELinkMode.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides a method to add a DDE link to a spreadsheet.
+
+ @see com::sun::star::sheet::DDELinks
+
+ @since OOo 3.0
+ */
+published interface XDDELinks: com::sun::star::container::XNameAccess
+{
+
+ /** adds a DDE link to the spreadsheet without updating it.
+
+ <p>If a DDE link with the specified parameters already exists, the
+ existing DDE link will be returned. Otherwise a new DDE link will be
+ created.</p>
+
+ @param aApplication
+ the DDE server application from which data are requested.
+
+ @param aTopic
+ the DDE topic from which data are requested.
+
+ @param aItem
+ the DDE item from which data are requested.
+
+ @param nMode
+ the DDE link mode.
+
+ @returns
+ the DDE link.
+ */
+ com::sun::star::sheet::XDDELink addDDELink(
+ [in] string aApplication,
+ [in] string aTopic,
+ [in] string aItem,
+ [in] com::sun::star::sheet::DDELinkMode nMode );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataBarEntry.idl b/offapi/com/sun/star/sheet/XDataBarEntry.idl
new file mode 100644
index 000000000..746de16c2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataBarEntry.idl
@@ -0,0 +1,38 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XDataBarEntry_idl__
+#define __com_sun_star_sheet_XDataBarEntry_idl__
+
+module com { module sun { module star { module sheet {
+
+interface XDataBarEntry
+{
+ string getFormula();
+
+ void setFormula( [in] string Formula);
+
+ /**
+ * See com.sun.star.sheet.DataBarEntryType for possible values
+ */
+ long getType();
+
+ /**
+ * See com.sun.star.sheet.DataBarEntryType for possible values
+ */
+ void setType( [in] long Type);
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl
new file mode 100644
index 000000000..ab3038c35
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotDataLayoutFieldSupplier.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__
+#define __com_sun_star_sheet_XDataPilotDataLayoutFieldSupplier_idl__
+
+#include <com/sun/star/sheet/XDataPilotField.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Provides access to the DataPilotField used to layout
+ multiple data fields.
+
+ <p>This data field can be inserted into the rows dimension or columns
+ dimension by changing its DataPilotField::Orientation
+ property. This interface can be used to access the data layout field
+ before multiple data fields are inserted into the DataPilot table. It
+ remains invisible as long as the DataPilot table contains at most one data
+ field.</p>
+
+ @see com::sun::star::sheet::DataPilotDescriptor
+ @see com::sun::star::sheet::DataPilotTable
+ */
+published interface XDataPilotDataLayoutFieldSupplier
+{
+
+ /** Returns the DataPilotField used to layout multiple data
+ fields.
+
+ <p>If the field does not exist yet, it will be created. It is possible
+ to insert this field into the rows or columns dimension by changing
+ its DataPilotField::Orientation property.</p>
+ */
+ XDataPilotField getDataLayoutField();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl
new file mode 100644
index 000000000..651fba350
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotDescriptor.idl
@@ -0,0 +1,118 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotDescriptor_idl__
+#define __com_sun_star_sheet_XDataPilotDescriptor_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the layout settings of a data pilot table.
+
+ <p>This interface extends the interface
+ com::sun::star::container::XNamed which provides
+ access to the name of the data pilot table used e.g. in collections.</p>
+
+ @see com::sun::star::sheet::DataPilotDescriptor
+ @see com::sun::star::sheet::DataPilotTable
+ */
+published interface XDataPilotDescriptor: com::sun::star::container::XNamed
+{
+
+ /** returns an additional string stored in the data pilot table.
+ */
+ string getTag();
+
+
+ /** sets an additional string stored in the data pilot table.
+ */
+ void setTag( [in] string aTag );
+
+
+ /** returns the cell range containing the data for the data pilot table.
+ */
+ com::sun::star::table::CellRangeAddress getSourceRange();
+
+
+ /** sets the cell range containing the data for the data pilot table.
+ */
+ void setSourceRange(
+ [in] com::sun::star::table::CellRangeAddress aSourceRange );
+
+
+ /** returns the filter descriptor specifying which data from the
+ source cell range are used for the data pilot table.
+ */
+ com::sun::star::sheet::XSheetFilterDescriptor getFilterDescriptor();
+
+
+ /** returns the collection of all the data pilot fields.
+ */
+ com::sun::star::container::XIndexAccess getDataPilotFields();
+
+
+ /** returns the collection of the data pilot fields used as column fields.
+
+ @see com::sun::star::sheet::DataPilotFields
+ */
+ com::sun::star::container::XIndexAccess getColumnFields();
+
+
+ /** returns the collection of the data pilot fields used as row fields.
+
+ @see com::sun::star::sheet::DataPilotFields
+ */
+ com::sun::star::container::XIndexAccess getRowFields();
+
+
+ /** returns the collection of the data pilot fields used as page fields.
+
+ @see com::sun::star::sheet::DataPilotFields
+ */
+ com::sun::star::container::XIndexAccess getPageFields();
+
+
+ /** returns the collection of the data pilot fields used as data fields.
+
+ @see com::sun::star::sheet::DataPilotFields
+ */
+ com::sun::star::container::XIndexAccess getDataFields();
+
+
+ /** returns the collection of the data pilot fields not used as
+ column, row, page, or data fields.
+
+ @see com::sun::star::sheet::DataPilotFields
+ */
+ com::sun::star::container::XIndexAccess getHiddenFields();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotField.idl b/offapi/com/sun/star/sheet/XDataPilotField.idl
new file mode 100644
index 000000000..11b7ae8d4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotField.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotField_idl__
+#define __com_sun_star_sheet_XDataPilotField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to control a data pilot field which has already
+ been created.
+
+ @see com::sun::star::sheet::DataPilotField
+ */
+published interface XDataPilotField: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of the data pilot items.
+
+ @see com::sun::star::sheet::DataPilotItems
+ */
+ com::sun::star::container::XIndexAccess getItems();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl
new file mode 100644
index 000000000..3b935013b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotFieldGrouping.idl
@@ -0,0 +1,155 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotFieldGrouping_idl__
+#define __com_sun_star_sheet_XDataPilotFieldGrouping_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/DataPilotFieldGroupInfo.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Provides methods to create new DataPilot fields where some or all items of
+ this DataPilot field are grouped in some way.
+
+ @see DataPilotField
+ */
+published interface XDataPilotFieldGrouping: com::sun::star::uno::XInterface
+{
+
+ /** Creates a new DataPilot field which contains a group containing the
+ given DataPilot field items (members).
+
+ <p>It is possible to create multiple groups by calling this method
+ several times at the same DataPilot field. On subsequent calls, the
+ DataPilot field created at the first call is used to insert the new
+ groups.</p>
+
+ <p>The collection of groups can be accessed via the
+ DataPilotField::GroupInfo property. The returned
+ struct contains the sequence of groups in its member
+ DataPilotFieldGroupInfo::Groups.</p>
+
+ @param aItems
+ a sequence containing the names of the items (members) which will
+ be part of the new group. Must be names of items contained in the
+ current field.
+
+ @returns
+ the new created field if there is one created on the first call of
+ this method. `NULL` is returned on subsequent calls.
+
+ @see DataPilotField
+ @see DataPilotFieldGroupInfo
+ */
+ XDataPilotField createNameGroup([in] sequence< string > aItems)
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** Groups the members of this field by dates, according to the passed
+ settings.
+
+ <p>If this field is already grouped by dates, a new DataPilot field
+ will be created and returned. If this field is not grouped at all, the
+ date grouping is performed inside of this field (no new field will be
+ created). There must not be any other grouping (by member names or by
+ numeric ranges), otherwise an exception is thrown.</p>
+
+ @param aInfo
+ contains the information how to group the items of the field. The
+ members of this struct have to fulfill the following requirements:
+
+ <ul>
+ <li>If the member DataPilotFieldGroupInfo::HasAutoStart
+ is set to `FALSE`, then the value of
+ DataPilotFieldGroupInfo::Start must be a floating-point
+ value representing a valid date/time value (if
+ DataPilotFieldGroupInfo::HasAutoStart is set to `TRUE`,
+ the value of DataPilotFieldGroupInfo::Start will
+ be ignored).</li>
+
+ <li>If the member DataPilotFieldGroupInfo::HasAutoEnd
+ is set to `FALSE`, then the value of
+ DataPilotFieldGroupInfo::End must be a floating-point
+ value representing a valid date/time value( if
+ DataPilotFieldGroupInfo::HasAutoEnd is set to `TRUE`,
+ the value of DataPilotFieldGroupInfo::End will be
+ ignored).</li>
+
+ <li>If the members DataPilotFieldGroupInfo::HasAutoStart
+ and DataPilotFieldGroupInfo::HasAutoEnd
+ are set to `FALSE` both, then the value of
+ DataPilotFieldGroupInfo::Start must be less than or equal
+ to the value of DataPilotFieldGroupInfo::End.</li>
+
+ <li>The member DataPilotFieldGroupInfo::HasDateValues
+ must be set to `TRUE`.</li>
+
+ <li>The member DataPilotFieldGroupInfo::Step must
+ be zero, unless ranges of days have to be grouped (see the
+ description of the member GroupBy below), in that case the value
+ must be greater than or equal to 1 and less than or equal to 32767.
+ The fractional part of the value will be ignored.</li>
+
+ <li>The member DataPilotFieldGroupInfo::GroupBy
+ must contain exactly one of the flags from DataPilotFieldGroupBy.
+ A combination of several flags will not be accepted. If
+ DataPilotFieldGroupBy::DAYS is specified, the
+ value of the member DataPilotFieldGroupInfo::Step
+ will specify the type of day grouping (see above). If that value
+ is zero, grouping is performed on all days of the year (e.g. the
+ members containing the 1st of January of any year are grouped
+ together). If that value is greater than zero, grouping is done on
+ ranges of days, and the value specifies the number of days grouped
+ into one range (e.g. a value of 7 groups the members of a week
+ into a range).</li>
+
+ <li>The contents of the member
+ DataPilotFieldGroupInfo::SourceField will be ignored.</li>
+
+ <li>The contents of the member
+ DataPilotFieldGroupInfo::Groups will be ignored.</li>
+ </ul>
+
+ @returns
+ the new created field if there is one created. `NULL` is returned,
+ if date grouping is performed inside this field (i.e. this field
+ was not grouped by dates before).
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the passed struct does not contain valid settings as described,
+ or if this field is already grouped by member names or numeric
+ ranges.
+
+ @see DataPilotField
+ */
+ XDataPilotField createDateGroup([in] DataPilotFieldGroupInfo aInfo)
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl b/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl
new file mode 100644
index 000000000..9f574783e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotMemberResults.idl
@@ -0,0 +1,54 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotMemberResults_idl__
+#define __com_sun_star_sheet_XDataPilotMemberResults_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/MemberResult.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a sequence of results of a data pilot source level.
+
+ <p>These results are used to fill the data area for the level in a data
+ pilot table.</p>
+
+ @see com::sun::star::sheet::DataPilotSourceLevel
+ @see com::sun::star::sheet::DataPilotSource
+ @see com::sun::star::sheet::XDataPilotResults
+ */
+interface XDataPilotMemberResults: com::sun::star::uno::XInterface
+{
+
+ /** returns the sequence of results for the regarding data pilot
+ source level.
+ */
+ sequence< com::sun::star::sheet::MemberResult > getResults();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotResults.idl b/offapi/com/sun/star/sheet/XDataPilotResults.idl
new file mode 100644
index 000000000..65903526c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotResults.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotResults_idl__
+#define __com_sun_star_sheet_XDataPilotResults_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/DataResult.idl>
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a table of results of a data pilot source.
+
+ <p>These results are used to fill the data area of a data pilot table.</p>
+
+ @see com::sun::star::sheet::DataPilotSource
+ @see com::sun::star::sheet::XDataPilotMemberResults
+ */
+interface XDataPilotResults: com::sun::star::uno::XInterface
+{
+
+ /** returns the result array.
+
+ <p>The outer sequence contains the value rows. The inner sequences
+ contain the values for one row.</p>
+ */
+ sequence< sequence< DataResult > > getResults();
+
+ sequence<double> getFilteredResults(
+ [in] sequence<com::sun::star::sheet::DataPilotFieldFilter> aFilters );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotTable.idl b/offapi/com/sun/star/sheet/XDataPilotTable.idl
new file mode 100644
index 000000000..3b3db2a60
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTable.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotTable_idl__
+#define __com_sun_star_sheet_XDataPilotTable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to control a data pilot table which has already
+ been created.
+
+ @see com::sun::star::sheet::DataPilotTable
+ */
+published interface XDataPilotTable: com::sun::star::uno::XInterface
+{
+
+ /** returns the address of the cell range that contains the data
+ pilot table.
+ */
+ com::sun::star::table::CellRangeAddress getOutputRange();
+
+
+ /** recreates the data pilot table with current data from the source
+ cell range.
+ */
+ void refresh();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotTable2.idl b/offapi/com/sun/star/sheet/XDataPilotTable2.idl
new file mode 100644
index 000000000..cec0aed51
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTable2.idl
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotTable2_idl__
+#define __com_sun_star_sheet_XDataPilotTable2_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellAddress.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/sheet/XDataPilotTable.idl>
+#include <com/sun/star/sheet/DataPilotOutputRangeType.idl>
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+#include <com/sun/star/sheet/DataPilotTablePositionData.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module sheet {
+
+/** additional methods to extend com::sun::star::sheet::XDataPilotTable.
+
+ com::sun::star::sheet::XDataPilotTable2 extends the old
+ com::sun::star::sheet::XDataPilotTable interface with
+ additional methods.
+
+ @see com::sun::star::sheet::XDataPilotTable
+
+ @since OOo 3.0
+ */
+interface XDataPilotTable2: com::sun::star::sheet::XDataPilotTable
+{
+ /** When the address of a cell within the result area is given,
+ XDataPilotTable2::getDrillDownData() returns its drill-down
+ output table that includes only those rows that contribute to the value of
+ that cell.
+
+ @param aAddr cell address within the result area of a DataPilot table.
+
+ @returns drill-down output as 2-dimensional sequence, including the header row.
+
+ @see XDataPilotTable2::insertDrillDownSheet()
+ */
+ sequence< sequence< any > > getDrillDownData( [in] com::sun::star::table::CellAddress aAddr );
+
+ /** Given a cell address, it returns the information about that cell. The
+ type of information returned depends upon whether the cell is within
+ the result area or column/row header area.
+
+ @param aAddr address of the cell whose information is to be returned.
+
+ @returns DataPilotTablePositionData which contains the
+ position type and the information for that cell position.
+
+ @see com::sun::star::sheet::DataPilotTablePositionData
+ @see com::sun::star::sheet::DataPilotTableHeaderData
+ @see com::sun::star::sheet::DataPilotTableResultData
+ */
+ DataPilotTablePositionData getPositionData( [in] com::sun::star::table::CellAddress aAddr );
+
+ /** <p>This method inserts a new sheet to display the drill-down data for a
+ specified result cell. A drill-down data for a result cell consists
+ of a subset of rows from the original data source that contribute to
+ the value displayed in that cell.</p>
+
+ <p>The new sheet is always inserted to the immediate left of the current
+ sheet where the DataPilot table is. Note that when the drill-down data
+ is empty, no new sheet is inserted.</p>
+
+ @param aAddr address of a result cell
+
+ @returns `VOID`
+ */
+ void insertDrillDownSheet( [in] com::sun::star::table::CellAddress aAddr );
+
+ /** <p>This method returns a different output range of a DataPilot table
+ per specified output range type.</p>
+
+ @returns com::sun::star::table::CellRangeAddress depicting
+ the range specified. See DataPilotOutputRangeType for a set
+ of possible output range types.
+
+ @see com::sun::star::sheet::DataPilotOutputRangeType
+ */
+ com::sun::star::table::CellRangeAddress getOutputRangeByType( [in] long nType )
+ raises (com::sun::star::lang::IllegalArgumentException);
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotTables.idl b/offapi/com/sun/star/sheet/XDataPilotTables.idl
new file mode 100644
index 000000000..75feee5e3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTables.idl
@@ -0,0 +1,85 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotTables_idl__
+#define __com_sun_star_sheet_XDataPilotTables_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XDataPilotDescriptor.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the data pilot tables via name and inserting and
+ removing data pilot tables.
+
+ <p>This interface extends the interface
+ com::sun::star::container::XNameAccess which provides
+ access to existing data pilot tables in the collection.</p>
+
+ @see com::sun::star::sheet::DataPilotTables
+ @see com::sun::star::sheet::DataPilotTable
+ */
+published interface XDataPilotTables: com::sun::star::container::XNameAccess
+{
+
+ /** creates a data pilot descriptor.
+
+ <p>This descriptor can be used with
+ XDataPilotTables::addTable().</p>
+
+ @see com::sun::star::sheet::DataPilotDescriptor
+ */
+ com::sun::star::sheet::XDataPilotDescriptor createDataPilotDescriptor();
+
+
+ /** creates a new data pilot table and adds it to the collection.
+
+ @param aName
+ the name of the data pilot table used in the collection.
+
+ @param OutputAddress
+ the top left cell of the location of the data pilot table in
+ the spreadsheet document.
+
+ @param xDescriptor
+ the descriptor containing the settings of the data pilot table.
+
+ @see com::sun::star::sheet::DataPilotDescriptor
+ */
+ void insertNewByName(
+ [in] string aName,
+ [in] com::sun::star::table::CellAddress OutputAddress,
+ [in] com::sun::star::sheet::XDataPilotDescriptor xDescriptor );
+
+
+ /** deletes a data pilot table from the collection.
+ */
+ void removeByName( [in] string aName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl b/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl
new file mode 100644
index 000000000..6add6e106
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDataPilotTablesSupplier.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDataPilotTablesSupplier_idl__
+#define __com_sun_star_sheet_XDataPilotTablesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XDataPilotTables.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** grants access to a collection of data pilot tables.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+published interface XDataPilotTablesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** Returns the collection of data pilot tables.
+
+ @see com::sun::star::sheet::DataPilotTables
+ */
+ com::sun::star::sheet::XDataPilotTables getDataPilotTables();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDatabaseRange.idl b/offapi/com/sun/star/sheet/XDatabaseRange.idl
new file mode 100644
index 000000000..6a8d753bb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDatabaseRange.idl
@@ -0,0 +1,100 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDatabaseRange_idl__
+#define __com_sun_star_sheet_XDatabaseRange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+#include <com/sun/star/sheet/XSubTotalDescriptor.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the settings and options of a database range.
+
+ @see com::sun::star::sheet::DatabaseRange
+ */
+published interface XDatabaseRange: com::sun::star::uno::XInterface
+{
+
+ /** returns the data area of the database range in the
+ spreadsheet document.
+ */
+ com::sun::star::table::CellRangeAddress getDataArea();
+
+
+ /** sets the data area of the database range.
+ */
+ void setDataArea( [in] com::sun::star::table::CellRangeAddress aDataArea );
+
+
+ /** returns the sort descriptor stored with the database range.
+
+ @see SheetSortDescriptor2
+ */
+ sequence< com::sun::star::beans::PropertyValue > getSortDescriptor();
+
+
+ /** returns the filter descriptor stored with the database range.
+
+ <p>If the filter descriptor is modified, the new filtering is
+ carried out when XDatabaseRange::refresh() is
+ called.</p>
+
+ @see SheetFilterDescriptor
+ */
+ XSheetFilterDescriptor getFilterDescriptor();
+
+
+ /** returns the subtotal descriptor stored with the database range.
+
+ <p>If the subtotal descriptor is modified, the new subtotals are
+ inserted when XDatabaseRange::refresh() is
+ called.</p>
+
+ @see SubTotalDescriptor
+ */
+ XSubTotalDescriptor getSubTotalDescriptor();
+
+
+ /** returns the database import descriptor stored with this database
+ range.
+
+ @see DatabaseImportDescriptor
+ */
+ sequence< com::sun::star::beans::PropertyValue > getImportDescriptor();
+
+
+ /** executes the stored import, filter, sorting, and subtotals
+ descriptors again.
+ */
+ void refresh();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDatabaseRanges.idl b/offapi/com/sun/star/sheet/XDatabaseRanges.idl
new file mode 100644
index 000000000..3e9f9f1bf
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDatabaseRanges.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDatabaseRanges_idl__
+#define __com_sun_star_sheet_XDatabaseRanges_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides functions to manage a collection of database ranges.
+
+ @see com::sun::star::sheet::DatabaseRanges
+ */
+published interface XDatabaseRanges: com::sun::star::container::XNameAccess
+{
+
+ /** adds a new database range to the collection.
+ */
+ void addNewByName(
+ [in] string aName,
+ [in] com::sun::star::table::CellRangeAddress aRange );
+
+
+ /** removes a database range from the collection.
+ */
+ void removeByName( [in] string aName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDimensionsSupplier.idl b/offapi/com/sun/star/sheet/XDimensionsSupplier.idl
new file mode 100644
index 000000000..9294d06cd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDimensionsSupplier.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDimensionsSupplier_idl__
+#define __com_sun_star_sheet_XDimensionsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the collection of dimensions of a data pilot source.
+
+ @see com::sun::star::sheet::DataPilotSource
+ */
+interface XDimensionsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of dimensions.
+
+ @see com::sun::star::sheet::DataPilotSourceDimensions
+ */
+ com::sun::star::container::XNameAccess getDimensions();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDocumentAuditing.idl b/offapi/com/sun/star/sheet/XDocumentAuditing.idl
new file mode 100644
index 000000000..b3be8763e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDocumentAuditing.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDocumentAuditing_idl__
+#define __com_sun_star_sheet_XDocumentAuditing_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides auditing functions of a document.
+ */
+published interface XDocumentAuditing: com::sun::star::uno::XInterface
+{
+
+ /** refreshes all existing auditing arrows on all sheets of the
+ document.
+
+ <p>Dependencies are marked for all the cells that were marked
+ before, but using current formulas.</p>
+ */
+ void refreshArrows();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl
new file mode 100644
index 000000000..681967c15
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XDrillDownDataSupplier.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XDrillDownDataSupplier_idl__
+#define __com_sun_star_sheet_XDrillDownDataSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/DataPilotFieldFilter.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** supplies a filtered subset of the original data source based on filtering criteria.
+
+ A service that acts as a DataPilot data source can optionally implement this
+ interface to allow drill-down of result data. The method this interface provides
+ is used internally when calling XDataPilotTable2::getDrillDownData()
+ or XDataPilotTable2::insertDrillDownSheet(). If the data source
+ service does not implement this interface, then the aforementioned two methods
+ will have no effect.
+
+ @see com::sun::star::sheet::DataPilotSource
+
+ @since OOo 3.0
+ */
+interface XDrillDownDataSupplier: com::sun::star::uno::XInterface
+{
+ /** This method returns filtered subset of the original source data based on
+ a given set of filtering criteria.
+
+ @param aFilters filtering criteria
+
+ @returns a filtered subset of the original source data as 2-dimensional
+ sequences of `any`. The first row must be the header row. Each `any`
+ instance must contain either double value for a numeric cell, or
+ a string value for a string cell.
+
+ @see com::sun::star::sheet::DataPilotFieldFilter
+ @see com::sun::star::sheet::XDataPilotTable2
+ */
+ sequence< sequence< any > > getDrillDownData(
+ [in] sequence< com::sun::star::sheet::DataPilotFieldFilter > aFilters );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl
new file mode 100644
index 000000000..b88244ee8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XEnhancedMouseClickBroadcaster.idl
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XEnhancedMouseClickBroadcaster_idl__
+#define __com_sun_star_sheet_XEnhancedMouseClickBroadcaster_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/awt/XEnhancedMouseClickHandler.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to add and remove EnhancedMouseClickHandler
+
+ @since OOo 2.0
+
+ */
+published interface XEnhancedMouseClickBroadcaster: com::sun::star::uno::XInterface
+{
+
+ /** allows a component supporting the
+ XEnhancedMouseClickHandler interface to
+ register as listener. The component will be notified with a
+ EnhancedMouseEvent every time the mouse is clicked
+ in the spreadsheet</p>
+
+ @param aListener
+ the component that is to be added as listener
+
+ @see XEnhancedMouseClickHandler
+ @see EnhancedMouseEvent
+
+ The interfaces in the EnhancedMouseEvent can be XCell or XShape
+
+ @see XShape
+ @see XCell
+
+ */
+ void addEnhancedMouseClickHandler([in] com::sun::star::awt::XEnhancedMouseClickHandler aListener);
+
+
+ /** removes a previously registered listener.
+
+ @param aListener
+ the component that is to be removed
+ */
+ void removeEnhancedMouseClickHandler( [in] com::sun::star::awt::XEnhancedMouseClickHandler aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XExternalDocLink.idl b/offapi/com/sun/star/sheet/XExternalDocLink.idl
new file mode 100644
index 000000000..a19b50088
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalDocLink.idl
@@ -0,0 +1,88 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XExternalDocLink_idl__
+#define __com_sun_star_sheet_XExternalDocLink_idl__
+
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/sheet/XExternalSheetCache.idl>
+
+module com { module sun { module star { module sheet {
+
+
+/** Primary interface for the com::sun::star::sheet::ExternalDocLink service.
+
+ @see com::sun::star::sheet::ExternalDocLink
+
+ @since OOo 3.1
+ */
+interface XExternalDocLink
+{
+ interface com::sun::star::container::XNameAccess;
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XEnumerationAccess;
+
+
+ /** <p>This method adds a new sheet cache instance to the external document
+ link for a specified sheet name. If a sheet cache instance already
+ exists for the specified name, then the existing instance is returned.</p>
+
+ <p>Note that a sheet name lookup is performed in a case-insensitive
+ fashion.</p>
+
+ @param aSheetName sheet name
+
+ @param DynamicCache specify whether or not the cache can grow when
+ non-cached regions are queried. If `TRUE`, querying a non-cached
+ cell in this sheet cache will allow Calc to try to access the source
+ document to fetch the value in first access. If `FALSE`, the source
+ document will not be accessed, and the non-cached regions are treated
+ as empty cells.
+
+ @return com::sun::star::sheet::XExternalSheetCache sheet cache instance
+ */
+ com::sun::star::sheet::XExternalSheetCache addSheetCache( [in] string aSheetName, [in] boolean DynamicCache );
+
+
+ /** Index corresponding to the external document link.
+
+ <p>This index value corresponds with the external document
+ represented by an instance of
+ com::sun::star::sheet::ExternalDocLink. This
+ value is stored within a formula token instance.</p>
+
+ <p>Each external document cache instance has a unique index value, and this
+ index value can be used to retrieve the corresponding external document cache
+ from the parent com::sun::star::sheet::ExternalDocLinks instance.</p>
+
+ @see com::sun::star::sheet::ExternalDocLinks
+ @see com::sun::star::sheet::FormulaToken
+ @see com::sun::star::sheet::ExternalReference
+ */
+ [attribute, readonly] long TokenIndex;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XExternalDocLinks.idl b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
new file mode 100644
index 000000000..0fca782f2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalDocLinks.idl
@@ -0,0 +1,57 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XExternalDocLinks_idl__
+#define __com_sun_star_sheet_XExternalDocLinks_idl__
+
+#include <com/sun/star/sheet/XExternalDocLink.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+
+module com { module sun { module star { module sheet {
+
+/** Primary interface for the com::sun::star::sheet::ExternalDocLinks service.
+
+ @see com::sun::star::sheet::ExternalDocLinks
+
+ @since OOo 3.1
+ */
+interface XExternalDocLinks
+{
+ interface com::sun::star::container::XNameAccess;
+ interface com::sun::star::container::XIndexAccess;
+ interface com::sun::star::container::XEnumerationAccess;
+
+ /** This method adds a new external document link by its URL, and returns
+ its instance. If a document instance already exists for the specified URL,
+ then that instance gets returned instead of creating a new one.
+
+ @param aDocName document URL (e.g. file:///path/to/document.ods)
+
+ @return com::sun::star::sheet::XExternalDocLink external document link instance
+ */
+ com::sun::star::sheet::XExternalDocLink addDocLink( [in] string aDocName );
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XExternalSheetCache.idl b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
new file mode 100644
index 000000000..d386bf4dc
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalSheetCache.idl
@@ -0,0 +1,92 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XExternalSheetCache_idl__
+#define __com_sun_star_sheet_XExternalSheetCache_idl__
+
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+module com { module sun { module star { module sheet {
+
+/** Primary interface for the com::sun::star::sheet::ExternalSheetCache service.
+
+ @see com::sun::star::sheet::ExternalSheetCache
+
+ @since OOo 3.1
+ */
+interface XExternalSheetCache
+{
+ /** It sets a cached value for a specified cell position. The value is expected
+ to be either of type string or of type double. No
+ other data types are supported.
+
+ @param nRow row position (0-based)
+ @param nColumn column position (0-based)
+ @param aValue cell value to be cached
+ */
+ void setCellValue( [in] long nColumn, [in] long nRow, [in] any aValue )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** It retrieves a cached value from a specified cell position. The cached
+ value can be either string or double.
+
+ @return any cached cell value
+ */
+ any getCellValue( [in] long nColumn, [in] long nRow )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+ /** It returns a list of all row numbers where a cached cell or cells exist.
+ The row numbers are sorted in ascending order.
+
+ @return sequence<long> list of all row numbers with cached cell(s)
+ */
+ sequence< long > getAllRows();
+
+ /** Given a row number, this method returns a list of all columns numbers
+ that store cached cell values in that row. The column numbers are
+ sorted in ascending order.
+
+ @return sequence<long> list of all columns numbers with cached cell values
+ */
+ sequence< long > getAllColumns( [in] long nRow )
+ raises (com::sun::star::lang::IllegalArgumentException);
+
+
+ /** Index corresponding to this instance of an external sheet cache for
+ usage in formula tokens.
+
+ <p>This index to the external sheet cache is expected in the
+ SingleReference::Sheet member if it is part of an
+ external reference token.
+
+ <p>Each external sheet cache has a unique index value inside the
+ ExternalDocLink instance.</p>
+
+ @see FormulaToken
+ @see ExternalReference
+ */
+ [attribute, readonly] long TokenIndex;
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XExternalSheetName.idl b/offapi/com/sun/star/sheet/XExternalSheetName.idl
new file mode 100644
index 000000000..dc9cdf95b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XExternalSheetName.idl
@@ -0,0 +1,66 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XExternalSheetName_idl__
+#define __com_sun_star_sheet_XExternalSheetName_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/ElementExistException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides a method to set an external name at the sheet.
+
+ <p>An external reference in a cell formula is implemented using a
+ hidden sheet which is linked to the sheet in the external document.
+ The name of the hidden sheet is composed of the URL of the external
+ document and the external sheet name.</p>
+
+ @since OOo 3.0
+ */
+interface XExternalSheetName: com::sun::star::uno::XInterface
+{
+
+ /** sets an external name at the sheet.
+
+ <p>This method allows to compose the sheet name from the URL of the
+ external document and the name of the external sheet.</p>
+
+ @param aUrl
+ the URL of the external document.
+
+ @param aSheetName
+ the name of the sheet in the external document.
+
+ @throws ::com::sun::star::container::ElementExistException
+ a sheet with that external name already exists in this document
+ */
+ void setExternalName( [in] string aUrl, [in] string aSheetName )
+ raises (com::sun::star::container::ElementExistException);
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFillAcrossSheet.idl b/offapi/com/sun/star/sheet/XFillAcrossSheet.idl
new file mode 100644
index 000000000..93a47e74c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFillAcrossSheet.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFillAcrossSheet_idl__
+#define __com_sun_star_sheet_XFillAcrossSheet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** @deprecated
+ */
+published interface XFillAcrossSheet: com::sun::star::uno::XInterface
+{
+
+ /** copies data between ranges onto different sheets in
+ the document.
+ */
+ void fillAcrossSheets( [in] long nContentFlags );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFilterFormulaParser.idl b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl
new file mode 100644
index 000000000..008097fe3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFilterFormulaParser.idl
@@ -0,0 +1,47 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFilterFormulaParser_idl__
+#define __com_sun_star_sheet_XFilterFormulaParser_idl__
+
+#include <com/sun/star/sheet/XFormulaParser.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** Extends the interface XFormulaParser by an attribute that
+ specifies the namespace URL of the supported formula language.
+ */
+interface XFilterFormulaParser : XFormulaParser
+{
+
+ /** Specifies the namespace URL of the formula language supported by this
+ implementation.
+ */
+ [attribute, readonly] string SupportedNamespace;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl
new file mode 100644
index 000000000..90fe048dd
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaOpCodeMapper.idl
@@ -0,0 +1,132 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFormulaOpCodeMapper_idl__
+#define __com_sun_star_sheet_XFormulaOpCodeMapper_idl__
+
+#include <com/sun/star/sheet/FormulaOpCodeMapEntry.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** gives access to spreadsheet compiler token interns.
+ */
+interface XFormulaOpCodeMapper
+{
+
+ /** OpCode value used for external Add-In functions.
+
+ <p>Needed to be able to identify which of the function names map to an
+ Add-In implementation where this OpCode is used in the returned
+ mapping and the programmatic name is available as additional
+ information.</p>
+ */
+ [attribute, readonly] long OpCodeExternal;
+
+
+ /** OpCode value used for unknown functions.
+
+ <p>Used to identify which of the function names queried with
+ getMappings() are unknown to the implementation.</p>
+ */
+ [attribute, readonly] long OpCodeUnknown;
+
+
+ /** returns a sequence of tokens matching the input sequence of
+ strings in order.
+
+ @param Names
+ Sequence of names to be mapped. These can be function names,
+ operators, separators and other symbols the formula compiler
+ knows.
+
+ @param Language
+ Formula language to be used, one of FormulaLanguage
+ constants. If a constant unknown to the implementation is passed,
+ com::sun::star::lang::IllegalArgumentException
+ is thrown.
+
+ @returns
+ a sequence of FormulaToken matching the input
+ sequence in order.
+
+ <p>Each string element in parameter Names according to the formula
+ language in parameter Language is mapped to a FormulaToken
+ containing the internal OpCode used by the spreadsheet
+ application in FormulaToken::OpCode and by
+ contract maybe additional information in
+ FormulaToken::Data.</p>
+
+ <p>The order of the FormulaToken sequence returned matches the
+ input order of the string sequence.</p>
+
+ <p>An unknown Name string gets the OpCode value of
+ #OpCodeUnknown assigned.</p>
+
+ <p>Additional information in FormulaToken::Data
+ is returned for:
+ <ul>
+ <li>Add-in names: the programmatic name. The OpCode value used
+ for add-ins can be queried with the #OpCodeExternal
+ getter method.</li>
+ </ul></p>
+ */
+ sequence< FormulaToken > getMappings(
+ [in] sequence< string > Names,
+ [in] long Language )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+
+ /** returns a sequence of map entries for all available elements of
+ a given formula language.
+
+ @param Language
+ Formula language to be used, one of FormulaLanguage
+ constants. If a constant unknown to the implementation is passed,
+ com::sun::star::lang::IllegalArgumentException
+ is thrown.
+
+ @param Groups
+ Group of mappings to be returned, a bit mask of
+ FormulaMapGroup constants.
+
+ @returns
+ Sequence of FormulaOpCodeMapEntry.
+
+ <p>Each element of the formula language in parameter Language is
+ mapped to a FormulaToken containing the internal
+ OpCode used by the spreadsheet application in
+ FormulaToken::OpCode and by contract maybe additional
+ information in FormulaToken::Data. See
+ getMappings() for more details.</p>
+ */
+ sequence< FormulaOpCodeMapEntry > getAvailableMappings(
+ [in] long Language, [in] long Groups )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFormulaParser.idl b/offapi/com/sun/star/sheet/XFormulaParser.idl
new file mode 100644
index 000000000..3cede3b92
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaParser.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFormulaParser_idl__
+#define __com_sun_star_sheet_XFormulaParser_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/FormulaToken.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** converts between text and token representations of formulas.
+ */
+interface XFormulaParser
+{
+
+ /** parses a formula into a sequence of tokens.
+ */
+ sequence< FormulaToken > parseFormula(
+ [in] string aFormula,
+ [in] ::com::sun::star::table::CellAddress aReferencePos );
+
+
+ /** converts a formula into a string.
+ */
+ string printFormula(
+ [in] sequence< FormulaToken > aTokens,
+ [in] ::com::sun::star::table::CellAddress aReferencePos );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFormulaQuery.idl b/offapi/com/sun/star/sheet/XFormulaQuery.idl
new file mode 100644
index 000000000..0101ce101
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaQuery.idl
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFormulaQuery_idl__
+#define __com_sun_star_sheet_XFormulaQuery_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to query cells for dependencies
+ in formulas.
+
+ <p>All methods return a collection of cell ranges.</p>
+
+ @see com::sun::star::sheet::SheetRangesQuery
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published interface XFormulaQuery: com::sun::star::uno::XInterface
+{
+
+ /** queries all dependent formula cells.
+
+ <p>Dependent cells are cells containing formulas with references to
+ the original cell.</p>
+
+ @param bRecursive
+ `FALSE` = queries cells dependent from the original range(s),
+ `TRUE` = repeats query with all found cells
+ (finds dependents of dependents, and so on).
+
+ @return
+ all dependent cells of any formula cell of the current
+ cell range(s).
+ */
+ com::sun::star::sheet::XSheetCellRanges queryDependents(
+ [in] boolean bRecursive );
+
+
+ /** queries all precedent cells.
+
+ <p>Precedent cells are cells which are referenced from a formula
+ cell.</p>
+
+ @param bRecursive
+ `FALSE` = queries precedent cells of the original range(s),
+ `TRUE` = repeats query with all found cells
+ (finds precedents of precedents, and so on).
+
+ @return
+ all precedent cells of any formula cell of the current cell
+ range(s).
+ */
+ com::sun::star::sheet::XSheetCellRanges queryPrecedents(
+ [in] boolean bRecursive );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFormulaTokens.idl b/offapi/com/sun/star/sheet/XFormulaTokens.idl
new file mode 100644
index 000000000..4606ad46f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFormulaTokens.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFormulaTokens_idl__
+#define __com_sun_star_sheet_XFormulaTokens_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/FormulaToken.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** gives access to a formula as token sequence.
+ */
+interface XFormulaTokens
+{
+
+ /** returns the formula as sequence of tokens.
+ */
+ sequence< FormulaToken > getTokens();
+
+
+ /** sets the formula as sequence of tokens.
+ */
+ void setTokens( [in] sequence< FormulaToken > aTokens );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFunctionAccess.idl b/offapi/com/sun/star/sheet/XFunctionAccess.idl
new file mode 100644
index 000000000..bf7abce71
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFunctionAccess.idl
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFunctionAccess_idl__
+#define __com_sun_star_sheet_XFunctionAccess_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** allows generic access to all spreadsheet functions.
+
+ @see com::sun::star::sheet::FunctionAccess
+ */
+published interface XFunctionAccess: com::sun::star::uno::XInterface
+{
+
+ /** calls a function and returns the result of the call.
+
+ @param aName
+ the (programmatic) name of the function.
+
+ @param aArguments
+ the arguments for the function call.
+ <p>Each element must be of one of the following types:</p>
+
+ <dl>
+ <dt>`long` or `double`</dt>
+ <dd>for a numeric value.</dd>
+
+ <dt>`string`</dt>
+ <dd>for a textual value.</dd>
+
+ <dt>`long[][]` or `double[][]`</dt>
+ <dd>for an array of numeric values.</dd>
+
+ <dt>`string[][]`</dt>
+ <dd>for an array of textual values.</dd>
+
+ <dt>`any[][]`</dt>
+ <dd>for a mixed array, where each element must be of `VOID`,
+ `long`, `double` or `string`
+ type.</dd>
+
+ <dt>com::sun::star::table::XCellRange</dt>
+ <dd>for a SheetCellRange object that contains the
+ data.</dd>
+ </dl>
+
+ @returns
+ the result of the function call.
+
+ <p>Possible types for the result are:</p>
+
+ <dl>
+ <dt>`VOID`</dt>
+ <dd>if no result is available.</dd>
+
+ <dt>`double`</dt>
+ <dd>for a numeric result.</dd>
+
+ <dt>`string`</dt>
+ <dd>for a textual result.</dd>
+
+ <dt>`any[][]`</dt>
+ <dd>for an array result, containing `double` and
+ `string` values.</dd>
+ </dl>
+
+ @throws com::sun::star::container::NoSuchElementException
+ if the named function does not exist.
+
+ @throws com::sun::star::lang::IllegalArgumentException
+ if the function can not be called with these arguments.
+ */
+ any callFunction( [in] string aName, [in] sequence< any > aArguments )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::IllegalArgumentException );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XFunctionDescriptions.idl b/offapi/com/sun/star/sheet/XFunctionDescriptions.idl
new file mode 100644
index 000000000..c668ec674
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XFunctionDescriptions.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XFunctionDescriptions_idl__
+#define __com_sun_star_sheet_XFunctionDescriptions_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the property sequence of a function description
+ via function index or identifier.
+
+ <p>The container access methods return a sequence of
+ com::sun::star::beans::PropertyValue structs.
+ The properties contained in the sequence are collected in the service
+ FunctionDescription.</p>
+
+ @see com::sun::star::sheet::FunctionDescriptions
+ */
+published interface XFunctionDescriptions: com::sun::star::container::XIndexAccess
+{
+
+ /** finds a function description by the identifier of the function.
+
+ @param nId
+ is the identifier of the function description (the same that
+ is used in the service RecentFunctions.</p>
+
+ @returns
+ the sequence of property values (described in
+ FunctionDescription).
+ */
+ sequence< com::sun::star::beans::PropertyValue > getById( [in] long nId )
+ raises( com::sun::star::lang::IllegalArgumentException );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XGlobalSheetSettings.idl b/offapi/com/sun/star/sheet/XGlobalSheetSettings.idl
new file mode 100644
index 000000000..c0a7c3218
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XGlobalSheetSettings.idl
@@ -0,0 +1,154 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XGlobalSheetSettings_idl__
+#define __com_sun_star_sheet_XGlobalSheetSettings_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/**
+ @since LibreOffice 4.1
+ */
+published interface XGlobalSheetSettings
+{
+ /** specifies whether the cursor is moved after entering into cells.
+ */
+ [attribute] boolean MoveSelection;
+
+
+ /** contains the direction the cursor moves after entering cells.
+
+ @see com::sun::star::sheet::MoveDirection
+ */
+ [attribute] short MoveDirection;
+
+
+ /** specifies whether the enter key can be used to start editing a cell.
+ */
+ [attribute] boolean EnterEdit;
+
+
+ /** specifies whether cell formatting is extended when entering data.
+ */
+ [attribute] boolean ExtendFormat;
+
+
+ /** specifies whether ranges are highlighted on the sheet when
+ editing a formula.
+ */
+ [attribute] boolean RangeFinder;
+
+
+ /** specifies whether formula references are extended when cells
+ are inserted below or to the right of them.
+ */
+ [attribute] boolean ExpandReferences;
+
+
+ /** specifies whether the current selection is highlighted in
+ column and row headers.
+ */
+ [attribute] boolean MarkHeader;
+
+
+ /** specifies whether the enter key moves the cursor to the column
+ it was in before using the tab key to change columns.
+ */
+ [attribute] boolean UseTabCol;
+
+
+ /** contains the metric for all spreadsheet documents.
+
+ @see com::sun::star::util::MeasureUnit
+ */
+ [attribute] short Metric;
+
+
+ /** contains the default scale for new spreadsheet documents
+ (in percent).
+
+ <p>There are several special values:</p>
+ <p>-1 = Optimal width</p>
+ <p>-2 = Show whole page</p>
+ <p>-3 = Page width</p>
+ */
+ [attribute] short Scale;
+
+
+ /** specifies whether automatic completion of text in a cell is used.
+ */
+ [attribute] boolean DoAutoComplete;
+
+
+ /** contains the function that is displayed in the status bar.
+
+ @see com::sun::star::sheet::StatusBarFunction
+ */
+ [attribute] short StatusBarFunction;
+
+
+ /** contains the string lists used for sorting and filling.
+
+ <p>Each string contains the members of a list, separated by
+ commas.</p>
+ */
+ [attribute] sequence< string > UserLists;
+
+
+ /** specifies the update mode for external linked data.
+
+ <p>0 = always</p>
+ <p>1 = never</p>
+ <p>2 = on demand</p>
+ */
+ [attribute] short LinkUpdateMode;
+
+
+ /** specifies whether all sheets or only selected sheets are printed.
+ */
+ [attribute] boolean PrintAllSheets;
+
+
+ /** specifies whether empty pages are printed.
+ */
+ [attribute] boolean PrintEmptyPages;
+
+
+ /** specifies whether printer metrics are used for display.
+ */
+ [attribute] boolean UsePrinterMetrics;
+
+
+ /** specifies whether a warning is shown before replacing cells
+ (i.e. when pasting from clipboard).
+ */
+ [attribute] boolean ReplaceCellsWarning;
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XGoalSeek.idl b/offapi/com/sun/star/sheet/XGoalSeek.idl
new file mode 100644
index 000000000..8737f0219
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XGoalSeek.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XGoalSeek_idl__
+#define __com_sun_star_sheet_XGoalSeek_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/GoalResult.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides seeking a goal value for a cell.
+ */
+published interface XGoalSeek: com::sun::star::uno::XInterface
+{
+
+ /** calculates a value which gives a specified result in a formula.
+
+ @param aFormulaPosition
+ is the address of the formula cell used for the calculation.
+
+ @param aVariablePosition
+ is the address of the cell that is used in the formula as
+ variable.
+
+ @param aGoalValue
+ is the value which should be reached during the goal seek.
+
+ @returns
+ the result of the goal seek, including the value that results
+ in the specified goal, using the specified formula.
+ */
+ com::sun::star::sheet::GoalResult seekGoal(
+ [in] com::sun::star::table::CellAddress aFormulaPosition,
+ [in] com::sun::star::table::CellAddress aVariablePosition,
+ [in] string aGoalValue );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XHeaderFooterContent.idl b/offapi/com/sun/star/sheet/XHeaderFooterContent.idl
new file mode 100644
index 000000000..5bb45551d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XHeaderFooterContent.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XHeaderFooterContent_idl__
+#define __com_sun_star_sheet_XHeaderFooterContent_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/text/XText.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the text contents of a header or footer on a page.
+
+ @see com::sun::star::sheet::HeaderFooterContent
+ @see com::sun::star::sheet::TablePageStyle
+ */
+published interface XHeaderFooterContent: com::sun::star::uno::XInterface
+{
+
+ /** returns the text which is printed in the left part of the
+ header or footer.
+
+ @see com::sun::star::text::Text
+ */
+ com::sun::star::text::XText getLeftText();
+
+
+ /** returns the text which is printed in the center part of the
+ header or footer.
+
+ @see com::sun::star::text::Text
+ */
+ com::sun::star::text::XText getCenterText();
+
+
+ /** returns the text which is printed in the right part of the
+ header or footer.
+
+ @see com::sun::star::text::Text
+ */
+ com::sun::star::text::XText getRightText();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl b/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl
new file mode 100644
index 000000000..570e014c8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XHierarchiesSupplier.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XHierarchiesSupplier_idl__
+#define __com_sun_star_sheet_XHierarchiesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the collection of hierarchies of a data pilot source
+ dimension.
+
+ @see com::sun::star::sheet::DataPilotSourceDimension
+ @see com::sun::star::sheet::DataPilotSource
+ */
+interface XHierarchiesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of hierarchies.
+
+ @see com::sun::star::sheet::DataPilotSourceHierarchies
+ */
+ com::sun::star::container::XNameAccess getHierarchies();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XIconSetEntry.idl b/offapi/com/sun/star/sheet/XIconSetEntry.idl
new file mode 100644
index 000000000..4382e4406
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XIconSetEntry.idl
@@ -0,0 +1,40 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XIconSetEntry_idl__
+#define __com_sun_star_sheet_XIconSetEntry_idl__
+
+#include <com/sun/star/sheet/IconSetEntryType.idl>
+
+module com { module sun { module star { module sheet {
+
+interface XIconSetEntry
+{
+ string getFormula();
+
+ void setFormula([in] string Formula);
+
+ /**
+ * See com.sun.star.sheet.IconSetEntryType for possible values.
+ */
+ long getType();
+
+ /**
+ * See com.sun.star.sheet.IconSetEntryType for possible values.
+ */
+ void setType([in] long Type);
+};
+
+
+}; }; }; };
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XLabelRange.idl b/offapi/com/sun/star/sheet/XLabelRange.idl
new file mode 100644
index 000000000..6319fee16
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XLabelRange.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XLabelRange_idl__
+#define __com_sun_star_sheet_XLabelRange_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the settings of a label range in a spreadsheet
+ document.
+
+ <p>These can be column or row labels, depending on where they are used.</p>
+
+ @see com::sun::star::sheet::LabelRange
+ */
+published interface XLabelRange: com::sun::star::uno::XInterface
+{
+
+ /** returns the cell range address that contains the labels.
+ */
+ com::sun::star::table::CellRangeAddress getLabelArea();
+
+
+ /** sets the cell range address that contains the labels.
+ */
+ void setLabelArea(
+ [in] com::sun::star::table::CellRangeAddress aLabelArea );
+
+
+ /** returns the cell range address for which the labels are valid.
+ */
+ com::sun::star::table::CellRangeAddress getDataArea();
+
+
+ /** sets the cell range address for which the labels are valid.
+ */
+ void setDataArea(
+ [in] com::sun::star::table::CellRangeAddress aDataArea );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XLabelRanges.idl b/offapi/com/sun/star/sheet/XLabelRanges.idl
new file mode 100644
index 000000000..d8e5ecfd1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XLabelRanges.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XLabelRanges_idl__
+#define __com_sun_star_sheet_XLabelRanges_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access the members of a label range collection
+ and to insert and remove them.
+
+ @see com::sun::star::sheet::LabelRanges
+ @see com::sun::star::sheet::LabelRange
+ */
+published interface XLabelRanges: com::sun::star::container::XIndexAccess
+{
+
+ /** adds a new label range to the collection.
+
+ @param aLabelArea
+ the cell range containing the titles of the label range.
+
+ @param aDataArea
+ the cell range containing the values of the label range.
+ */
+ void addNew(
+ [in] com::sun::star::table::CellRangeAddress aLabelArea,
+ [in] com::sun::star::table::CellRangeAddress aDataArea );
+
+
+ /** removes a label range from the collection.
+ */
+ void removeByIndex( [in] long nIndex );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XLevelsSupplier.idl b/offapi/com/sun/star/sheet/XLevelsSupplier.idl
new file mode 100644
index 000000000..f86c1fa3b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XLevelsSupplier.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XLevelsSupplier_idl__
+#define __com_sun_star_sheet_XLevelsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the collection of levels of a data pilot source
+ hierarchy.
+
+ @see com::sun::star::sheet::DataPilotSourceHierarchy
+ @see com::sun::star::sheet::DataPilotSource
+ */
+interface XLevelsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of levels.
+
+ @see com::sun::star::sheet::DataPilotSourceLevels
+ */
+ com::sun::star::container::XNameAccess getLevels();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XMembersAccess.idl b/offapi/com/sun/star/sheet/XMembersAccess.idl
new file mode 100644
index 000000000..3a3a17484
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMembersAccess.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XMembersAccess_idl__
+#define __com_sun_star_sheet_XMembersAccess_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** is used to access named members in a data pilot source
+ level collection.
+
+ @see com::sun::star::sheet::DataPilotSourceMember
+ */
+interface XMembersAccess: com::sun::star::container::XNameAccess
+{
+
+ /** returns names of data pilot members in a locale independent
+ notation.
+
+ <p> Specifically date values are represented in an ISO 8601
+ YYYY-MM-DD notation and date+time as YYYY-MM-DD HH:MM:SS,
+ whereas the strings returned by
+ com::sun::star::container::XNameAccess::getElementNames() may
+ represent these in a locale dependent or user formatted notation
+ such as MM/DD/YY or DD.MM.YYYY or other. </p>
+
+ <p> The names returned by this function can NOT be used in calls
+ to com::sun::star::container::XNameAccess::getByName(). However,
+ the order returned in two immediately consecutive calls to
+ getElementNames() and getLocaleIndependentElementNames() maps to
+ the same elements in order. </p>
+
+ @returns
+ a sequence of all element names in this container.
+
+ */
+ sequence<string> getLocaleIndependentElementNames();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XMembersSupplier.idl b/offapi/com/sun/star/sheet/XMembersSupplier.idl
new file mode 100644
index 000000000..1fd13bf38
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMembersSupplier.idl
@@ -0,0 +1,51 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XMembersSupplier_idl__
+#define __com_sun_star_sheet_XMembersSupplier_idl__
+
+#include <com/sun/star/sheet/XMembersAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the collection of members of a data pilot source
+ level.
+
+ @see com::sun::star::sheet::DataPilotSourceLevel
+ @see com::sun::star::sheet::DataPilotSource
+ */
+interface XMembersSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of members.
+
+ @see com::sun::star::sheet::DataPilotSourceMembers
+ */
+ com::sun::star::sheet::XMembersAccess getMembers();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl b/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl
new file mode 100644
index 000000000..580a6ee84
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMultiFormulaTokens.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XMultiFormulaTokens_idl__
+#define __com_sun_star_sheet_XMultiFormulaTokens_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/FormulaToken.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** gives access to multiple sets of formula tokens.
+
+ A service implementing this interface can internally set an arbitrary
+ number of formula token sequences. The number of allowed formula token
+ sequences must be returned by the
+ com::sun::star::sheet::XMultiFormulaTokens::getCount()
+ method. When the client code tries to access formula tokens at index that
+ is outside the allowed index range, the implementation shall return an
+ com::sun::star::lang::IndexOutOfBoundsException.
+ */
+interface XMultiFormulaTokens
+{
+
+ /** returns the formula at specified index as sequence of tokens.
+
+ @throws IndexOutOfBoundsException
+ If the given index lies not in the valid range then an
+ com::sun::star::lang::IndexOutOfBoundsException
+ exception is thrown.
+ */
+ sequence< FormulaToken > getTokens( [in] long nIndex )
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** sets the formula at specified index as sequence of tokens.
+
+ @throws IndexOutOfBoundsException
+ If the given index lies not in the valid range then an
+ com::sun::star::lang::IndexOutOfBoundsException
+ exception is thrown.
+ */
+ void setTokens( [in] long nIndex, [in] sequence< FormulaToken > aTokens )
+ raises (::com::sun::star::lang::IndexOutOfBoundsException);
+
+
+ /** returns the number of formulas allowed in this formula token set.
+
+ @return the number of formulas the implementation supports.
+ */
+ long getCount();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XMultipleOperation.idl b/offapi/com/sun/star/sheet/XMultipleOperation.idl
new file mode 100644
index 000000000..9af543020
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XMultipleOperation.idl
@@ -0,0 +1,80 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XMultipleOperation_idl__
+#define __com_sun_star_sheet_XMultipleOperation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/sheet/TableOperationMode.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides a method to apply a Multiple Operations Table to the
+ cell range.
+ */
+published interface XMultipleOperation: com::sun::star::uno::XInterface
+{
+
+ /** creates a table of formulas (a "Multiple Operations Table").
+
+ <p>The specified formulas are repeated, with references to the
+ specified cells replaced by references to values in the first
+ column and/or row of the range.</p>
+
+ @param aFormulaRange
+ the range that contains formula cells (modes
+ TableOperationMode::ROW or
+ TableOperationMode::COLUMN) or a single formula
+ cell (mode TableOperationMode::BOTH).
+
+ @param nMode
+ specifies the calculation mode to fill the cells.
+
+ @param aColumnCell
+ contains the address of the cell that is referenced by
+ formulas in a row (mode TableOperationMode::ROW)
+ or by the formula cell used for two value series (mode
+ TableOperationMode::BOTH). This parameter is not
+ used if mode is TableOperationMode::COLUMN.
+
+ @param aRowCell
+ contains the address of the cell that is referenced by
+ formulas in a column (mode TableOperationMode::COLUMN)
+ or by the formula cell used for two value series (mode
+ TableOperationMode::BOTH). This parameter is not
+ used if mode is TableOperationMode::ROW.
+ */
+ void setTableOperation(
+ [in] com::sun::star::table::CellRangeAddress aFormulaRange,
+ [in] com::sun::star::sheet::TableOperationMode nMode,
+ [in] com::sun::star::table::CellAddress aColumnCell,
+ [in] com::sun::star::table::CellAddress aRowCell );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XNamedRange.idl b/offapi/com/sun/star/sheet/XNamedRange.idl
new file mode 100644
index 000000000..fe0feb758
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XNamedRange.idl
@@ -0,0 +1,90 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XNamedRange_idl__
+#define __com_sun_star_sheet_XNamedRange_idl__
+
+#include <com/sun/star/container/XNamed.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the settings of a named range in a spreadsheet
+ document.
+
+ @see com::sun::star::sheet::NamedRange
+ */
+published interface XNamedRange: com::sun::star::container::XNamed
+{
+
+ /** returns the content of the named range.
+
+ <p>The content can be a reference to a cell or cell range
+ or any formula expression.</p>
+ */
+ string getContent();
+
+
+ /** sets the content of the named range.
+
+ <p>The content can be a reference to a cell or cell range
+ or any formula expression.</p>
+ */
+ void setContent( [in] string aContent );
+
+
+ /** returns the position in the document which is used as a
+ base for relative references in the content.
+ */
+ com::sun::star::table::CellAddress getReferencePosition();
+
+
+ /** sets the position in the document which is used as a
+ base for relative references in the content.
+ */
+ void setReferencePosition(
+ [in] com::sun::star::table::CellAddress aReferencePosition );
+
+
+ /** returns the type of the named range.
+
+ <p>This is a combination of flags as defined in
+ NamedRangeFlag.</p>
+ */
+ long getType();
+
+
+ /** sets the type of the named range.
+
+ @param nType
+ a combination of flags that specify the type of a named range,
+ as defined in NamedRangeFlag.
+ */
+ void setType( [in] long nType );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XNamedRanges.idl b/offapi/com/sun/star/sheet/XNamedRanges.idl
new file mode 100644
index 000000000..0087dd605
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XNamedRanges.idl
@@ -0,0 +1,117 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XNamedRanges_idl__
+#define __com_sun_star_sheet_XNamedRanges_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/table/CellAddress.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/sheet/Border.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the members in a collection of named ranges and to
+ insert and remove them.
+
+ @see com::sun::star::sheet::NamedRanges
+ @see com::sun::star::sheet::NamedRange
+ */
+published interface XNamedRanges: com::sun::star::container::XNameAccess
+{
+
+ /** adds a new named range to the collection.
+
+ @param aName
+ the new name of the named range.
+
+ @param aContent
+ the formula expression.
+
+ <p>A cell range address is one possible content of a named
+ range.</p>
+
+ @param aPosition
+ specifies the base address for relative cell references.
+
+ @param nType
+ a combination of flags that specify the type of a named range,
+ as defined in NamedRangeFlag.
+
+ <p>This parameter will be zero for any common named range.</p>
+ */
+ void addNewByName(
+ [in] string aName,
+ [in] string aContent,
+ [in] com::sun::star::table::CellAddress aPosition,
+ [in] long nType );
+
+
+ /** creates named cell ranges from titles in a cell range.
+
+ <p>The names for the named ranges are taken from title cells in the
+ top or bottom row, or from the cells of the left or right column
+ of the range (depending on the parameter aBorder.
+ The named ranges refer to single columns or rows in the inner
+ part of the original range, excluding the labels.</p>
+
+ <p>Example: The source range is A1:B3. The named ranges shall be
+ created using row titles. This requires Border::TOP
+ for the second parameter. The method creates two named ranges. The
+ name of the first is equal to the content of cell A1 and contains the
+ range $Sheet.$A$2:$A$3 (excluding the title cell). The latter named
+ range is named using cell B1 and contains the cell range address
+ $Sheet.$B$2:$B$3.</p>
+
+ @param aSource
+ the cell range used to create the named ranges.
+
+ @param aBorder
+ specifies the location of the title cells.
+ */
+ void addNewFromTitles(
+ [in] com::sun::star::table::CellRangeAddress aSource,
+ [in] com::sun::star::sheet::Border aBorder );
+
+
+ /** removes a named range from the collection.
+ */
+ void removeByName( [in] string aName );
+
+
+ /** writes a list of all named ranges into the document.
+
+ <p>The first column of the list contains the names. The second
+ column contains the contents of the named ranges.</p>
+
+ @param aOutputPosition
+ specifies the top left cell of the output range.
+ */
+ void outputList( [in] com::sun::star::table::CellAddress aOutputPosition );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XPrintAreas.idl b/offapi/com/sun/star/sheet/XPrintAreas.idl
new file mode 100644
index 000000000..814462c62
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XPrintAreas.idl
@@ -0,0 +1,140 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XPrintAreas_idl__
+#define __com_sun_star_sheet_XPrintAreas_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a sheet which has print areas.
+ */
+published interface XPrintAreas: com::sun::star::uno::XInterface
+{
+
+ /** returns a sequence containing all print areas of the sheet.
+ */
+ sequence< com::sun::star::table::CellRangeAddress > getPrintAreas();
+
+
+ /** sets the print areas of the sheet.
+
+ <p>If none of the sheets in a document have print areas,
+ the whole sheets are printed. If any sheet contains print areas,
+ other sheets without print areas are not printed.</p>
+
+ @param aPrintAreas
+ a sequence containing all print areas for this sheet.
+ */
+ void setPrintAreas( [in] sequence< com::sun::star::table::CellRangeAddress > aPrintAreas );
+
+
+ /** returns, whether the title columns are repeated on all subsequent
+ print pages to the right.
+ */
+ boolean getPrintTitleColumns();
+
+
+ /** specifies whether the title columns are repeated on all subsequent
+ print pages to the right.
+
+ @param bPrintTitleColumns
+ if `TRUE`, title columns are repeated on each page.
+ */
+ void setPrintTitleColumns( [in] boolean bPrintTitleColumns );
+
+
+ /** returns the range that is specified as title columns range.
+
+ <p>Title columns can be automatically repeated on all subsequent
+ print pages to the right, using
+ XPrintAreas::setPrintTitleColumns().</p>
+
+ @returns
+ the range of columns that is specified as title columns range.
+ */
+ com::sun::star::table::CellRangeAddress getTitleColumns();
+
+
+ /** specifies a range of columns as title columns range.
+
+ <p>The rows of the passed range are ignored.</p>
+
+ <p>Title columns can be automatically repeated on all subsequent
+ print pages to the right, using
+ XPrintAreas::setPrintTitleColumns().</p>
+
+ @param aTitleColumns
+ the title columns range.
+ */
+ void setTitleColumns( [in] com::sun::star::table::CellRangeAddress aTitleColumns );
+
+
+ /** returns, whether the title rows are repeated on all subsequent
+ print pages to the bottom.
+ */
+ boolean getPrintTitleRows();
+
+
+ /** specifies whether the title rows are repeated on all subsequent
+ print pages to the bottom.
+
+ @param bPrintTitleRows
+ if `TRUE`, title rows are repeated on each page.
+ */
+ void setPrintTitleRows( [in] boolean bPrintTitleRows );
+
+
+ /** returns the range that is specified as title rows range.
+
+ <p>Title rows can be automatically repeated on all subsequent
+ print pages to the bottom, using
+ XPrintAreas::setPrintTitleRows().</p>
+
+ @returns
+ the range of rows that is specified as title rows range.
+ */
+ com::sun::star::table::CellRangeAddress getTitleRows();
+
+
+ /** specifies a range of rows as title rows range.
+
+ <p>The columns of the passed range are ignored.</p>
+
+ <p>Title rows can be automatically repeated on all subsequent
+ print pages to the bottom, using
+ XPrintAreas::setPrintTitleRows().</p>
+
+ @param aTitleRows
+ the title rows range.
+ */
+ void setTitleRows( [in] com::sun::star::table::CellRangeAddress aTitleRows );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XRangeSelection.idl b/offapi/com/sun/star/sheet/XRangeSelection.idl
new file mode 100644
index 000000000..8aa5ccc29
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRangeSelection.idl
@@ -0,0 +1,79 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XRangeSelection_idl__
+#define __com_sun_star_sheet_XRangeSelection_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+ published interface XRangeSelectionListener;
+ published interface XRangeSelectionChangeListener;
+
+
+/** allows to let the user to select a cell range.
+
+ @see com::sun::star::sheet::SpreadsheetView
+ */
+published interface XRangeSelection: com::sun::star::uno::XInterface
+{
+ /** starts the range selection.
+
+ @param aArguments
+ the RangeSelectionArguments that specify how the
+ range selection is done.
+ */
+ void startRangeSelection(
+ [in] sequence<com::sun::star::beans::PropertyValue> aArguments );
+
+ /** aborts the range selection.
+ */
+ void abortRangeSelection();
+
+ /** adds a listener that is notified when range selection is completed
+ or aborted.
+ */
+ void addRangeSelectionListener(
+ [in] com::sun::star::sheet::XRangeSelectionListener aListener );
+
+ /** removes the specified listener.
+ */
+ void removeRangeSelectionListener(
+ [in] com::sun::star::sheet::XRangeSelectionListener aListener );
+
+ /** adds a listener that is notified when the selected range is changed.
+ */
+ void addRangeSelectionChangeListener(
+ [in] com::sun::star::sheet::XRangeSelectionChangeListener aListener );
+
+ /** removes the specified listener.
+ */
+ void removeRangeSelectionChangeListener(
+ [in] com::sun::star::sheet::XRangeSelectionChangeListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl b/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl
new file mode 100644
index 000000000..dfa544e55
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRangeSelectionChangeListener.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XRangeSelectionChangeListener_idl__
+#define __com_sun_star_sheet_XRangeSelectionChangeListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/sheet/RangeSelectionEvent.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** allows notification when the selected range is changed.
+
+ @see com::sun::star::sheet::XRangeSelection
+ */
+published interface XRangeSelectionChangeListener: com::sun::star::lang::XEventListener
+{
+ /** is called when the selected range is changed while
+ range selection is active.
+ */
+ void descriptorChanged( [in] com::sun::star::sheet::RangeSelectionEvent aEvent );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XRangeSelectionListener.idl b/offapi/com/sun/star/sheet/XRangeSelectionListener.idl
new file mode 100644
index 000000000..c313b1f35
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRangeSelectionListener.idl
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XRangeSelectionListener_idl__
+#define __com_sun_star_sheet_XRangeSelectionListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/sheet/RangeSelectionEvent.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** allows notification when range selection is completed or aborted.
+
+ @see com::sun::star::sheet::XRangeSelection
+ */
+published interface XRangeSelectionListener: com::sun::star::lang::XEventListener
+{
+ /** is called when range selection is completed.
+ */
+ void done( [in] com::sun::star::sheet::RangeSelectionEvent aEvent );
+
+ /** is called when range selection is aborted.
+ */
+ void aborted( [in] com::sun::star::sheet::RangeSelectionEvent aEvent );
+};
+
+
+}; }; }; };
+
+
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XRecentFunctions.idl b/offapi/com/sun/star/sheet/XRecentFunctions.idl
new file mode 100644
index 000000000..8c092cf5b
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XRecentFunctions.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XRecentFunctions_idl__
+#define __com_sun_star_sheet_XRecentFunctions_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a list of recently used functions.
+
+ @see com::sun::star::sheet::RecentFunctions
+ */
+published interface XRecentFunctions: com::sun::star::uno::XInterface
+{
+
+ /** returns a sequence of those functions that were most recently used.
+
+ <P>The functions are represented by their identifiers.</P>
+
+ @returns
+ the sequence of function identifiers most recently used.
+ */
+ sequence< long > getRecentFunctionIds();
+
+
+ /** sets the list of those functions that were most recently used.
+
+ <p>The functions are represented by their identifiers.</p>
+
+ @param aRecentFunctionIds
+ the sequence of function identifiers most recently used.
+ */
+ void setRecentFunctionIds( [in] sequence< long > aRecentFunctionIds );
+
+
+ /** returns the maximum number of entries that will be stored as
+ recently used functions.
+ */
+ long getMaxRecentFunctions();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XResultListener.idl b/offapi/com/sun/star/sheet/XResultListener.idl
new file mode 100644
index 000000000..cbf2e8cf4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XResultListener.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XResultListener_idl__
+#define __com_sun_star_sheet_XResultListener_idl__
+
+#include <com/sun/star/lang/XEventListener.idl>
+#include <com/sun/star/sheet/ResultEvent.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** allows notification when a new volatile function result is available.
+
+ @see com::sun::star::sheet::XVolatileResult
+ */
+published interface XResultListener: com::sun::star::lang::XEventListener
+{
+
+ /** is called when a new value is available.
+ */
+ void modified( [in] com::sun::star::sheet::ResultEvent aEvent );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XScenario.idl b/offapi/com/sun/star/sheet/XScenario.idl
new file mode 100644
index 000000000..9a02c9cb7
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenario.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XScenario_idl__
+#define __com_sun_star_sheet_XScenario_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the settings of a scenario sheet.
+
+ @see com::sun::star::sheet::Spreadsheet
+ */
+published interface XScenario: com::sun::star::uno::XInterface
+{
+
+ /** returns `TRUE` if the current object is a scenario.
+ */
+ boolean getIsScenario();
+
+
+ /** returns the comment for the scenario.
+ */
+ string getScenarioComment();
+
+
+ /** sets a new comment for the scenario.
+ */
+ void setScenarioComment( [in] string aScenarioComment );
+
+
+ /** adds more ranges to the scenario.
+ */
+ void addRanges(
+ [in] sequence< com::sun::star::table::CellRangeAddress > aRanges );
+
+
+ /** applies the scenario.
+
+ <p>The contents of the scenario ranges are copied into the first
+ non-scenario sheet which is in front of the sheet containing
+ the scenario by itself.</p>
+ */
+ void apply();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XScenarioEnhanced.idl b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl
new file mode 100644
index 000000000..e9c348b76
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenarioEnhanced.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XScenarioEnhanced_idl__
+#define __com_sun_star_sheet_XScenarioEnhanced_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides enhanced access to the settings of a scenario sheet.
+
+ @see com::sun::star::sheet::Spreadsheet
+
+ @see com::sun::star::sheet::Scenario
+
+ @see com::sun::star::sheet::XScenario
+
+ @since OOo 2.0
+
+ */
+interface XScenarioEnhanced: com::sun::star::uno::XInterface
+{
+
+ /** gets the ranges to the scenario.
+ */
+ sequence< com::sun::star::table::CellRangeAddress > getRanges();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XScenarios.idl b/offapi/com/sun/star/sheet/XScenarios.idl
new file mode 100644
index 000000000..c39158df8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenarios.idl
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XScenarios_idl__
+#define __com_sun_star_sheet_XScenarios_idl__
+
+#include <com/sun/star/container/XNameAccess.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access via name to the scenarios in a collection and inserting
+ and removing scenarios.
+
+ @see com::sun::star::sheet::Scenarios
+ @see com::sun::star::sheet::Spreadsheet
+ */
+published interface XScenarios: com::sun::star::container::XNameAccess
+{
+
+ /** creates a new scenario and adds it to the collection.
+
+ @param aName
+ the name of the scenario (used i.e. for collection access).
+
+ @param aRanges
+ the cell ranges contained in the scenario.
+
+ @param aComment
+ the user defined comment for the scenario.
+ */
+ void addNewByName(
+ [in] string aName,
+ [in] sequence< com::sun::star::table::CellRangeAddress > aRanges,
+ [in] string aComment );
+
+
+ /** removes a scenario from the collection.
+ */
+ void removeByName( [in] string aName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XScenariosSupplier.idl b/offapi/com/sun/star/sheet/XScenariosSupplier.idl
new file mode 100644
index 000000000..1fd8c42b3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XScenariosSupplier.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XScenariosSupplier_idl__
+#define __com_sun_star_sheet_XScenariosSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XScenarios.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a collection of scenarios.
+ */
+published interface XScenariosSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of scenarios.
+
+ @see com::sun::star::sheet::Scenarios
+ */
+ com::sun::star::sheet::XScenarios getScenarios();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl b/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl
new file mode 100644
index 000000000..8dfaee941
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSelectedSheetsSupplier.idl
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XSelectedSheetsSupplier_idl__
+#define __com_sun_star_sheet_XSelectedSheetsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module sheet {
+
+/**
+ * @since LibreOffice 3.5
+ */
+interface XSelectedSheetsSupplier: com::sun::star::uno::XInterface
+{
+ /**
+ returns the indices of currently selected sheets. Sheet indices are
+ 0-based.
+ */
+ sequence<long> getSelectedSheets();
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotation.idl b/offapi/com/sun/star/sheet/XSheetAnnotation.idl
new file mode 100644
index 000000000..02b7f2fa2
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotation.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetAnnotation_idl__
+#define __com_sun_star_sheet_XSheetAnnotation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to query data of the annotation and to show and
+ hide it.
+
+ @see com::sun::star::sheet::CellAnnotation
+ */
+published interface XSheetAnnotation: com::sun::star::uno::XInterface
+{
+
+ /** returns the position of cell in the spreadsheet document that
+ contains this annotation.
+ */
+ com::sun::star::table::CellAddress getPosition();
+
+
+ /** returns the name of the user who last changed the annotation.
+ */
+ string getAuthor();
+
+
+ /** returns a formatted string representing the date when the
+ annotation was last changed.
+ */
+ string getDate();
+
+
+ /** returns, whether the annotation is permanently visible.
+ */
+ boolean getIsVisible();
+
+
+ /** specifies whether the annotation is permanently visible.
+ */
+ void setIsVisible( [in] boolean bIsVisible );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl b/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl
new file mode 100644
index 000000000..149518a17
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotationAnchor.idl
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationAnchor_idl__
+#define __com_sun_star_sheet_XSheetAnnotationAnchor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XSheetAnnotation.idl>
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** provides access to a cell annotation attached to a spreadsheet cell.
+
+ @see com::sun::star::sheet::SheetCell
+ @see com::sun::star::sheet::CellAnnotation
+ */
+published interface XSheetAnnotationAnchor: com::sun::star::uno::XInterface
+{
+
+ /** returns the annotation at this anchor.
+ */
+ com::sun::star::sheet::XSheetAnnotation getAnnotation();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl b/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl
new file mode 100644
index 000000000..5d37b766c
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotationShapeSupplier.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationShapeSupplier_idl__
+#define __com_sun_star_sheet_XSheetAnnotationShapeSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/drawing/XShape.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to get the shape of o annotation
+
+ @see com::sun::star::sheet::CellAnnotation
+
+ @see com::sun::star::sheet::CellAnnotationShape
+ */
+published interface XSheetAnnotationShapeSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the shape of the annotation
+ */
+ com::sun::star::drawing::XShape getAnnotationShape();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotations.idl b/offapi/com/sun/star/sheet/XSheetAnnotations.idl
new file mode 100644
index 000000000..2327c4f51
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotations.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetAnnotations_idl__
+#define __com_sun_star_sheet_XSheetAnnotations_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access cell annotations via index and to
+ insert and remove annotations.
+
+ @see com::sun::star::sheet::CellAnnotation
+ @see com::sun::star::sheet::SheetCell
+ */
+published interface XSheetAnnotations: com::sun::star::container::XIndexAccess
+{
+
+ /** creates a new annotation.
+
+ <p>This method creates a new annotation object, attaches it to the
+ specified cell and inserts it into the collection.</p>
+
+ @param aPosition
+ contains the address of the cell that will contain the
+ annotation.
+
+ @param aText
+ contains the annotation text.
+ */
+ void insertNew(
+ [in] com::sun::star::table::CellAddress aPosition,
+ [in] string aText );
+
+
+ /** removes a cell annotation from the collection.
+
+ <p>This method removes the annotation from its cell and from the
+ collection.</p>
+
+ @param nIndex
+ is the index of the annotation in the collection.
+ */
+ void removeByIndex( [in] long nIndex );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl b/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl
new file mode 100644
index 000000000..05647fcb9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAnnotationsSupplier.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__
+#define __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XSheetAnnotations.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a collection of cell annotations.
+ */
+published interface XSheetAnnotationsSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of cell annotations.
+
+ @see com::sun::star::sheet::CellAnnotations
+ */
+ com::sun::star::sheet::XSheetAnnotations getAnnotations();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetAuditing.idl b/offapi/com/sun/star/sheet/XSheetAuditing.idl
new file mode 100644
index 000000000..7a826a8a9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetAuditing.idl
@@ -0,0 +1,102 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetAuditing_idl__
+#define __com_sun_star_sheet_XSheetAuditing_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access auditing (detective) features in a
+ spreadsheet.
+ */
+published interface XSheetAuditing: com::sun::star::uno::XInterface
+{
+
+ /** removes arrows for one level of dependents of a formula cell.
+
+ <p>If the method is executed again for the same cell, the previous
+ level of dependent cells is removed.</p>
+
+ @param aPosition
+ the address of the formula cell.
+ */
+ boolean hideDependents( [in] com::sun::star::table::CellAddress aPosition );
+
+
+ /** removes arrows for one level of precedents of a formula cell.
+
+ <p>If the method is executed again for the same cell, the previous
+ level of dependent cells is removed.</p>
+
+ @param aPosition
+ the address of the formula cell.
+ */
+ boolean hidePrecedents( [in] com::sun::star::table::CellAddress aPosition );
+
+
+ /** draws arrows between a formula cell and its dependents.
+
+ <p>If the method is executed again for the same cell, the next
+ level of dependent cells is marked.</p>
+
+ @param aPosition
+ the address of the formula cell.
+ */
+ boolean showDependents( [in] com::sun::star::table::CellAddress aPosition );
+
+
+ /** draws arrows between a formula cell and its precedents.
+
+ <p>If the method is executed again for the same cell, the next
+ level of dependent cells is marked.</p>
+
+ @param aPosition
+ the address of the formula cell.
+ */
+ boolean showPrecedents( [in] com::sun::star::table::CellAddress aPosition );
+
+
+ /** draws arrows between a formula cell containing an error
+ and the cells causing the error.
+ */
+ boolean showErrors( [in] com::sun::star::table::CellAddress aPosition );
+
+
+ /** marks all cells containing invalid values.
+ */
+ boolean showInvalid();
+
+
+ /** removes all auditing arrows from the spreadsheet.
+ */
+ void clearArrows();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetCellCursor.idl b/offapi/com/sun/star/sheet/XSheetCellCursor.idl
new file mode 100644
index 000000000..d65a9de74
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellCursor.idl
@@ -0,0 +1,95 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetCellCursor_idl__
+#define __com_sun_star_sheet_XSheetCellCursor_idl__
+
+#include <com/sun/star/sheet/XSheetCellRange.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides advanced methods to control the position of a cursor in a
+ spreadsheet.
+
+ @see com::sun::star::sheet::SheetCellCursor
+ */
+published interface XSheetCellCursor: com::sun::star::sheet::XSheetCellRange
+{
+
+ /** expands the cursor into the region containing the cells to which
+ it currently points.
+
+ <p>A region is a cell range bounded by empty cells.</p>
+ */
+ void collapseToCurrentRegion();
+
+
+ /** collapses the cursor into the range of the array formula to which
+ it is currently pointing.
+
+ <p>To get the correct result, the top left cell of the original
+ cursor must point to any cell containing an array formula.
+ If not, the cursor is left unchanged.</p>
+ */
+ void collapseToCurrentArray();
+
+
+ /** expands the cursor to merged cell ranges.
+
+ <p>Expands the current cursor range in a way so that all merged
+ cell ranges intersecting the current range will fit completely.
+ If the cursor does not point to any range with merged cells, it
+ is left unchanged.</p>
+ */
+ void collapseToMergedArea();
+
+
+ /** expands the cursor to include the entire columns of the cells
+ to which it is currently pointing.
+ */
+ void expandToEntireColumns();
+
+
+ /** expands the cursor to include the entire rows of the cells to
+ which it is currently pointing.
+ */
+ void expandToEntireRows();
+
+
+ /** changes the size of a cursor range.
+
+ <p>The top left cell of the cursor keeps unmodified. </p>
+
+ @param nColumns
+ the number of columns of the new cursor range.
+ @param nRows
+ the number of rows of the new cursor range.
+ */
+ void collapseToSize( [in] long nColumns, [in] long nRows );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetCellRange.idl b/offapi/com/sun/star/sheet/XSheetCellRange.idl
new file mode 100644
index 000000000..c76a15aaf
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellRange.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetCellRange_idl__
+#define __com_sun_star_sheet_XSheetCellRange_idl__
+
+#include <com/sun/star/table/XCellRange.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+ published interface XSpreadsheet;
+
+
+/** provides access to the spreadsheet that contains a cell range.
+
+ @see com::sun::star::sheet::SheetCellRange
+ */
+published interface XSheetCellRange: com::sun::star::table::XCellRange
+{
+
+ /** returns the spreadsheet interface which contains the cell range.
+
+ @returns
+ a Spreadsheet object.
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+ com::sun::star::sheet::XSpreadsheet getSpreadsheet();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl b/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl
new file mode 100644
index 000000000..f2b5bec7f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellRangeContainer.idl
@@ -0,0 +1,105 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetCellRangeContainer_idl__
+#define __com_sun_star_sheet_XSheetCellRangeContainer_idl__
+
+#include <com/sun/star/sheet/XSheetCellRanges.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access cell ranges in a collection via index and
+ to add and remove cell ranges.
+
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published interface XSheetCellRangeContainer: com::sun::star::sheet::XSheetCellRanges
+{
+
+ /** adds the given range to the collection of cell ranges.
+
+ @param aCellRangeAddress
+ contains the address of the new range.
+
+ @param bMergeRanges
+ defines how the range should be added. To merge the ranges
+ takes more time, but the memory usage is lower.
+ */
+ void addRangeAddress(
+ [in] com::sun::star::table::CellRangeAddress aCellRangeAddress,
+ [in] boolean bMergeRanges );
+
+
+ /** removes the given range from the collection of cell ranges.
+
+ @param aCellRangeAddress
+ contains the address of the range to be removed.
+
+ <p>The specified range must fit exactly to an element of the
+ collection. The method does not try to shorten a range.</p>
+
+ @throws com::sun::star::container::NoSuchElementException
+ if the collection does not contain the specified range.
+ */
+ void removeRangeAddress(
+ [in] com::sun::star::table::CellRangeAddress aCellRangeAddress )
+ raises( com::sun::star::container::NoSuchElementException );
+
+
+ /** adds the given ranges to the collection of cell ranges.
+
+ @param aCellRangeAddresses
+ contains a sequence of addresses of all new ranges.
+
+ @param bMergeRanges
+ defines how the ranges should be added. To merge the ranges
+ takes more time, but the memory usage is lower.
+ */
+ void addRangeAddresses(
+ [in] sequence<com::sun::star::table::CellRangeAddress> aCellRangeAddresses,
+ [in] boolean bMergeRanges );
+
+
+ /** removes the given ranges from the collection of cell ranges.
+
+ @param aCellRangeAddresses
+ contains a sequence of addresses of all ranges to be removed.
+
+ <p>All specified ranges must fit exactly to elements of the
+ collection. The method does not try to shorten ranges.</p>
+
+ @throws com::sun::star::container::NoSuchElementException
+ if the collection does not contain any of the specified ranges.
+ */
+ void removeRangeAddresses(
+ [in] sequence<com::sun::star::table::CellRangeAddress> aCellRangeAddresses )
+ raises( com::sun::star::container::NoSuchElementException);
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetCellRanges.idl b/offapi/com/sun/star/sheet/XSheetCellRanges.idl
new file mode 100644
index 000000000..8ad3fc491
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCellRanges.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetCellRanges_idl__
+#define __com_sun_star_sheet_XSheetCellRanges_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/container/XEnumerationAccess.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access cell ranges in a collection via index and
+ other helper methods.
+
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published interface XSheetCellRanges: com::sun::star::container::XIndexAccess
+{
+
+ /** returns the collection of all used cells.
+
+ @see com::sun::star::sheet::Cells
+ */
+ com::sun::star::container::XEnumerationAccess getCells();
+
+
+ /** creates a string with addresses of all contained cell ranges.
+
+ <p>The range addresses are separated with semicolons. For instance
+ the string could have the form "Sheet1.A1:C3;Sheet2.D5:F8".</p>
+
+ @returns
+ a string containing the addresses of all cell ranges.
+ */
+ string getRangeAddressesAsString();
+
+
+ /** creates a sequence with addresses of all contained cell ranges.
+
+ @returns
+ a sequence with the addresses of all cell ranges.
+ */
+ sequence<com::sun::star::table::CellRangeAddress> getRangeAddresses();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetCondition.idl b/offapi/com/sun/star/sheet/XSheetCondition.idl
new file mode 100644
index 000000000..fffeb9702
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCondition.idl
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetCondition_idl__
+#define __com_sun_star_sheet_XSheetCondition_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/ConditionOperator.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access the settings of a condition in a
+ conditional format or data validation.
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ @see com::sun::star::sheet::TableValidation
+ */
+published interface XSheetCondition: com::sun::star::uno::XInterface
+{
+
+ /** returns the operator in the condition.
+ */
+ com::sun::star::sheet::ConditionOperator getOperator();
+
+
+ /** sets the operator in the condition.
+ */
+ void setOperator(
+ [in] com::sun::star::sheet::ConditionOperator nOperator );
+
+
+ /** returns either the comparison value, which is used in the condition,
+ or the first value if two values are needed for the operator.
+
+ @returns
+ a formula, a numeric constant, or a string constant in quotes.
+ */
+ string getFormula1();
+
+
+ /** sets either the comparison value, which is used in the condition,
+ or the first value if two values are needed for the operator.
+
+ @param aFormula1
+ a formula, a numeric constant, or a string constant in quotes.
+ */
+ void setFormula1( [in] string aFormula1 );
+
+
+ /** if two values are needed for the operator, this method returns
+ the second one.
+
+ @returns
+ a formula, a numeric constant, or a string constant in quotes.
+ */
+ string getFormula2();
+
+
+ /** if two values are needed for the operator, this method sets
+ the second one.
+
+ @param aFormula2
+ a formula, a numeric constant, or a string constant in quotes.
+ */
+ void setFormula2( [in] string aFormula2 );
+
+
+ /** returns the position in the document which is used as a base for
+ relative references in the formulas.
+ */
+ com::sun::star::table::CellAddress getSourcePosition();
+
+
+ /** sets the position in the document which is used as a base for
+ relative references in the formulas.
+ */
+ void setSourcePosition(
+ [in] com::sun::star::table::CellAddress aSourcePosition );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetCondition2.idl b/offapi/com/sun/star/sheet/XSheetCondition2.idl
new file mode 100644
index 000000000..afbfd72a8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetCondition2.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XSheetCondition2_idl__
+#define __com_sun_star_sheet_XSheetCondition2_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/ConditionOperator2.idl>
+#include <com/sun/star/sheet/XSheetCondition.idl>
+#include <com/sun/star/table/CellAddress.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access the settings of a condition in a
+ conditional format or data validation.
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ @see com::sun::star::sheet::TableValidation
+ @see com::sun::star::sheet::XSheetCondition
+ */
+interface XSheetCondition2: com::sun::star::sheet::XSheetCondition
+{
+
+ /** returns the operator in the condition (new interface).
+ */
+ long getConditionOperator();
+
+
+ /** sets the operator in the condition (new interface).
+ */
+ void setConditionOperator(
+ [in] long nOperator );
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl b/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl
new file mode 100644
index 000000000..14c6659a5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetConditionalEntries.idl
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntries_idl__
+#define __com_sun_star_sheet_XSheetConditionalEntries_idl__
+
+#include <com/sun/star/container/XIndexAccess.idl>
+#include <com/sun/star/beans/PropertyValue.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to add and remove conditions of a conditional format.
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ @see com::sun::star::sheet::TableConditionalEntry
+ */
+published interface XSheetConditionalEntries: com::sun::star::container::XIndexAccess
+{
+
+ /** adds a conditional entry to the format.
+
+ <p>Supported properties are:</p>
+
+ <dl>
+ <dt>ConditionOperator Operator</dt>
+ <dd>contains the operation to perform for this condition.</dd>
+
+ <dt>`string` Formula1</dt>
+ <dd>contains the value or formula for the operation.</dd>
+
+ <dt>`string` Formula2</dt>
+ <dd>contains the second value or formula for the operation (used with
+ ConditionOperator::BETWEEN or
+ ConditionOperator::NOT_BETWEEN operations).</dd>
+
+ <dt>com::sun::star::table::CellAddress
+ SourcePosition</dt>
+ <dd>contains the base address for relative cell references in formulas.
+ </dd>
+
+ <dt>`string` StyleName</dt>
+ <dd>contains the name of the cell style used by this condition.</dd>
+ </dl>
+
+ @see com::sun::star::sheet::TableConditionalFormat
+ */
+ void addNew( [in] sequence< com::sun::star::beans::PropertyValue > aConditionalEntry );
+
+
+ /** removes a conditional entry from the format.
+ */
+ void removeByIndex( [in] long nIndex );
+
+
+ /** clears all condition entries.
+ */
+ void clear();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl b/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl
new file mode 100644
index 000000000..45caecd8d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetConditionalEntry.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetConditionalEntry_idl__
+#define __com_sun_star_sheet_XSheetConditionalEntry_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access the cell style name for a condition in a
+ conditional format.
+
+ @see com::sun::star::sheet::TableConditionalEntry
+ */
+published interface XSheetConditionalEntry: com::sun::star::uno::XInterface
+{
+
+ /** returns the name of the cell style that is used when the condition
+ is fulfilled.
+ */
+ string getStyleName();
+
+
+ /** sets the name of the cell style that is used when the condition
+ is fulfilled.
+ */
+ void setStyleName( [in] string aStyleName );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
new file mode 100644
index 000000000..d181d9ce0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor_idl__
+#define __com_sun_star_sheet_XSheetFilterDescriptor_idl__
+
+#include <com/sun/star/sheet/TableFilterField.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a collection of filter conditions (filter fields).
+
+ @see SheetFilterDescriptor
+ */
+published interface XSheetFilterDescriptor: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of filter fields.
+ */
+ sequence< TableFilterField > getFilterFields();
+
+
+ /** sets a new collection of filter fields.
+ */
+ void setFilterFields( [in] sequence< TableFilterField > aFilterFields );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
new file mode 100644
index 000000000..50460035d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor2.idl
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor2_idl__
+#define __com_sun_star_sheet_XSheetFilterDescriptor2_idl__
+
+#include <com/sun/star/sheet/TableFilterField2.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a collection of filter conditions (filter fields).
+
+ <p>This interface uses the TableFilterField2 struct,
+ whereas the XSheetFilterDescriptor interface uses the
+ TableFilterField struct.</p>
+
+ @see SheetFilterDescriptor
+ @since OOo 3.2
+ */
+published interface XSheetFilterDescriptor2: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of filter fields.
+ */
+ sequence< TableFilterField2 > getFilterFields2();
+
+
+ /** sets a new collection of filter fields.
+ */
+ void setFilterFields2( [in] sequence< TableFilterField2 > aFilterFields );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl b/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl
new file mode 100644
index 000000000..2ceadcbd3
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterDescriptor3.idl
@@ -0,0 +1,46 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XSheetFilterDescriptor3_idl__
+#define __com_sun_star_sheet_XSheetFilterDescriptor3_idl__
+
+#include <com/sun/star/sheet/TableFilterField3.idl>
+#include <com/sun/star/uno/XInterface.idl>
+
+module com { module sun { module star { module sheet {
+
+/** provides access to a collection of filter conditions (filter fields).
+
+ <p>This interface uses the TableFilterField3 struct.
+ whereas the XSheetFilterDescriptor2 interface uses the
+ TableFilterField2 struct.</p>
+
+ @see SheetFilterDescriptor2
+
+ @since LibreOffice 3.5
+ */
+interface XSheetFilterDescriptor3: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of filter fields.
+ */
+ sequence<TableFilterField3> getFilterFields3();
+
+
+ /** sets a new collection of filter fields.
+ */
+ void setFilterFields3( [in] sequence<TableFilterField3> aFilterFields );
+
+};
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetFilterable.idl b/offapi/com/sun/star/sheet/XSheetFilterable.idl
new file mode 100644
index 000000000..94e1d5f79
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterable.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetFilterable_idl__
+#define __com_sun_star_sheet_XSheetFilterable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents something that can be filtered using an XSheetFilterDescriptor.
+
+ @see com::sun::star::sheet::XSheetFilterableEx
+ */
+published interface XSheetFilterable: com::sun::star::uno::XInterface
+{
+
+ /** creates a filter descriptor.
+
+ @param bEmpty
+ if set to `TRUE`, creates an empty filter descriptor. If set to
+ `FALSE`, fills the filter descriptor with previous settings of
+ the current object (i.e. a database range).
+ */
+ com::sun::star::sheet::XSheetFilterDescriptor
+ createFilterDescriptor( [in] boolean bEmpty );
+
+
+ /** performs a filter operation, using the settings of the passed filter
+ descriptor.
+
+ @param xDescriptor
+ the settings for the filter operation.
+ */
+ void filter(
+ [in] com::sun::star::sheet::XSheetFilterDescriptor xDescriptor );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetFilterableEx.idl b/offapi/com/sun/star/sheet/XSheetFilterableEx.idl
new file mode 100644
index 000000000..a4e4d808e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetFilterableEx.idl
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XSheetFilterableEx_idl__
+#define __com_sun_star_sheet_XSheetFilterableEx_idl__
+
+#include <com/sun/star/sheet/XSheetFilterable.idl>
+#include <com/sun/star/sheet/XSheetFilterDescriptor.idl>
+
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents something from which criteria for filtering can be read.
+
+ <p>In general the current object will be used only to create the
+ descriptor to filter another object, i.e. the advanced filter feature
+ in a spreadsheet.</p>
+
+ @see com::sun::star::sheet::SheetCellRange
+ */
+published interface XSheetFilterableEx: com::sun::star::sheet::XSheetFilterable
+{
+
+ /** creates a filter descriptor for the specified filterable object from
+ the contents of this object.
+ */
+ com::sun::star::sheet::XSheetFilterDescriptor
+ createFilterDescriptorByObject(
+ [in] com::sun::star::sheet::XSheetFilterable xObject );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetLinkable.idl b/offapi/com/sun/star/sheet/XSheetLinkable.idl
new file mode 100644
index 000000000..e2ede26a5
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetLinkable.idl
@@ -0,0 +1,112 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetLinkable_idl__
+#define __com_sun_star_sheet_XSheetLinkable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/SheetLinkMode.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** enables a sheet to refer to another sheet in a different document.
+
+ <p>To insert a sheet link, the sheet used as linked sheet has to exist
+ already. The method XSheetLinkable::link() creates a
+ SheetLink object in the document's SheetLinks
+ collection and links the sheet to the specified external sheet.</p>
+
+ @see com::sun::star::sheet::SheetLinks
+ @see com::sun::star::sheet::SheetLink
+
+ @deprecated
+ */
+published interface XSheetLinkable: com::sun::star::uno::XInterface
+{
+
+ /** returns the link mode of the spreadsheet.
+
+ <p>If the returned value is SheetLinkMode::NORMAL,
+ formulas are copied. With SheetLinkMode::VALUE,
+ only results of formulas are used.</p>
+ */
+ com::sun::star::sheet::SheetLinkMode getLinkMode();
+
+
+ /** enables the linking of the sheet and controls whether formulas
+ are copied.
+
+ @param nLinkMode
+ the value specifying the link mode for this spreadsheet.
+
+ <p>If the value is SheetLinkMode::NORMAL,
+ formulas are copied. With SheetLinkMode::VALUE,
+ only results of formulas are used.</p>
+ */
+ void setLinkMode( [in] com::sun::star::sheet::SheetLinkMode nLinkMode );
+
+
+ /** returns the target URL of the link.
+ */
+ string getLinkUrl();
+
+
+ /** sets the target URL of the link.
+
+ <p>A SheetLink object with the same file name must
+ exist already or the link will not work.</p>
+ */
+ void setLinkUrl( [in] string aLinkUrl );
+
+
+ /** returns the sheet name of the sheet in the source document.
+ */
+ string getLinkSheetName();
+
+
+ /** sets the name of the linked sheet in the source document.
+
+ <p>This method sets the sheet name in the SheetLink
+ object, it does not modify the sheet name in the source document.</p>
+ */
+ void setLinkSheetName( [in] string aLinkSheetName );
+
+
+ /** links the sheet to another sheet in another document.
+
+ <p>A SheetLink object is created if it does not exist,
+ and the link mode, the URL of the linked document and the linked
+ sheet name are set.</p>
+ */
+ void link( [in] string aUrl,
+ [in] string aSheetName,
+ [in] string aFilterName,
+ [in] string aFilterOptions,
+ [in] com::sun::star::sheet::SheetLinkMode nMode );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetOperation.idl b/offapi/com/sun/star/sheet/XSheetOperation.idl
new file mode 100644
index 000000000..7ec2e1a6d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetOperation.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetOperation_idl__
+#define __com_sun_star_sheet_XSheetOperation_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/GeneralFunction.idl>
+#include <com/sun/star/uno/Exception.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to execute operations on a cell range or ranges.
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published interface XSheetOperation: com::sun::star::uno::XInterface
+{
+
+ /** computes a general function based on all cells in the current
+ cell range(s).
+
+ @param nFunction
+ is the function used to compute the result.
+
+ @returns
+ the result of the calculation.
+ */
+ double computeFunction(
+ [in] com::sun::star::sheet::GeneralFunction nFunction )
+ raises( com::sun::star::uno::Exception ); //! unnecessary
+
+
+ /** clears the specified contents of the current cell range(s).
+
+ @param nContentFlags
+ a combination of CellFlags flags selecting the
+ contents to be deleted.
+ */
+ void clearContents( [in] long nContentFlags );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetOutline.idl b/offapi/com/sun/star/sheet/XSheetOutline.idl
new file mode 100644
index 000000000..a20c52d66
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetOutline.idl
@@ -0,0 +1,116 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetOutline_idl__
+#define __com_sun_star_sheet_XSheetOutline_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/table/TableOrientation.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access the outlines of a sheet.
+ */
+published interface XSheetOutline: com::sun::star::uno::XInterface
+{
+
+ /** creates an outline group.
+
+ @param aRange
+ contains the range of rows or columns, depending on
+ the parameter nOrientation.
+
+ @param nOrientation
+ the orientation of the new outline (columns or rows).
+ */
+ void group(
+ [in] com::sun::star::table::CellRangeAddress aRange,
+ [in] com::sun::star::table::TableOrientation nOrientation );
+
+
+ /** removes outline groups.
+
+ <p>In the specified range, all outline groups on the innermost
+ level are removed.</p>
+
+ @param aRange
+ contains the range of rows or columns, depending on
+ the parameter nOrientation.
+
+ @param nOrientation
+ the orientation of the outlines to remove (columns or rows).
+ */
+ void ungroup(
+ [in] com::sun::star::table::CellRangeAddress aRange,
+ [in] com::sun::star::table::TableOrientation nOrientation );
+
+
+ /** creates outline groups from formula references in a range.
+
+ @param aRange
+ the cell range for which outlines are generated.
+ */
+ void autoOutline( [in] com::sun::star::table::CellRangeAddress aRange );
+
+
+ /** removes all outline groups from the sheet.
+ */
+ void clearOutline();
+
+
+ /** collapses an outline group.
+
+ @param aRange
+ the cell range for which the outlines are collapsed.
+ */
+ void hideDetail( [in] com::sun::star::table::CellRangeAddress aRange );
+
+
+ /** reopens an outline group.
+
+ @param aRange
+ the cell range for which the outlines are reopened.
+ */
+ void showDetail( [in] com::sun::star::table::CellRangeAddress aRange );
+
+
+ /** shows all outlined groups below a specific level.
+
+ @param nLevel
+ all outline levels from 1 to this value will be opened and
+ the higher levels will be closed.
+
+ @param nOrientation
+ the orientation of the outlines (columns or rows).
+ */
+ void showLevel(
+ [in] short nLevel,
+ [in] com::sun::star::table::TableOrientation nOrientation );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetPageBreak.idl b/offapi/com/sun/star/sheet/XSheetPageBreak.idl
new file mode 100644
index 000000000..57abdbba9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetPageBreak.idl
@@ -0,0 +1,76 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetPageBreak_idl__
+#define __com_sun_star_sheet_XSheetPageBreak_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/TablePageBreakData.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to page breaks in a sheet.
+
+ @deprecated
+ */
+published interface XSheetPageBreak: com::sun::star::uno::XInterface
+{
+
+ /** returns a sequence of descriptions of all horizontal page breaks
+ on the sheet.
+
+ <P>This includes manual and automatic page breaks. To add or
+ remove manual breaks, use the
+ com::sun::star::table::TableColumn::IsStartOfNewPage
+ property of the column.</P>
+
+ @returns
+ a sequence of structs containing column page break data.
+ */
+ sequence< com::sun::star::sheet::TablePageBreakData > getColumnPageBreaks();
+
+
+ /** returns a sequence of descriptions of all vertical page breaks
+ on the sheet.
+
+ <P>This includes manual and automatic page breaks. To add or
+ remove manual breaks, use the
+ com::sun::star::table::TableRow::IsStartOfNewPage
+ property of the row.</P>
+
+ @returns
+ a sequence of structs containing row page break data.
+ */
+ sequence< com::sun::star::sheet::TablePageBreakData > getRowPageBreaks();
+
+
+ /** removes all manual page breaks on the sheet.
+ */
+ void removeAllManualPageBreaks();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSheetPastable.idl b/offapi/com/sun/star/sheet/XSheetPastable.idl
new file mode 100644
index 000000000..46c30036e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSheetPastable.idl
@@ -0,0 +1,73 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSheetPastable_idl__
+#define __com_sun_star_sheet_XSheetPastable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/table/CellAddress.idl>
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/sheet/PasteOperation.idl>
+#include <com/sun/star/sheet/CellInsertMode.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** represents a sheet into which contents of the clipboard can be pasted.
+
+ @deprecated
+ */
+published interface XSheetPastable: com::sun::star::uno::XInterface
+{
+
+ /** pastes the contents of the clipboard at the specified
+ position on the sheet.
+ */
+ void paste( [in] com::sun::star::table::CellAddress aDestination );
+
+
+ /** pastes the contents of the clipboard at the
+ specified position on the sheet, using the specified format.
+ */
+ void pasteFormat( [in] com::sun::star::table::CellAddress aDestination,
+ [in] string aFormat );
+
+
+ /** pastes clipboard data from a cell range into
+ another cell range.
+
+ <p>The contents of the clipboard must be from a cell range.</p>
+ */
+ void pasteCellRange( [in] com::sun::star::table::CellRangeAddress aDestination,
+ [in] com::sun::star::sheet::PasteOperation nOperation,
+ [in] short nContents,
+ [in] boolean bSkipEmpty,
+ [in] boolean bTranspose,
+ [in] boolean bAsLink,
+ [in] com::sun::star::sheet::CellInsertMode nInsert );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSolver.idl b/offapi/com/sun/star/sheet/XSolver.idl
new file mode 100644
index 000000000..29b9ba011
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSolver.idl
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSolver_idl__
+#define __com_sun_star_sheet_XSolver_idl__
+
+#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
+#include <com/sun/star/sheet/SolverConstraint.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** allows to call a solver for a model that is defined by spreadsheet cells.
+ */
+interface XSolver: com::sun::star::uno::XInterface
+{
+ /// The spreadsheet document that contains the cells.
+ [attribute] XSpreadsheetDocument Document;
+
+ /// The address of the cell that contains the objective value.
+ [attribute] com::sun::star::table::CellAddress Objective;
+
+ /// The addresses of the cells that contain the variables.
+ [attribute] sequence< com::sun::star::table::CellAddress > Variables;
+
+ /// The constraints of the model.
+ [attribute] sequence< SolverConstraint > Constraints;
+
+ /// selects if the objective value is maximized or minimized.
+ [attribute] boolean Maximize;
+
+ /// executes the calculation and tries to find a solution.
+ void solve();
+
+ /// contains `TRUE` if a solution was found.
+ [attribute, readonly] boolean Success;
+
+ /// contains the objective value for the solution, if a solution was found.
+ [attribute, readonly] double ResultValue;
+
+ /** contains the solution's value for each of the variables,
+ if a solution was found.
+ */
+ [attribute, readonly] sequence< double > Solution;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSolverDescription.idl b/offapi/com/sun/star/sheet/XSolverDescription.idl
new file mode 100644
index 000000000..233029db0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSolverDescription.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSolverDescription_idl__
+#define __com_sun_star_sheet_XSolverDescription_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** gives access to user-visible strings for a solver.
+ */
+interface XSolverDescription: com::sun::star::uno::XInterface
+{
+ /** A user-visible name of the component.
+ */
+ [attribute, readonly] string ComponentDescription;
+
+ /** returns a short description for a property in the component's
+ com::sun::star::beans::XPropertySet interface.
+ */
+ string getPropertyDescription( [in] string aPropertyName );
+
+ /** After calling solve, a message describing the status
+ (explaining why no solution was found).
+ */
+ [attribute, readonly] string StatusDescription;
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSpreadsheet.idl b/offapi/com/sun/star/sheet/XSpreadsheet.idl
new file mode 100644
index 000000000..431a0bec4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheet.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSpreadsheet_idl__
+#define __com_sun_star_sheet_XSpreadsheet_idl__
+
+#include <com/sun/star/sheet/XSheetCellRange.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+ published interface XSheetCellCursor;
+
+
+/** provides methods to create a cell range cursor.
+ */
+published interface XSpreadsheet: com::sun::star::sheet::XSheetCellRange
+{
+
+ /** creates a cell cursor including the whole spreadsheet.
+
+ @see com::sun::star::sheet::SheetCellCursor
+ */
+ com::sun::star::sheet::XSheetCellCursor createCursor();
+
+
+ /** creates a cell cursor to travel in the given range context.
+
+ @param aRange
+ the cell range for the cursor.
+
+ @see com::sun::star::sheet::SheetCellCursor
+ */
+ com::sun::star::sheet::XSheetCellCursor createCursorByRange(
+ [in] com::sun::star::sheet::XSheetCellRange aRange );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl b/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl
new file mode 100644
index 000000000..b3f1e3100
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheetDocument.idl
@@ -0,0 +1,50 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSpreadsheetDocument_idl__
+#define __com_sun_star_sheet_XSpreadsheetDocument_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XSpreadsheets.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a collection of spreadsheets.
+
+ @see com::sun::star::sheet::SpreadsheetDocument
+ */
+published interface XSpreadsheetDocument: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of sheets in the document.
+
+ @see com::sun::star::sheet::Spreadsheets
+ */
+ com::sun::star::sheet::XSpreadsheets getSheets();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSpreadsheetView.idl b/offapi/com/sun/star/sheet/XSpreadsheetView.idl
new file mode 100644
index 000000000..bc5aa062a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheetView.idl
@@ -0,0 +1,53 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XSpreadsheetView_idl__
+#define __com_sun_star_sheet_XSpreadsheetView_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sheet/XSpreadsheet.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** is the main interface of a SpreadsheetView. It
+ manages the active sheet within this view.
+ */
+published interface XSpreadsheetView: com::sun::star::uno::XInterface
+{
+
+ /** returns the sheet that is shown in the view.
+ */
+ com::sun::star::sheet::XSpreadsheet getActiveSheet();
+
+
+ /** sets the sheet that is shown in the view.
+ */
+ void setActiveSheet( [in] com::sun::star::sheet::XSpreadsheet xActiveSheet );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSpreadsheets.idl b/offapi/com/sun/star/sheet/XSpreadsheets.idl
new file mode 100644
index 000000000..9f46690b1
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheets.idl
@@ -0,0 +1,78 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSpreadsheets_idl__
+#define __com_sun_star_sheet_XSpreadsheets_idl__
+
+#include <com/sun/star/container/XNameContainer.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to access the spreadsheets by name and to insert,
+ copy, remove and rearrange spreadsheets.
+
+ @see com::sun::star::sheet::Spreadsheets
+ */
+published interface XSpreadsheets: com::sun::star::container::XNameContainer
+{
+
+ /** inserts a new sheet into the collection.
+
+ @param aName
+ the name of the new spreadsheet.
+ @param nPosition
+ the index of the new spreadsheet in the collection.
+ */
+ void insertNewByName( [in] string aName, [in] short nPosition );
+
+
+ /** moves a sheet within the collection.
+
+ @param aName
+ the name of the spreadsheet to move.
+ @param nDestination
+ the new index of the spreadsheet in the collection.
+ */
+ void moveByName( [in] string aName, [in] short nDestination );
+
+
+ /** copies a sheet within the collection.
+
+ @param aName
+ the name of the spreadsheet to copy.
+ @param aCopy
+ the name of the copy of the spreadsheet.
+ @param nDestination
+ the index of the copy in the collection.
+ */
+ void copyByName(
+ [in] string aName,
+ [in] string aCopy,
+ [in] short nDestination );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSpreadsheets2.idl b/offapi/com/sun/star/sheet/XSpreadsheets2.idl
new file mode 100644
index 000000000..16d44768e
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSpreadsheets2.idl
@@ -0,0 +1,59 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XSpreadsheets2_idl__
+#define __com_sun_star_sheet_XSpreadsheets2_idl__
+
+#include <com/sun/star/sheet/XSpreadsheets.idl>
+#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
+#include <com/sun/star/lang/IllegalArgumentException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** extends XSpreadsheets interface to import external sheets.
+
+ @see com::sun::star::sheet::Spreadsheets
+ */
+interface XSpreadsheets2: com::sun::star::sheet::XSpreadsheets
+{
+ /** copies a sheet from a source document.
+
+ @param srcDoc
+ a valid XSpreadsheetDocument reference to source doc
+
+ @param srcName
+ the source sheet name. Throw IllegalArgumentException if not valid
+
+ @param nDestPosition
+ the destination sheet position. Throw IndexOutOfBoundsException if not valid
+
+ @returns the position of the imported sheet
+
+ @throws ::com::sun::star::lang::IllegalArgumentException
+ @throws com::sun::star::lang::IndexOutOfBoundsException
+
+ @since LibreOffice 3.5
+ */
+ long importSheet(
+ [in] com::sun::star::sheet::XSpreadsheetDocument srcDoc,
+ [in] string srcName,
+ [in] long nDestPosition)
+ raises (com::sun::star::lang::IllegalArgumentException,
+ com::sun::star::lang::IndexOutOfBoundsException);
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl b/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl
new file mode 100644
index 000000000..02ff9a52f
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSubTotalCalculatable.idl
@@ -0,0 +1,77 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSubTotalCalculatable_idl__
+#define __com_sun_star_sheet_XSubTotalCalculatable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XSubTotalDescriptor.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** contains methods to handle a subtotal descriptor.
+
+ <p>The subtotal descriptor provides properties to set up the subtotal
+ function.</p>
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SubTotalDescriptor
+ */
+published interface XSubTotalCalculatable: com::sun::star::uno::XInterface
+{
+
+ /** creates a subtotal descriptor.
+
+ @param bEmpty
+ if set to `TRUE`, creates an empty descriptor. If set to
+ `FALSE`, fills the descriptor with previous settings of the
+ current object (i.e. a database range).
+ */
+ com::sun::star::sheet::XSubTotalDescriptor createSubTotalDescriptor(
+ [in] boolean bEmpty );
+
+
+ /** creates subtotals using the settings of the passed descriptor.
+
+ @param xDescriptor
+ the subtotal descriptor with the settings used for the subtotal
+ operation.
+
+ @param bReplace
+ if set to `TRUE`, replaces previous subtotal results.
+ */
+ void applySubTotals(
+ [in] com::sun::star::sheet::XSubTotalDescriptor xDescriptor,
+ [in] boolean bReplace );
+
+
+ /** removes the subtotals from the current object.
+ */
+ void removeSubTotals();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl b/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl
new file mode 100644
index 000000000..e4f7ffe13
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSubTotalDescriptor.idl
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSubTotalDescriptor_idl__
+#define __com_sun_star_sheet_XSubTotalDescriptor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/SubTotalColumn.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the collection of subtotal fields in a subtotal
+ descriptor.
+
+ @see com::sun::star::sheet::SubTotalDescriptor
+ */
+published interface XSubTotalDescriptor: com::sun::star::uno::XInterface
+{
+
+ /** adds a subtotal field definition to the descriptor.
+
+ @param aSubTotalColumns
+ a sequence of all columns used to calculate subtotal values.
+
+ @param nGroupColumn
+ specifies which column of the source range is used to group the
+ contents of the source data.
+ */
+ void addNew(
+ [in] sequence< com::sun::star::sheet::SubTotalColumn > aSubTotalColumns,
+ [in] long nGroupColumn );
+
+
+ /** removes all subtotal field definitions from the descriptor.
+ */
+ void clear();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XSubTotalField.idl b/offapi/com/sun/star/sheet/XSubTotalField.idl
new file mode 100644
index 000000000..21158ccac
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XSubTotalField.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XSubTotalField_idl__
+#define __com_sun_star_sheet_XSubTotalField_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/SubTotalColumn.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to the settings of a field in a subtotal descriptor.
+
+ @see com::sun::star::sheet::SubTotalField
+ @see com::sun::star::sheet::SubTotalDescriptor
+ */
+published interface XSubTotalField: com::sun::star::uno::XInterface
+{
+
+ /** returns the column by which entries are grouped.
+ */
+ long getGroupColumn();
+
+
+ /** sets the column by which entries are grouped.
+ */
+ void setGroupColumn( [in] long nGroupColumn );
+
+
+ /** returns the definitions of which columns should have subtotals
+ added to them.
+ */
+ sequence< com::sun::star::sheet::SubTotalColumn > getSubTotalColumns();
+
+
+ /** sets the definitions of which columns should have subtotals
+ added to them.
+ */
+ void setSubTotalColumns(
+ [in] sequence< com::sun::star::sheet::SubTotalColumn >
+ aSubTotalColumns );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl b/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl
new file mode 100644
index 000000000..e21ca11b0
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XUniqueCellFormatRangesSupplier.idl
@@ -0,0 +1,62 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XUniqueCellFormatRangesSupplier_idl__
+#define __com_sun_star_sheet_XUniqueCellFormatRangesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides access to a collection of collections of equal-formatted
+ cell ranges.
+
+ @see com::sun::star::sheet::SheetCellRange
+ @see com::sun::star::sheet::SheetCellRanges
+ */
+published interface XUniqueCellFormatRangesSupplier: com::sun::star::uno::XInterface
+{
+ /** returns a collection of equal-formatted cell range collections.
+
+ <p>Each cell of the original range is contained in one of the
+ ranges (even unformatted cells). If there is a non-rectangular
+ equal-formatted cell area, it will be split into several
+ rectangular ranges.</p>
+
+ <p>All equal-formatted ranges are consolidated into one collection.
+ These collections are the members contained in a
+ UniqueCellFormatRanges collection.</p>
+
+ @returns
+ the collection of equal-formatted cell range collections.
+
+ @see com::sun::star::sheet::UniqueCellFormatRanges
+ */
+ com::sun::star::container::XIndexAccess getUniqueCellFormatRanges();
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XUnnamedDatabaseRanges.idl b/offapi/com/sun/star/sheet/XUnnamedDatabaseRanges.idl
new file mode 100644
index 000000000..fd51f50cb
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XUnnamedDatabaseRanges.idl
@@ -0,0 +1,45 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_XUnnamedDatabaseRanges_idl__
+#define __com_sun_star_sheet_XUnnamedDatabaseRanges_idl__
+
+#include <com/sun/star/table/CellRangeAddress.idl>
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/NoSuchElementException.idl>
+#include <com/sun/star/lang/IndexOutOfBoundsException.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides functions to manage the sheet local databases
+ * @since LibreOffice 3.5
+ */
+
+interface XUnnamedDatabaseRanges: com::sun::star::uno::XInterface
+ {
+ void setByTable( [in] com::sun::star::table::CellRangeAddress aRange )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ any getByTable( [in] long nTab )
+ raises( com::sun::star::container::NoSuchElementException,
+ com::sun::star::lang::IndexOutOfBoundsException );
+
+ boolean hasByTable ( [in] long nTab )
+ raises( com::sun::star::lang::IndexOutOfBoundsException );
+
+ };
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XUsedAreaCursor.idl b/offapi/com/sun/star/sheet/XUsedAreaCursor.idl
new file mode 100644
index 000000000..9038db4c4
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XUsedAreaCursor.idl
@@ -0,0 +1,64 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XUsedAreaCursor_idl__
+#define __com_sun_star_sheet_XUsedAreaCursor_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to find the used area of the entire sheet.
+
+ <p>The used area is the smallest cell range that contains all cells
+ of the spreadsheet with any contents (values, text, formulas) or
+ visible formatting (borders and background color).</p>
+
+ @see com::sun::star::sheet::SheetCellCursor
+ */
+published interface XUsedAreaCursor: com::sun::star::uno::XInterface
+{
+
+ /** points the cursor to the start of the used area.
+
+ @param bExpand
+ `TRUE` = expands the current cursor range,
+ `FALSE` = sets size of the cursor to a single cell.
+ */
+ void gotoStartOfUsedArea( [in] boolean bExpand );
+
+
+ /** points the cursor to the end of the used area.
+
+ @param bExpand
+ `TRUE` = expands the current cursor range,
+ `FALSE` = sets size of the cursor to a single cell.
+ */
+ void gotoEndOfUsedArea( [in] boolean bExpand );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XViewFreezable.idl b/offapi/com/sun/star/sheet/XViewFreezable.idl
new file mode 100644
index 000000000..2815d028d
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewFreezable.idl
@@ -0,0 +1,61 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XViewFreezable_idl__
+#define __com_sun_star_sheet_XViewFreezable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** enables a SpreadsheetView to freeze
+ columns and rows of the view.
+ */
+published interface XViewFreezable: com::sun::star::uno::XInterface
+{
+
+ /** returns `TRUE` if the view has frozen panes.
+
+ <p>Only one of
+ XViewSplitable::getIsWindowSplit() and
+ XViewFreezable::hasFrozenPanes()
+ can be `TRUE`.</p>
+ */
+ boolean hasFrozenPanes();
+
+
+ /** freezes panes with the specified number of
+ columns and rows.
+
+ <p>To freeze only horizontally, specify nRows as 0.
+ To freeze only vertically, specify nColumns as 0.</p>
+ */
+ void freezeAtPosition( [in] long nColumns,
+ [in] long nRows );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XViewPane.idl b/offapi/com/sun/star/sheet/XViewPane.idl
new file mode 100644
index 000000000..254dab563
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewPane.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XViewPane_idl__
+#define __com_sun_star_sheet_XViewPane_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/table/CellRangeAddress.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** represents a pane in a view of a spreadsheet document.
+
+ @see com::sun::star::sheet::SpreadsheetViewPane
+ */
+published interface XViewPane: com::sun::star::uno::XInterface
+{
+
+ /** returns the first column that is visible in the pane.
+ */
+ long getFirstVisibleColumn();
+
+
+ /** sets the first column that is visible in the pane.
+ */
+ void setFirstVisibleColumn( [in] long nFirstVisibleColumn );
+
+
+ /** returns the first row that is visible in the pane.
+ */
+ long getFirstVisibleRow();
+
+
+ /** sets the first row that is visible in the pane.
+ */
+ void setFirstVisibleRow( [in] long nFirstVisibleRow );
+
+
+ /** returns the address of the cell range that consists of
+ the cells which are visible in the pane.
+ */
+ com::sun::star::table::CellRangeAddress getVisibleRange();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XViewPanesSupplier.idl b/offapi/com/sun/star/sheet/XViewPanesSupplier.idl
new file mode 100644
index 000000000..370262ba9
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewPanesSupplier.idl
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XViewPanesSupplier_idl__
+#define __com_sun_star_sheet_XViewPanesSupplier_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/container/XIndexAccess.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** enables access to the panes in a view.
+
+ @deprecated
+ */
+published interface XViewPanesSupplier: com::sun::star::uno::XInterface
+{
+
+ /** returns the collection of panes in the view.
+ */
+ com::sun::star::container::XIndexAccess getViewPanes();
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XViewSplitable.idl b/offapi/com/sun/star/sheet/XViewSplitable.idl
new file mode 100644
index 000000000..7fe0b799a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XViewSplitable.idl
@@ -0,0 +1,84 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef __com_sun_star_sheet_XViewSplitable_idl__
+#define __com_sun_star_sheet_XViewSplitable_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+
+
+ module com { module sun { module star { module sheet {
+
+
+/** enables a SpreadsheetView to split the view.
+
+ @deprecated
+ */
+published interface XViewSplitable: com::sun::star::uno::XInterface
+{
+
+ /** returns `TRUE` if the view is split
+ into individual panes.
+
+ <p>Only one of
+ XViewSplitable::getIsWindowSplit() and
+ XViewFreezable::hasFrozenPanes()
+ can be `TRUE`.</p>
+ */
+ boolean getIsWindowSplit();
+
+
+ /** returns the horizontal position in pixels where
+ the view is split.
+ */
+ long getSplitHorizontal();
+
+
+ /** returns the vertical position in pixels where
+ the view is split.
+ */
+ long getSplitVertical();
+
+
+ /** returns the column before which the view is split.
+ */
+ long getSplitColumn();
+
+
+ /** returns the row before which the view is split.
+ */
+ long getSplitRow();
+
+
+ /** splits the view at the specified position.
+
+ <p>To split only horizontally, specify <var>nPixelY</var> as 0.
+ To split only vertically, specify <var>nPixelX</var> as 0.</p>
+ */
+ void splitAtPosition( [in] long nPixelX,
+ [in] long nPixelY );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/XVolatileResult.idl b/offapi/com/sun/star/sheet/XVolatileResult.idl
new file mode 100644
index 000000000..b1d36368a
--- /dev/null
+++ b/offapi/com/sun/star/sheet/XVolatileResult.idl
@@ -0,0 +1,56 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#ifndef __com_sun_star_sheet_XVolatileResult_idl__
+#define __com_sun_star_sheet_XVolatileResult_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+#include <com/sun/star/sheet/XResultListener.idl>
+
+
+module com { module sun { module star { module sheet {
+
+
+/** provides methods to handle a volatile function result.
+
+ @see com::sun::star::sheet::VolatileResult
+ @see com::sun::star::sheet::ResultEvent
+ */
+published interface XVolatileResult: com::sun::star::uno::XInterface
+{
+
+ /** adds a listener to be notified when a new value is available.
+ */
+ void addResultListener(
+ [in] com::sun::star::sheet::XResultListener aListener );
+
+
+ /** removes the specified listener.
+ */
+ void removeResultListener(
+ [in] com::sun::star::sheet::XResultListener aListener );
+
+};
+
+
+}; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/opencl/OpenCLDevice.idl b/offapi/com/sun/star/sheet/opencl/OpenCLDevice.idl
new file mode 100644
index 000000000..7cf795f97
--- /dev/null
+++ b/offapi/com/sun/star/sheet/opencl/OpenCLDevice.idl
@@ -0,0 +1,37 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_opencl_OpenCLDevice_idl__
+#define __com_sun_star_sheet_opencl_OpenCLDevice_idl__
+
+module com { module sun { module star { module sheet { module opencl {
+
+struct OpenCLDevice
+{
+ /**
+ * The name of the device as returned by OpenCL
+ */
+ string Name;
+
+ /**
+ * The vendor of the device as returned by OpenCL
+ */
+ string Vendor;
+
+ /**
+ * The driver version as returned by OpenCL
+ */
+ string Driver;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/opencl/OpenCLPlatform.idl b/offapi/com/sun/star/sheet/opencl/OpenCLPlatform.idl
new file mode 100644
index 000000000..bb8a683b8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/opencl/OpenCLPlatform.idl
@@ -0,0 +1,33 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#ifndef __com_sun_star_sheet_opencl_OpenCLPlatform_idl__
+#define __com_sun_star_sheet_opencl_OpenCLPlatform_idl__
+
+#include <com/sun/star/sheet/opencl/OpenCLDevice.idl>
+
+module com { module sun { module star { module sheet { module opencl {
+
+struct OpenCLPlatform
+{
+ /**
+ * The name of the platform as returned by OpenCL
+ */
+ string Name;
+
+ string Vendor;
+
+ sequence< OpenCLDevice > Devices;
+};
+
+}; }; }; }; };
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/sheet/opencl/XOpenCLSelection.idl b/offapi/com/sun/star/sheet/opencl/XOpenCLSelection.idl
new file mode 100644
index 000000000..69374baf8
--- /dev/null
+++ b/offapi/com/sun/star/sheet/opencl/XOpenCLSelection.idl
@@ -0,0 +1,106 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <com/sun/star/sheet/opencl/OpenCLPlatform.idl>
+
+module com { module sun { module star { module sheet { module opencl {
+
+interface XOpenCLSelection : com::sun::star::uno::XInterface
+{
+
+ /**
+ * Returns true if calculation with OpenCL is enabled (at all).
+ * The actual use of OpenCL for a formula is also affected by the
+ * configuration settings specifying whether OpenCL is used for
+ * all opcodes or just for a subset, and the deny- and allowlists
+ * of OpenCL implementations that are in use.
+ */
+ boolean isOpenCLEnabled();
+
+ /**
+ * Enables or disables use of OpenCL for calculations. When using
+ * this API to enable OpenCL the configuration parameters are set
+ * to their built-in default values, not ones read from the
+ * installation of user-specific configuration.
+ */
+ void enableOpenCL( [in] boolean enable );
+
+ /**
+ * Enables automatic OpenCL Device Selection
+ * @param force forces a new evaluation of the best device
+ */
+ void enableAutomaticDeviceSelection( [in] boolean force );
+
+ /**
+ * Disables automatic OpenCL Device Selection
+ */
+ void disableAutomaticDeviceSelection();
+
+ /**
+ * Select the OpenCL device with the given platform and device
+ * number. The platform number corresponds to an index into the
+ * sequence returned by getOpenCLPlatforms, and the device number
+ * corresponds to an index into the sequence of devices in that
+ * platform.
+ */
+ void selectOpenCLDevice( [in] long platform, [in] long device );
+
+ /**
+ * returns the index of the platform of the currently selected
+ * device. This is an index into the sequence that
+ * getOpenCLPlatforms returns in the current instance of
+ * LibreOffice (and not some a priori defined identifier for an
+ * OpenCL platform).
+ */
+ long getPlatformID();
+
+ /**
+ * returns the index of the currently selected device. This is an
+ * index into the sequence of devices in the OpenCLPLatform object
+ * the device is part of in the current instance of LibreOffice
+ * (and not some a priori defined identifier for a specific model
+ * of device accessed through a specific platform).
+ */
+ long getDeviceID();
+
+ /**
+ * lists all OpenCL devices and platforms
+ */
+ sequence< OpenCLPlatform > getOpenCLPlatforms();
+
+ /*
+ * Sets OpenCL to be considered only for formulas that use only a specific subset of opcodes.
+ */
+ void enableOpcodeSubsetTest();
+
+ /*
+ * Sets OpenCL to be considered for formulas regardless of what opcodes they contain.
+ */
+ void disableOpcodeSubsetTest();
+
+ /*
+ * Returns whether OpenCL is considered or not depending on the opcodes a formula uses.
+ */
+ boolean isOpcodeSubsetTested();
+
+ /*
+ * Sets the lower limit on the size of a formula group for OpenCL to be considered. (Sorry, the name is misleading.)
+ */
+ void setFormulaCellNumberLimit( [in] long number );
+
+ /*
+ * Returns the lower limit on the size of a formula group for OpenCL to be considered.
+ */
+ long getFormulaCellNumberLimit();
+
+};
+
+}; }; }; }; };
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */